永发信息网

汇编中怎样一次输入多个字符

答案:7  悬赏:0  手机版
解决时间 2021-02-12 11:19
汇编中怎样一次输入多个字符
最佳答案
汇编语言编程时,如果想一次输入多个字符,需要设定结束字符输入的条件。下面以示例程序说明:
data segment
str db 200 dup (00h);定义输入字符接收区
data ends

code segment
assume cs:code,ds:data
main proc far
start:
mov ax,data
mov ds,ax
lea si,str
mov cx,200;限定最多输入200字符
inpstr: mov ah,01h;等待输入字符
int 21h
mov [si],a1;输入的字符存入接收区
inc si
xor al,0dh;以回车符作为结束条件
jz endinp
loop inpstr;如果没有输入回车符,以输入200字符作为结束条件

endinp: mov ah,4ch;输入的字符在接收区,结束程序
int 21h
ret
main endp
code ends
end start
全部回答
郁闷 看不懂 你学的win32汇编 还是 8086呀 ·
dos 21h中断的0AH号功能可以接受一个字符串
类似于C语言中的scanf()函数,如果必要的话,可以自己编写一些函数库,以方便调用
用INT 16H读取
;下面的只能读两个数字,需要多的自行修改
;只接受0~9按键
DATA SEGMENT
ASSUME DATA:DS
KEYCODE DB 0,0,$
NUM DB 0
DATA ENDS
CODE SEGMENT
ASSUME CODE:CS
START: MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET KEYCODE
XOR CX,CX
READKEY:XOR AX,AX
PUSH CX
PUSH SI
INT 16H
POP SI
POP CX
CMP AL,'0'
JB READKEY
CMP AL,'9'
JA READKEY
MOV [SI],AL
PUSH CX
PUSH SI
MOV DL,AL;显示数字字符
MOV AH,2
INT 21H
POP SI
POP CX
INC SI
INC CX
CMP CX,1
JBE READKEY
MOV SI,OFFSET KEYCODE;开始转换
MOV AL,[SI]
SUB AL,30H
MOV CL,10
MUL CL
INC SI
MOV CL,[SI]
SUB CL,30H
ADD AL,CL
MOV NUM,AL
;转换过的数在NUM,如果只是显示可以直接用KEYCODE
MOV AX,4C00H
INT 21H
CODE ENDS
END START
这个要用汇编语言编写一个算法,将输入的各个数字位组合成一个数据
如输入顺序1、2、3,则可以设计以下算法:
0*10=0,0+1=1
1*10=10,10+2=12
12*10=120,120+3=123
即:用初值0乘以10,将乘积加上第一个按键值;
将第一步结果乘以10,将乘积加上第二个按键值;
将第二步结果乘以10,将乘积加上第三个按键值;
依此类推,直到最后一个按键,则最后结果即为输入的数据。
可用循环结构实现上述算法
这时你可以规定间隔符,通常采用非数字的一些符号如:空格、逗号、回车等。
实际中,通常连续检测(循环)所读到的字符如果是数字字符,则认为该书没有结束,否则数据已经输入完毕。
LEA DI, BUF
CLD
next:
MOV AH, 1
INT 21H
CMP AL,'0'
JB LEND
CMP AL,'9'
JA LEND
STOSB ; 保存在buf中,以备后续处理
LEND:
....... ; 后续处理
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
键盘有点失灵,键盘背光无法变换。CTRL配合其
姓万男名男孩取名,要求带梦字??
美宜佳NO.A899地址在哪,我要去那里办事
三星A9100和三星A9108那个处理器更好?两个型
菊花 神马得 好奇心重 狠无语得看了解释 就更
长子县王峪景区管理中心西李村村民委员会这个
为什么企业的财务报销或下帐一定要用发票,收
和诗瑶又关系的诗句
答案:气虚不爱说话该怎么办
多乐士在哪里啊,我有事要去这个地方
苹果macbook air2015怎样安装win8.1
混凝土浇筑10个小时还未完全凝固,是什么原因
违章建筑的性质
已知|6-3m|+(n-5)=3m-6-√(m-3)n,则m-n=
黄芪打成粉能直接喝吗
推荐资讯
关于Sony DSR-PD190摄像机的一个问题
津门数码婚纱摄影地址在什么地方,我要处理点
宏图印务有限公司地址在哪,我要去那里办事
下列项目中,应作为城市维护建设税计税依据的
一阶低通滤波怎么选取RC值
伊兰卓凡托管教育地址在哪,我要去那里办事
万君车行地址在什么地方,我要处理点事!
西九户这个地址在什么地方,我要处理点事
高大的白杨树像列队站岗的士兵排列在宽广而笔
郑州市宠物市场在哪里?
今天在绍兴鲁迅故里,水上停满了乌篷船英语怎
胖子跑步小腿疼怎么办
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?