实验1
https://blog.csdn.net/qq_16184125/article/details/72575458?
这里我们输入71.exe,然后我们输入1这里显示1的ascill码的16进制为31。a的ascill码为61
实验程序如下
code segment
assume cs:code
start:
inchr: mov ah,1 ;输入字符
int 21h
cmp al,13 ;如果是回车则结束
je exit
cmp al,30h ;如果小于30('0'),则为非法输入
jl exit
cmp al,39h ;如果输入为数字,则直接输出
jle outnum
cmp al,41h
jl exit
cmp al,5Ah ;输入为大写字母,则跳转
jle outs
cmp al,61h
jl exit
cmp al,7Ah ;输入为小写则跳转
jle outl
outnum: sub al,30h
mov dl,al ;将数字存入dl用于输出
mov ah,2
int 21h
jmp inchr
outs: add al,20h ;将输入的大写字母加上20h转成小写字母
mov dl,al
mov ah,2
int 21h
jmp inchr
outl: sub al,20h ;同理,将小写字母减去20h转成大写字母
mov dl,al
mov ah,2
int 21h
jmp inchr
exit: mov ah,4ch
int 21h
code ends
end start
实验2
https://www.omegaxyz.com/2017/05/19/assemblyexperiment7_2/