永发信息网

急求汇编语言问题!!!

答案:4  悬赏:10  手机版
解决时间 2021-02-25 16:16
急求汇编语言问题!!!
最佳答案
;==============================================
;从键盘输入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之内,请输入者人工控制。
全部回答
提问的有点抽象
接收从键盘输入9个小于100的正整数,根据输入的一个序号(1-9),输出对应的数。输入0结束。
说下具体要求可以不 ?
1.输入的序号需不需要有提示?
2.输出的数时是十进制输出还是十六进制输出?
3.数的输入时你需要什么来分隔两个数(空格?或者其他符号?)
清楚了需求写程序任意写。
若你不说需求,那么写程序的人可能按照自己的想法写,但不一定满足你的需求了哦~~~~~~~~~~
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
淘宝上经常当女童凉鞋的女模特叫什么?_?
育英街在哪里啊,我有事要去这个地方
12点45用分数表示是多少
我要在老房子装个电表再装几盏灯和几个插座请
下列关于工程量清单的说法错误的是( )。A.
安踏的意义是什么.?
老兵老店地址有知道的么?有点事想过去
电脑硬盘坏了,不能重装系统,但可以进PE,有
去黄山怎么走
我的是乐视2,手欠重做系统了,之后玩王者荣
宜宾正源药业公司翠屏经营部怎么去啊,有知道
蹴尔而与之 而 的意思
怎么报复渣男
《奴婢大过天》txt全集下载
windows server2003 怎么打开80和443端口。我
推荐资讯
ios腾讯视频vip怎么开通啊!付费是不是aqq支
手机平时打不通,必须关机后再开才能通话,这是
为什么yuan是整体认读音节?
【图书漂流】九年级某班拟开展名为“图书漂流
大棚内栽种农作物,在增加光照的同时,增加二
宝骏310配置怎么样?,有开过的吗?
在家做的手工牛轧糖保质期一般多久
绿原机械制造有限公司怎么去啊,有知道地址的
海底捞火锅京东广场店在哪里啊,我有事要去这
恩施防火卷帘门厂家知名公司有哪些
求曲婉婷的经历及其《我的歌声里》的创作背景
煌记云吞龙丰店地址有知道的么?有点事想过去
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?