使用循环loop遇到一些问题
在小甲鱼的视频中,他用notepad++编写(部分代码)s: mov ax,0
mov bx,
inc ax
loop s
为何我直接在debug中没法用变量 mov bx, ,只能直接引用偏移地址 mov bx, ?
我想让程序连续访问偏移地址里的字单元怎么办?(在debug中编写)(下了一个masm没法用,顺便求一个win10x64的masm.exe&link.exe){:9_237:} 本帖最后由 ultralqxq 于 2015-12-18 12:02 编辑
因为在16位汇编里,间接寄存器寻址方式只允许以下4个寄存器:SI DI BX BP。
而你用的是AX,所以是无法使用的。
顺带一提:在win32汇编里,间接寻址不再有这个限制,8个通用寄存器都可以使用间接寻址了。
我废话多。。多提一点:BP一般是用来操作堆栈上的数据寻址。所以其他地方一般不要使用它,保留给操作堆栈时使用。 ultralqxq 发表于 2015-12-18 12:00
因为在16位汇编里,间接寄存器寻址方式只允许以下4个寄存器:SI DI BX BP。
而你用的是AX,所以是无法使用 ...
非常感谢,不过间接寄存器还没学到,但还是谢谢你的回答! 非常感谢楼主
页:
[1]