下面是一个示例的汇编代码,它可以读取一个字符并判断是否是大写字母,如果是,则显示它:
section .data
msg db "Enter a character: "
len equ $-msg
section .bss
char resb 1
section .text
global _start
_start:
; 输出提示信息
mov eax, 4
mov ebx, 1
mov ecx, msg
mov edx, len
int 0x80
; 读取字符
mov eax, 3
mov ebx, 0
mov ecx, char
mov edx, 1
int 0x80
; 检查字符是否为大写字母
cmp byte [char], 'A'
jl not_uppercase
cmp byte [char], 'Z'
jg not_uppercase
; 显示字符
mov eax, 4
mov ebx, 1
mov ecx, char
mov edx, 1
int 0x80
; 退出程序
mov eax, 1
xor ebx, ebx
int 0x80
not_uppercase:
; 退出程序
mov eax, 1
xor ebx, ebx
int 0x80
这个程序首先输出提示信息"Enter a character: "。然后使用系统调用read
读取一个字符,并将其存储在char
变量中。接下来,程序比较字符是否在大写字母的范围内(ASCII码中,大写字母的范围是'A'到'Z')。如果是大写字母,则使用系统调用write
将字符显示出来。最后,程序使用系统调用exit
退出程序。
请注意,这个示例程序使用的是Linux的系统调用。在其他操作系统或汇编器中,可能会有所不同。