回来我的爱歌词:汇编高手进,如能解答,加N分。。。

来源:百度文库 编辑:高校问答 时间:2024/05/09 14:29:06
12. 变量DATAX和DATAY定义如下:
DATAX DW 0148H
DW 2316H
DATAY DW 0237H
DW 4052H
按下述要求写出指令序列:
(1) DATAX和DATAY两个字数据相加,和存放在DATAY中.
(2)DATAX和DATAY中的两个双字数据相加, 和存放在DATAY开始的字单元中。
(3)DATAX和DATAY两个字数据相乘(用MUL)。
(4)DATAX和DATAY两个双字数据相乘(用MUL)。
(5)DATAX除以23(用DIV)。
(6)DATAX双字除以字DATAY(用DIV)。

我不只是要答案,我要完整的程序,包括输出。
我的CPU是32位的~

这个跟CPU没关系.
我的机子CPU是64位的,学校的是32位的,历史上还有16位的机子呢.同样的汇编程序都可以执行,结果也是一样的.只要你用的汇编的编译器是 masm 就行.

不同的CPU有不同的汇编语言!先要说明你的CPU的型号。

mov ax,datax
add ax,datay
mov datay,ax

答案:
(1)
mov ax,datax
add ax,datay
mov datay,ax
(2)
MOV AX, DATAX
ADD DATAY, AX
MOV AX, DATAX+2
ADC DATAY+2, AX
(3)
MOV AX, DATAX
MUL DATAY
MOV DATAY,AX
MOV DATAY+2,DX
(4)
MOV AX,WORD PTR DATAX
MOV BX,WORD PTR DATAY
MUL BX
MOV RESULT,AX
MOV RESULT+2,DX
MOV AX,WORD PTR DATAX
MOV BX,WORD PTR DATAY+2
MUL BX
ADD RESULT+2,AX
ADC RESULT+4,DX
MOV AX,WORD PTR DATAX+2
MOV BX,WORD PTR DATAY
MUL BX
ADD RESULT+4,AX
ADC RESULT+6,DX
MOV AX,WORD PTR DATAX+2
MOV BX,WORD PTR DATAY+2
MUL BX
ADD RESULT+6,AX
ADC RESULT+8,DX
(5)
MOV AX, DATAX
MOV BL, 23
DIV BL
MOV BL,AH
MOV AH, 0
MOV DATAY, AX ;存放商
MOV AL,BL
MOV DATAY+2, AX ;存放余数
(6)
MOV AX, DATAX
MOV DX, DATAX+2
DIV DATAY
MOV DATAY, AX
MOV DATAY+2, DX