程序需求:从键盘上输入一个大写英文字母,将其转换成小写字母并显示出来,要求输入其他字符,能够有出错提示信息
编程思路:首先需要先定义一个数据段,定义一个变量,在汇编中 定义字符串只能使用db 以$作为结束标志
将段地址和偏移地址都赋值,因为要进行键盘的输入 所以 程序需要调用dos系统 01H的作用是接收从键盘上输入的一个
字符,并在屏幕上显示,将接收的到值和al 和 A和 Z 进行比较 如果不在这个范围 就跳转到mess 否则的话 将大写字母转换成小写字母,大写转换成小写是加上32,转换成16进制就是 加上20H 再次调用int 21h,在此之前将02H功能号 显示单个字符,所以程序执行到这里,就会显示出转换成的小写字母。
;从键盘上输入一个大写英文字母,将其转换成小写字母并显示出来,要求输入其他字符,能够有出错提示信息
data segment
mess db:'inpup error!',0ah,0dh,'$';0ah 换行 0dh回车 $汇编中以$做结束标志
data ends
code segment
assume ds:data,cs:code
start:mov ax,data
mov ds,ax
mov ah,01h
int 21h
cmp al,'A'
jb err
cmp al,'z'
ja err
add al,20h
mov dl,al
mov ah,02h
int 21h
jmp exit
err:mov dx,offset mess
mov ah,09h
int 21h
exit:mov ah,02h
int 21h
code ends
end start