DATA SEGMENT
X DD 12345678H
Y DD 23458593H
Z DD 32847040H
W DD ?
DATA SEGMENT
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA
MOV DS,AX
MOV AX,Y
MOV DX,Y+2
SUB AX,Z
SBB DX,Z+2
ADD AX,X
ADC DX,X+2
MOV W,AX
MOV W+2,DX
MOV AH,4CH
INT 21H
CODE ENDS
END START
------解决方案--------------------------------------------------------
- Assembly code
DATA SEGMENT X DD 12345678H Y DD 23458593H Z DD 32847040H W DD ?;DATA SEGMENTDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV AX,word ptr Y MOV DX,word ptr Y+2 SUB AX,word ptr Z SBB DX,word ptr Z+2 ADD AX,word ptr X ADC DX,word ptr X+2 MOV word ptr W, AX MOV word ptr W+2,DX MOV AH,4CH INT 21HCODE ENDS END START
------解决方案--------------------------------------------------------
程序看起来没错,具体是什么问题?
------解决方案--------------------------------------------------------
一.DATA没段结束伪指令(粗心大意).
二.变量在被定义成DWORD后用引用变量名的方式来进行非DWORD(传送)操作应加类型属性限定操作符进行限定.
------解决方案--------------------------------------------------------
为什么要写的这么复杂哦,定义成DD类型的,可以用EAX,ECX,EDX,EBX来计算,就不需要赋值两次了