主题:那位高手帮我看一下这几条指令错在那里?
dlxhs
[专家分:0] 发布于 2007-06-12 15:38:00
那位高手帮我看一下这几条指令错(说明是不匹配或者是目的操作数不能是存储器之类的)在那里?刚学汇编感觉很难
mov [sp],ax
mov ax,bx+di
mov 20h,ah
谢谢!
最后更新于:2007-06-16 12:23:00
回复列表 (共5个回复)
沙发
boys236 [专家分:10] 发布于 2007-06-12 18:25:00
mov [sp],ax
mov ax,bx+di
mov 20h,ah
应该是:mov ah,20h吧
板凳
dlxhs [专家分:0] 发布于 2007-06-14 18:55:00
三条都有错,我不懂它错在那里.想问问高手
3 楼
塞北江南 [专家分:1350] 发布于 2007-06-15 08:38:00
mov [sp],ax 可改为:MOV [BP],AX
mov ax,bx+di 可改为:MOV AX,[BX+DI]
mov 20h,ah 改为:MOV AH,20H
4 楼
dlxhs [专家分:0] 发布于 2007-06-16 12:27:00
为什么mov ax,bx+di不行呢?还有mov [sp],ax 。
mov 20h,ah这条我已经知道目的操作数不能为立即数。我在论坛里搜了很久都没有发现这样的问题所以想请高手解析一下上面两条的原因。多谢了。
5 楼
塞北江南 [专家分:1350] 发布于 2007-06-16 13:10:00
mov ax,bx+di;这里的bx+di两个寄存器不能直接相加,只有存储器寻址时才可以相加
mov [sp],ax ;sp是堆栈指针,不允许用来间接寻址,可以用bp寄存器来间接寻址
我来回复