我对在Linux环境下x86汇编中的值如何打印感到困惑。
例如,如果我想打印一个值,我会这样做:
mov eax, 4
mov ebx, 1
mov ecx, msg
mov edx msgLength
int 80h
现在我明白数值4会在中断后调用sys_write的意义。但我的问题是,数字4有何意义?它是将十进制值4的地址加载到eax吗?还是将值4加载到eax寄存器中?
读完"我可以使用以下指令将地址处的值传输到寄存器"一段后,我感到困惑。
mov eax, [msg]
eax
现在将包含msg
地址处的字节,但我猜测这种格式不被接受:
mov eax, [4]
当我将4存入eax以打印某些内容时,实际上发生了什么?