判断从键盘输入的字符,如果是数字字符则在屏幕终端显示字符串' number’, 如果是字母字符则显示'char&#x

[复制链接]
查看11 | 回复0 | 2021-1-27 05:17:04 | 显示全部楼层 |阅读模式
datasegment
string1db'Pleaseinputanumber:',0dh,0ah,'$'
string2db0dh,0ah,'number!',0dh,0ah,'$'
string3db0dh,0ah,'char',0dh,0ah,'$'
string4db0dh,0ah,'other',0dh,0ah,'$'
dataends
codesegment
assumecs:code,ds:data
start:
movax,data
movds,ax
S:
leadx,string1;将string1的偏移地址放到dx中,使dx指向string1
movah,09h;在光标位置显示字符串,DS:DX=串地址,用’$’结束字符串
int21h
movah,01h;置光标位置,键盘输入并回显,AL=输入字符
int21h
cmpal,30h
jncnumber2;大于或等于时转移
jmpoutputother
number2:
cmpal,3ah
jncnotnum
leadx,string2
movah,09h
int21h
jmpS
notnum:
cmpal,41h;判断是否为大写字符
jncchar
jmpoutputother
char:cmpal,5bh;与大写字符“Z”的下一个比较
jncsmallchar;转到判断小写字符处
leadx,string3
movah,09h
int21h
jmpS
smallchar:
cmpal,62h;与小写字符'a'的下一个比较
jncsmallchar2;高于则转移
jmpoutputother
smallchar2:cmpal,7bh
jncoutputother
leadx,string3
movah,09h
int21h
jmpS
outputother:leadx,string4
movah,09h;显示字符串,DS:DX=串地址’$’结束字符串
int21h
jmpEXIT

EXIT:
movah,4ch
int21h
codeends
endstart

分 -->
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行