sy5.asm
来自「自己写的汇编实验的源代码」· 汇编 代码 · 共 93 行
ASM
93 行
.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 + =
减小字号Ctrl + -
显示快捷键?