话不多说直接上代码,具体怎么运行查看我的第一篇汇编博客https://blog.csdn.net/zhaowei198311/article/details/108341347
# 新建一个print.asm 文件
vim print.asm
# 具体指令如下
global main
section .data
query_string : db "输入一个字符: "
query_string_len : equ $ - query_string
out_string : db "你输入的字符是: "
out_string_len : equ $ - out_string
section .bss
in_char : resw 20
section .text
main:
mov rax, 1 ;syscall need this parameter, diaplay write
mov rdi, 1 ; stdout
mov rsi, query_string ; syscall invoke return rsi to get string
mov rdx, query_string_len ; get the string length from rdx
syscall
mov rax, 0 ;read
mov rdi, 0 ;stdin
mov rsi, in_char
mov rdx, 2
syscall
mov rax, 1
mov rdi, 1
mov rsi, out_string
mov rdx, out_string_len
syscall
mov rax, 1
mov rdi, 1
mov rsi, in_char
mov rdx, 2
syscall
mov rax, 1
mov rdi, 1
mov rsi, out_string
mov rdx, out_string_len
syscall
mov rax, 1
mov rdi, 1
mov rsi, in_char
mov rdx, 2
syscall
mov rax, 60
mov rdi, 0
syscall
运行结果: