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,含提示信息)

汇编语言-字母字符转换

C语言编程题 输入一个由大写字母组成的字符串,求字符串中包含了几个不同的字母

汇编语言 字母的大小写转换

编写c程序统计大小写字母的个数,并把大写字母反序输出