Assembly 在程序集级编程中用db定义字节后增加一个值

Assembly 在程序集级编程中用db定义字节后增加一个值,assembly,nasm,Assembly,Nasm,嗨,有人能帮我解决这个问题吗?我不熟悉汇编级编程 在我的alp代码中,我用代码定义了一个字节: count db 0 在程序的另一部分中,我尝试将值提取到ah寄存器中,并向其中添加1,如下所示: mov ah,count add ah,1 现在,如何使用ah寄存器中新的递增值更新count识别的内存位置,以便将其用作循环计数器或任何其他用途?mov-ah,count不起作用。在Nasm语法中,这将尝试将count的地址移动到ah。。。而且它不合适。您需要“[contents]” 你也可以 i

嗨,有人能帮我解决这个问题吗?我不熟悉汇编级编程

在我的alp代码中,我用代码定义了一个字节:

count db 0
在程序的另一部分中,我尝试将值提取到ah寄存器中,并向其中添加1,如下所示:

mov ah,count
add ah,1

现在,如何使用ah寄存器中新的递增值更新count识别的内存位置,以便将其用作循环计数器或任何其他用途?

mov-ah,count
不起作用。在Nasm语法中,这将尝试将
count
的地址移动到ah。。。而且它不合适。您需要“[contents]”

你也可以

inc byte [count]
; and perhaps...
cmp byte [count], MAXCOUNT
jb looptop

(当然,在定义了
MAXCOUNT
looptop
的情况下)使用寄存器比使用内存更快,但您可以任意选择。正如Mat所建议的,不要犹豫“尝试一下”

你就不能把它放回去吗?mov是那样工作的吗?我的意思是mov注册名称、记忆和位置有用吗?谢谢,我会查出来的!对那正是我要找的!非常感谢!我不知道,字节地址必须包含在[]中才能获取实际内容/值!
inc byte [count]
; and perhaps...
cmp byte [count], MAXCOUNT
jb looptop