⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 juzhencheng.txt

📁 用汇编编写的矩阵乘源代码
💻 TXT
字号:
DATA SEGMENT;数据段定义 
INFORMATION DB "Please enter the matrix1!The array is 3*3!$" ;提示说明 
SPACE DB 0DH,0AH,"$" ;换行 
MATRIX1 DB 9 DUP(?),"$" ;矩阵1 
MATRIX2 DB 9 DUP(?),"$" ;矩阵2 
RESULT DB 9 DUP(0),"$" ;矩阵相乘结果 
M1 DB 0DH,0AH,"The array1:$" ;提示信息 
M2 DB 0DH,0AH,"The array2:$" 
M3 DB 0DH,0AH,"Array1*Array2:$" 
DATA ENDS 

CODE SEGMENT;定义代码段 
ASSUME CS:CODE,DS:DATA 
MAIN PROC FAR 
MOV AX,DATA ;置DS段初值 
MOV DS,AX 
LEA DX,INFORMATION ;取信息提示地址偏移量 
MOV AH,9 ;9号功能调用显示提示信息 
INT 21H 
LEA DX,SPACE;换行 
MOV AH,9 ;9号功能调用显示提示信息 
INT 21H 

LEA DX,M1;提示输入矩阵1 
MOV AH,9 
INT 21H 

MOV CX,09H 
MOV BX,OFFSET MATRIX1;取矩阵1的偏移地址 
INPUT1: 
MOV AH,1 
INT 21H;1号功能调用,用来输入数组数值 
MOV [BX],AL 
INC BX 
LOOP INPUT1 

LEA DX,M2 ;提示输入矩阵2 
MOV AH,9 
INT 21H 

MOV CX,09H 
MOV BX,OFFSET MATRIX2 ;取矩阵2的偏移地址 
INPUT2: 
MOV AH,1 
INT 21H ;1号功能调用,用来输入数组数值 
MOV [BX],AL 
INC BX 
LOOP INPUT2 

MOV CX,3;设置循环次数 
MOV BP,OFFSET RESULT 
MOV SI,OFFSET MATRIX1 

NEXT: 
PUSH CX 
XOR AX,AX 
MOV DI,OFFSET MATRIX2 
MOV CX,3;设置循环次数 

NEXT1: 
PUSH CX 
XOR AX,AX 
MOV CX,3;设置循环次数 

AGAIN: 
MOV AL,[SI] ;取矩阵1的偏移地址 
SUB AL,30H;字符转换成数字 
MOV BL,[DI] ;取矩阵2的偏移地址 
SUB BL,30H;字符转换成数字 
IMUL BL ;矩阵1的行和矩阵2的列相乘 
ADD DS:[BP],Al 
INC SI 
ADD DI,3 
LOOP AGAIN 
ADD BYTE PTR DS:[BP],30H;数字转换成字符 
SUB SI,3 
SUB DI,8 
INC BP 
POP CX 
LOOP NEXT1 

ADD SI,3 
POP CX 
LOOP NEXT 

LEA DX,M1;显示矩阵信息以及相乘后的结果 
MOV AH,9 
INT 21H 

LEA DX,MATRIX1 
MOV AH,9 
INT 21H 

LEA DX,M2 
MOV AH,9 
INT 21H 

LEA DX,MATRIX2 
MOV AH,9 
INT 21H 

LEA DX,M3 
MOV AH,9 
INT 21H 

LEA DX,RESULT 
MOV AH,9 
INT 21H 

MOV AH,1 
INT 21H 

MOV AH,4CH 
INT 21H 
MAIN ENDP 
CODE ENDS 
END MAIN

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -