我正在使用 emu8086 在 8086 游戏中编写一个循环,并且我想迭代单词值,而不是像这样声明的数组的字节;
player_fire dw 320 dup(0)
; ...
mov bx, offset player_fire
mov cx, 320
fire_loop:
mov ax, [bx+si]
inc si
loop fire_loop
但我知道这是错误的。我在写入第 i 个元素时也遇到问题,是否应该使用 bx + si 还是 bx + (2*si) 引用它?
第 i 个元素位于 [base + 2*register]。
然而,它不能直接写在 80386 寻址模式之前。在 8086+ 上,您可以使用以下命令执行此操作:
fire_loop:
mov ax,[bx+si]
add si, 2
loop fire_loop
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)