编写一汇编程序,从键盘输入一组字符,直到输入“0”为止,当输入是小写字母时,则修改为大写字母,输入的字符存放在string为首址的存储单元中。
时间: 2023-03-02 19:18:12 浏览: 203
以下是一份汇编程序的示例,实现了题目中的要求:
```
section .data
string db 0 ;存储输入的字符
section .bss
len equ $-string ;统计输入的字符个数
section .text
global _start
_start:
mov ecx, 0 ;初始化计数器
input:
mov eax, 3 ;读入一个字符
mov ebx, 0 ;文件号,0表示键盘
mov edx, 1 ;读入一个字符
int 0x80 ;执行系统调用
cmp al, '0' ;判断是否输入了'0'
je done ;如果是,则结束程序
cmp al, 'a' ;判断是否是小写字母
jl change ;如果是,则转换为大写字母
jmp store ;否则直接存储
change:
sub al, 32 ;将小写字母转换为大写字母
store:
mov [string+ecx], al ;将字符存入数组
inc ecx ;计数器自增
jmp input ;继续读入字符
done:
mov eax, 4 ;输出字符串
mov ebx, 1 ;文件号,1表示标准输出
mov edx, len ;输出字符串长度
int 0x80 ;执行系统调用
mov eax, 1 ;结束程序
xor ebx, ebx ;返回值为0
int 0x80 ;执行系统调用
```
请注意,这仅仅是一份示例代码,它可能不适用于所有的操作系统和硬件环境。
阅读全文