我正在尝试学习一些汇编代码;特别是如何使用堆栈以及它是如何工作的等等。但是,当我使用下面的代码时,我遇到了一个错误:
entry:
push 0x42
call teststack
jmp hang
hang:
jmp hang
teststack:
mov ah, 0x0e
pop al
mov bh, 0x00
mov bl, 0x04
mov cx, 0x01
int 10h
ret
我要做的是将数字 42(生命,宇宙,一切:D)传递到我的测试堆栈程序中,它将打印 Ascii 0x42(我认为是大写 B)。我的问题是编译器错误,对于读取pop al的行:
**error: invalid combination of opcode and operands**
我在 Windows 98 虚拟机中使用 NASM。对我的错误的任何帮助将不胜感激。