8086汇编将小写字母转换为大写字母(含提示信息,无限循环,按“!”退出程序)
Posted u25th_engineer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了8086汇编将小写字母转换为大写字母(含提示信息,无限循环,按“!”退出程序)相关的知识,希望对你有一定的参考价值。
图 1 运行示意图
stack segment stack
db 512 dup(?)
stack ends
data segment
prompt_1 db 'enter the lower case letter(enter ! to quit the program!) : $'
prompt_2 db 0dh,0ah,'the upper case letter is : $'
prompt_3 db 0dh,0ah,'bye! $'
data ends
code segment
assume cs:code, ds: data, ss: stack
start:
mov ax, stack
mov ss, ax
mov ax, data
mov ds, ax
call far ptr main
main proc far
l1:
mov ax, data ; initialize ds
mov ds, ax
lea dx, prompt_1 ; load and print prompt_1
mov ah, 9
int 21h
call linefeed
mov ah, 1 ; read a letter
int 21h
cmp al, '!'
je done ; enter '!' to quit!
mov bl, al ; save the letter in bl
lea dx, prompt_2 ; load and print prompt_2
mov ah, 9
int 21h
call linefeed
and bl, 0dfh ; convert a lower case letter to upper
; case letter
mov ah, 2 ; print the lower case letter
mov dl, bl
int 21h
call linefeed
jmp l1
main endp
linefeed proc
push ax
push dx
mov dl, 0dh
mov ah, 2
int 21h
mov dl, 0ah
mov ah, 2
int 21h
pop dx
pop ax
ret
linefeed endp
jmp done
done:
lea dx, prompt_3 ; load and print prompt_3
mov ah, 9
int 21h
mov ah, 4ch ; return control to dos
int 21h
code ends
end start
以上是关于8086汇编将小写字母转换为大写字母(含提示信息,无限循环,按“!”退出程序)的主要内容,如果未能解决你的问题,请参考以下文章
8086汇编将十进制数转换为八进制数(输入范围:0~2559,含提示信息)
8086汇编将十进制数转换为八进制数(输入范围:0~2559,含提示信息)