Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
嗨,有人可以帮我解决这个问题吗?我是汇编级编程的新手。
在我的 alp 代码中,我用代码定义了一个字节:
count db 0
在程序的另一部分中,我试图将值提取到 ah 寄存器中,并像这样向其添加 1:
mov ah,count add ah,1
现在,如何使用ah寄存器中的新值和递增值更新count识别的内存位置,以便我可以将其用作循环或任何其他目的的计数器?
mov ah, count行不通。在 Nasm 语法中,这会尝试将地址移动count到 ah... 中,但它不适合。你想要“[内容]”。
mov ah, count
count
mov ah, [count] inc ah mov [count], ah
你也可以...
inc byte [count] ; and perhaps... cmp byte [count], MAXCOUNT jb looptop
(当然,使用MAXCOUNT和looptop定义)使用寄存器比使用内存要快,但您也可以这样做。正如 Mat 建议的那样,不要犹豫“尝试一下”!
MAXCOUNT
looptop