题目
汇编语言编写如下程序:
利用单字节的乘法指令,将(R2R3)和(R6R7)中双字节无符号整数相乘,并把结果送到R4R5R6R7中。在R2R3和R6R7中输入无符号整数 (十进制数11,22分别送R3,R7),断点或单步运行本实验程序后检查R4R5R6R7中内容(十进制数11*22=242,转成十六进制即为F2)。
代码
用masm运行下面代码:
DATAS SEGMENT
;此处输入数据段代码
ORG 0030H
R2 DW 0
R3 DW 11
R4 DW 0
R5 DW 0
R6 DW 0
R7 DW 22
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
MOV AX, R3
MOV BX, R7
MUL BX
XCHG AX, R7
MOV R5, BX
MOV BX, R2
MUL BX
ADD AX, R5
MOV R4, AX
XOR AX, AX
ADC AX, BX
MOV R5, AX
MOV AX, R6
MOV BX, R3