在DOS程序集中我们可以这样做:
mov dl, 41h
mov ah, 02h
int 21h
但是Linux nasm x86汇编怎么样?
解决方法:
section .data
msg db 'H'
len equ $- msg
section .text
global _start
_start:
mov edx,len
mov ecx,msg
mov ebx,1 ;file descriptor (stdout)
mov eax,4 ;system call number (sys_write)
int 0x80
mov eax,1 ;system call number (sys_exit)
int 0x80
写入单个字符可能无法产生所需的输出,因为根据终端设置,它可能会被缓存,因此您可能需要刷新输出,以确保它出现在您写入的任何位置.
这是linux 32 Bit system calls的清单.