程序需求:从键盘上输入一个大写英文字母,将其转换成小写字母并显示出来,要求输入其他字符,能够有出错提示信息

编程思路:首先需要先定义一个数据段,定义一个变量,在汇编中 定义字符串只能使用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