程序需求:從鍵盤上輸入一個大寫英文字母,將其轉換成小寫字母並顯示出來,要求輸入其他字符,能夠有出錯提示信息
編程思路:首先需要先定義一個數據段,定義一個變量,在匯編中 定義字符串只能使用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