Обучение сборке NASM в 32-битном Ubuntu. Я несколько смутился:Почему я не могу напечатать постоянное число в сборке NASM?
В .bss
, я оставляю байт для переменной:
num resb 1
Позже я решил дать ему значение 5
:
mov byte [num],5
И в какой-то момент печати Вне этого:
mov EAX,4
mov EBX,0
mov ECX,num
add ECX,'0' ; From decimal to ASCII
mov EDX,1
int 0x80
Но это ничего не печатает.
Я предполагаю, что проблема в том, что я даю num
его значение 5
. Изначально я хотел сделать это:
mov byte num,5
Как я думал, что num
относится к положению в памяти, и так mov
скопируют 5
в такое положение. Но я получил ошибку говоря
недопустимое сочетание опкодом и операнды
Так в основном, почему программа не печатает 5? И также, почему мое предложение было выше недействительным?