在程序集中添加两个变量

时间:2016-02-26 07:44:20

标签: assembly x86 masm irvine32

我在Assembler MASM中有下一个程序, 我对Assembler MASM的总和记录有疑问

 TITLE Suma variables
 INCLUDE Irvine32.inc
 .data
 a dword 10000h
 b dword 40000h
 valorFinal dword ?
.code
 main PROC
       mov eax,a ; empieza con 10000h
       add eax,b ; suma 40000h
       mov valorFinal,eax ; 
      call DumpRegs
      exit
 main ENDP
 END main

我的问题是当我使用add with b时,我只添加变量的值,或者我在内存中添加值和地址,因为我明白要获取特定值必须包含在[ ]

1 个答案:

答案 0 :(得分:5)

  

因为我知道要获取特定值必须包含在[]

在NASM语法中,您需要括号 在MASM / TASM语法中,您不需要add eax,badd eax,[b]相同(假设b是标签,而不是b EQU 42)。

如果您想将b的地址添加到MASM / TASM语法eax中,您可以写一下:

add eax, offset b