我已经受够了。我一直在尝试掌握汇编语言,但感觉自己只是在为编译器而不是为语言编码。
我一直在使用这个教程,但到目前为止,它给了我很大的困扰。我正在使用NASM,可能是问题所在,但我想这是最流行的汇编器。我只是想学习最通用的汇编语言形式,所以我决定学习x86。然而,我不断遇到愚蠢的错误,例如无法递增变量。这是最新的一个例子:无法使用div指令。
mov bx, 0;
mov cx, 0;
jmp start;
start:
inc cx;
mov ax, cx;
div 3; <-- invalid combination of opcode and operand
cmp ah,0;
jz totalvalue;
mov ax, cx;
div 5; <-- invalid combination of opcode and operand
cmp ah, 0;
jz totalvalue;
cmp cx, 1000;
jz end;
totalvalue:
add bx,cx;
jmp start;
jmp end;
end:
mov ah,4ch;
mov al,00;
int 21h;
我应该更换编译器吗?似乎除法应该是标准的。我需要阅读两个教程(一个关于NASM,一个关于x86)吗?对于这个问题有什么具体的帮助?