⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sy5.asm

📁 自己写的汇编实验的源代码
💻 ASM
字号:
	.model small
	.stack
	.data
string	db 'Assemble Language Programming!',0
count	equ($-string)/type string
input	db 'Input a number(0-2):',0dh,0ah,'$'
output	db 'The result:',0dh,0ah,'$'
	.code
	.startup
	mov ah,09h
	mov dx,offset input
	int 21h
	mov bx,offset string
	mov ah,01h
	int 21h	
	cmp al,'0'
	jz zero
	cmp al,'1'
	jz one
	cmp al,'2'
	jz two	
	jmp export
zero:	call U2LCON
	jmp ex
one:	call L2UCON
	jmp ex
two:	call INTCON

ex:	mov ah,09h
	mov dx,offset output
	int 21h
	mov bx,offset string
	mov cx,count
outgo:	mov al,[bx]
	mov ah,02h
	mov dl,al
	int 21h
	inc bx
	loop outgo
export:	.exit 0
U2LCON	proc
lp:	mov al,[bx]
	or al,al	
	jz done
	cmp al,'A'
	jb next
	cmp al,'Z'
	ja next	
	or al,20h
	mov [bx],al	
next:	inc bx
	loop lp
done:	ret
U2LCON	endp

L2UCON	proc
lp:	mov al,[bx]
	or al,al	
	jz done
	cmp al,'a'
	jb next
	cmp al,'z'
	ja next	
	sub al,20h
	mov [bx],al	
next:	inc bx
	loop lp
done:	ret
L2UCON	endp

INTCON	proc
lp:	mov al,[bx]
	or al,al
	jz done
	cmp al,'A'
	jb next2
	cmp al,'Z'
	ja next1	
	or al,20h
	mov [bx],al
	jmp next2
next1:	cmp al,'a'
	jb next2
	cmp al,'z'
	ja next2	
	sub al,20h
	mov [bx],al
next2:	inc bx
	loop lp
done:	ret
INTCON	endp
	end
	

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -