Assembly Q:算术和逻辑指令x86

Assembly Q:算术和逻辑指令x86,assembly,x86,masm,Assembly,X86,Masm,我是汇编语言x86的新手。我确实学习了汇编语言的基础知识,但在算术和逻辑指令方面仍然存在一些问题,因为这个问题,我使用MASM汇编程序 Q) Given a 64-bit word stored at address N1 a- Declare the variable b- Increment the value of N1 c- Negate the value of N1 我想到的第一件事是如何声明变量N1? 是这样吗?还是我做错了 N1 DW 4 Dup 如果有人能帮我解决这个问题,我

我是汇编语言x86的新手。我确实学习了汇编语言的基础知识,但在算术和逻辑指令方面仍然存在一些问题,因为这个问题,我使用MASM汇编程序

Q) Given a 64-bit word stored at address N1
a- Declare the variable
b- Increment the value of N1
c- Negate the value of N1
我想到的第一件事是如何声明变量N1? 是这样吗?还是我做错了

N1 DW 4 Dup

如果有人能帮我解决这个问题,我将不胜感激

Q) 给定一个存储在地址N1的64位字

地址可以像这样用
eq
设置

N1 equ 00007c00h
a-声明变量

首先,使用
ORG
指令设置变量的偏移量,然后使用
DQ
声明它,这意味着四字(64位)

b-增加N1的值

.code
部分中,使用

inc var1
c-对N1的值求反

之后,仍然在
.code
部分中,使用

neg var1

就这样。

这取决于您的汇编程序,但即使有点奇怪,也可以工作。通常,您会使用该指令初始化单个64位数量,这通常是
DQ
Q
表示四字)。另外,由于要对它进行操作,所以应该给它一些初始值,而不要使用未定义的
。@Jester我使用86汇编程序,它必须是DW 16位。什么是“86汇编程序”?是用“86”汇编代码的程序名?我们需要知道实际的汇编程序,因为指令依赖于此。仅仅因为您处于16位环境中,并不意味着您不能初始化64位数据。无论如何,如果这能让你更快乐的话,你可以继续使用你的四个词。看,指令。谢谢,这很有帮助。
neg var1