急求汇编语言问题!!!

接收从键盘输入9个小于100的正整数,根据输入的一个序号(1-9),输出对应的数。输入0结束。麻烦给出完整的代码,谢了~~输入的序号最好有提示,输出当然是十进制,用逗号分... 接收从键盘输入9个小于100的正整数,根据输入的一个序号(1-9),输出对应的数。输入0结束。
麻烦给出完整的代码,谢了~~
输入的序号最好有提示,输出当然是十进制,用逗号分隔。
展开
 我来答
做而论道
高能答主

2011-12-08 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3.2万
采纳率:86%
帮助的人:8821万
展开全部
;==============================================
;从键盘输入9个十进制数(数与数之间用空格隔开)
;再输入的一个序号(1-9),输出对应的数。输入0结束。
;以上要求均已满足。
;程序如下:
;----------------------------------------------
DISP_STR MACRO X ;宏定义.
MOV DX, OFFSET X
MOV AH, 9
INT 21H
ENDM
;----------------------------------------------
DATA SEGMENT ;数据段.
MSG1 DB 13, 10, 'Please Input N$'
MSG2 DB 13, 10, 'I can not count so much ! $'
MSG3 DB 13, 10, 'Please Input NUM (1~9, 0 end):$'
IN_N1 DB 9 DUP (?,?,?,'$')

N DB 30H ;序数.
DATA ENDS
;----------------------------------------------
CODE SEGMENT ;代码段.
ASSUME CS: CODE, DS: DATA
START:
MOV AX, DATA
MOV DS, AX
;--------------------------------
MOV BX, OFFSET IN_N1;数据
MOV CX, 9
;--------------------------------
IN_X:
PUSH CX
MOV CX, 3
DISP_STR MSG1 ;宏调用,提示 Please Input :
INC N
MOV DL, N
MOV AH, 2
INT 21H
MOV DL, ':'
MOV AH, 2
INT 21H
MOV DX, BX
;----------------------
IN_LOOP:
MOV AH, 1 ;输入字符.
INT 21H
CMP AL, ' ' ;空格?
JZ IN_Y ;本数字结束.
CMP AL, 30H
JB _IN_ERR ;小于'0',输入错误.
CMP AL, 3AH
JNB _IN_ERR ;大于'9',输入错误.
MOV [BX], AL
INC BX
MOV AX, BX
SUB AX, 2
SUB AX, DX
JA IN_Y
JMP IN_LOOP ;继续输入.
;----------------------
IN_Y:
ADD DX, 4
MOV BX, DX
POP CX
LOOP IN_X
;--------------------------------
IN_END:
DISP_STR MSG3 ;宏调用,提示 NUM is :

MOV AH, 1 ;输入字符.
INT 21H
CMP AL, 30H
JE EXIT ;'0',结束.
JB _IN_ERR ;小于'0',输入错误.
CMP AL, 3AH
JNB _IN_ERR ;大于'9',输入错误.

PUSH AX

MOV DL, 13
MOV AH, 2
INT 21H
MOV DL, 10
MOV AH, 2
INT 21H

POP AX
SUB AL, 31H
MOV BL, 4
MUL BL
MOV DX, OFFSET IN_N1
ADD DX, AX
MOV AH, 9
INT 21H

JMP IN_END
;--------------------------------
_IN_ERR:
DISP_STR MSG2 ;宏调用,提示 can not count so much !
EXIT:
MOV AH, 4CH
INT 21H
;--------------------------------
CODE ENDS
END START
;==============================================

程序运行的屏幕显示如下:

c:\masm510>Z2

Please Input N1:342
Please Input N2:45
Please Input N3:25
Please Input N4:21
Please Input N5:566
Please Input N6:32
Please Input N7:12
Please Input N8:563
Please Input N9:2
Please Input NUM (1~9, 0 end):3
25
Please Input NUM (1~9, 0 end):2
45
Please Input NUM (1~9, 0 end):1
342
Please Input NUM (1~9, 0 end):6
32
Please Input NUM (1~9, 0 end):0
c:\masm510>

要求输入数据在100之内,请输入者人工控制。
paykka
2025-08-05 广告
Paykka 的数字化流程涵盖了开户、收款、提现等全流程,从资料提交、账户开通到各种资金操作,都能在线上完成,无需用户进行线下干预,简化了操作步骤,提升了整体的操作效率。... 点击进入详情页
本回答由paykka提供
王者孙洲YES
2011-12-07 · TA获得超过628个赞
知道答主
回答量:181
采纳率:0%
帮助的人:44.9万
展开全部
接收从键盘输入9个小于100的正整数,根据输入的一个序号(1-9),输出对应的数。输入0结束。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mmocean
2011-12-07 · TA获得超过114个赞
知道答主
回答量:75
采纳率:0%
帮助的人:88.3万
展开全部
说下具体要求可以不 ?

1.输入的序号需不需要有提示?

2.输出的数时是十进制输出还是十六进制输出?

3.数的输入时你需要什么来分隔两个数(空格?或者其他符号?)

清楚了需求写程序任意写。
若你不说需求,那么写程序的人可能按照自己的想法写,但不一定满足你的需求了哦~~~~~~~~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
典花驰M
2011-12-08
知道答主
回答量:17
采纳率:0%
帮助的人:5.8万
展开全部
提问的有点抽象
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式