section .data
prompt db "请输入一个数字: ", 0
newline db 10, 0
section .bss
number resb 4
section .text
global _start
_start:
; 输出提示
mov eax, 4 ; 系统调用号 (sys_write)
mov ebx, 1 ; 文件描述符 (stdout)
mov ecx, prompt ; 缓存地址
mov edx, 17 ; 缓存长度
int 0x80 ; 调用内核
; 读取输入
mov eax, 3 ; 系统调用号 (sys_read)
mov ebx, 0 ; 文件描述符 (stdin)
mov ecx, number ; 缓存地址
mov edx, 4 ; 缓存长度
int 0x80 ; 调用内核
; 输出换行符
mov eax, 4 ; 系统调用号 (sys_write)
mov ebx, 1 ; 文件描述符 (stdout)
mov ecx, newline ; 缓存地址
mov edx, 1 ; 缓存长度
int 0x80 ; 调用内核
; 输出数字
mov eax, 4 ; 系统调用号 (sys_write)
mov ebx, 1 ; 文件描述符 (stdout)
mov ecx, number ; 缓存地址
mov edx, 4 ; 缓存长度
int 0x80 ; 调用内核
; 退出程序
mov eax, 1 ; 系统调用号 (sys_exit)
xor ebx, ebx ; 返回码 0
int 0x80 ; 调用内核