以下汇编语言错在哪?

1.MOV [SI],34H 2.MOV 45H,AX 3.INC 12 4.MOV [BX],[SI+BP+BUF]原因是什么?
2024-12-29 02:35:41
推荐回答(4个)
回答1:

1.MOV [SI],34H
——[si]是存储器操作数,34h是立即数,两个操作数类型都不明确
可以这样修改:
mov [si],byte ptr 34h;或者word ptr等也可以
2.MOV 45H,AX
——目标操作数不能是立即数
3.INC 12
——inc是单操作数指令,将操作数的内容加一再放回去。很显然,inc指令后面的操作数应该是目标操作数,同样,目标操作数不能是立即数。
4.MOV [BX],[SI+BP+BUF]
——双操作数指令两个操作数不能同时为存储器操作数

回答2:

2.立即数不能作为目的操作数。3.没有操作数。4.两个存储器之间不能直接传送数据。第一个我感觉没有错误

回答3:

1.需要指明操作的类型(字或字节)
2.目的操作数不能是立即数
3.同2
4.2个操作数不能同为存储器寻址

回答4:

4,. 必须一个为寄存器寻址