编辑代码

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            ; 调用内核