如何将值从 .data 移动到 NASM 中的寄存器?

How to move value from .data to register in NASM?

我是汇编语言的初学者。我尝试将两个数字相乘。

section .data
a dw 1;
b dw 2;
global _start 

section .text
_start:
mov eax, [a];
mov ebx, [b];
movv:
mul ebx;
mull:

mov eax, 1;
mov ebx, 0;
int 80h;

我使用以下命令编译并运行它:nasm -g -f elf pr1.s && ld -m elf_i386 pr1.o -o pr1 && gdb ./pr1
当我在 gdb 中查看寄存器 eax 值时,我得到 131073 和 ebx 65538
为什么我得到这个值而不是 1 和 2?

在评论中,Michael 回答了我的问题,将 dw 更改为 dd 解决了问题。