《汇编语言程序设计》课程设计题目:题目四—数的处理三专业: 计算机科学与技术学号: 201221034013 姓名: 江玲微 2013-2014 (1) 了解并掌握汇编语言设计的一般方法,具备初步的独立分析和设计能力; (2) 掌握显示输出、键盘输入 DOS 功能调用的使用方法; (3) 学习汇编程序的总体设计与应用方法。 4*4 的矩阵。要求: (1) 每个元素都是 4 位的十进制数。(2) 在屏幕上输出该矩阵和它的转置矩阵。(3) 输出这两个矩阵的和( 对应元素相加)。三. 程序设计原理(1) 输入矩阵的方法:调用输入一个四位数的子程序 INPUT ,并用一个内外循环使输入的一串数字以矩阵的形式显示,并将矩阵保存在 matrix1 单元中。子程序 INPUT 描述: A. 保护寄存器,并将 AX 清零,防止影响下一个输入的数; B. 设置循环次数,输入一个字符,并判断是否是数字,是则继续新输入; C. 循环输入四个数字, 并将输入的四个数字转换成数字, 并保存在 C1 中; D. 恢复寄存器。(2 )输出矩阵的方法:设置指针 SI 指向 matrix1 单元的首地址, 后调用子程序 OUTPUT 输出矩阵。子程序 OUTPUT 描述: A. 设置输出的行数和列数; matrix1 单元中的内容即[SI] 中的内容送给 AX , 后调用子程序 SC 显示一个十进制数。 C. 显示一个空格,调整指针指向下一个数; D. 列输入结束,行输入结束。子程序 SC 描述: AX 依次除以 10000 ,若商为 0 ,说明输出的是四位的十进制数,就跳至显示空格并继续将余数除以 1000 、 100 、 10 并将商和最后的余数依次输出; B. 若商不是零则依次将余数除以 1000 、 100 、 10 并将商和最后的余数依次输出。(3 )矩阵转置的方法:运用传送字符串的方法先将 matrix1 单元中的内容依次送到 matrix 2 单元中,后调用子程序 ZH 将 matrix2 中的内容进行转置。子程序 ZH 描述: 对角线上的数无需进行交换, 第一行和第一列只要交换三个数字, 第二行和第二列只要交换两个数字, 第三行和第三列只要交换一个数字, 总共交换三次即可。 A. 保护寄存器,设置外循环次数 3; B. 设置 BX 、 SI、 DI 、的初始值,并设置内循环次数 DX ; C. 交换相应位置的数字,先判断内循环是否结束; D. 判断外循环是否结束,恢复寄存器。(4) 显示转置矩阵:将SI 清零, 将指针SI指向 matrix 2 单元的首地址, 后调用子程序 OUTPU T 即可显示转置矩阵。子程序 OUTPUT 的描述在( 3 )中。(5) 矩阵相加: 将指针 SI 指向 matrix1 单元的首地址, 将指针 DI 指向 matrix2 单元的首地址,调用子程序 ADDUP 进行矩阵相加,并将相加后的结果保存到 matrix3 单元中。子程序 ADDUP 描述: A. 保护寄存器,并将 DX 清零,设置循环次数 16; matrix1 单元中的内容存到 AX 中,将 matrix2 单元中的内容存到 BX 中, 把相加后的结果保存到 AX 中, 并送到 matrix3 单元中, 依次循环 16次; D. 恢复寄存器。(6 )输出相加后的矩阵:将指针 SI 清零并指向 matrix3 单元的首地址,后调用子程序 OUTPUT 即可。: 子程序 INPUT: 子程序 ZH: 子程序 OUTPUT : 子程序 ADDUP: 子程序 ZH: DATA SEGMENT STR DB 'please input the 4*4 matrix :','$' ; 提示输入矩阵 STR1 DB 0DH,0AH,'the original matrix:','$' ; 提示输出原矩阵 STR2 DB 0DH,0AH,'the transposed matrix:','$' ; 提示输出转置矩阵 STR3 DB 0DH,0AH,'the answer is:','$' ; 提示输出矩阵相加的和 C1 DW0 C2 DW 10 N EQU 4 matrix1 DW 16 DUP(?) ; 定义存储原矩阵的空间 matrix2 DW 16 DUP(?) ; 定义存储转置矩阵的空间 matrix3 DW 16 DUP(?) ; 定义存储相加后的矩阵的空间 DATA ENDS enter MACRO ; 编写回车换行的宏, 便于后面调用 MOV AH,02H MOV DL,10 INT 21H MOV DL,13 INT 21H ENDM CL
集美大学汇编课程设计报告要点 来自淘豆网m.daumloan.com转载请标明出处.