用80x86汇编语言编程--输入、储存与输出
来源:互联网 发布:js导出excel表格兼容 编辑:程序博客网 时间:2024/06/05 15:41
这个问题,是很久很久以前回答的,最近,才被提问者采纳,所以,拖到现在才发表。
链接:http://zhidao.baidu.com/question/351836527.html
;==============================================
;从键盘输入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之内,请输入者人工控制。
提问者评价:谢谢~
- 用80x86汇编语言编程--输入、储存与输出
- 用80x86汇编语言编程:键盘输入与显示输出
- 80x86汇编语言编程:输入格雷码、输出对应的十进制数字
- 80x86汇编语言编程:二进制输入、十进制输出
- 80x86 汇编语言编程:输入字符串,排序输出
- 用80x86汇编语言编程:输入字符串,并把大写字符转为小写再输出
- 用80x86汇编语言编程--统计输入的字符个数
- 80x86汇编语言:输入字符串、转换、输出
- 用80x86汇编语言编程:输入后反序显示
- 用80x86汇编语言编程:键盘输入数组,再选择输出
- 80x86汇编语言编程--
- 80x86汇编语言编程:输入0到9,输出hello world
- 80x86汇编语言:输入数字,输出对应月份的英文
- 80x86汇编语言--输入表达式,再计算
- 80x86汇编语言编程:排序与显示
- 80x86 汇编语言编程:排序与显示
- 80x86 汇编语言编程:输出指定行数的星号
- 80x86 汇编语言编程:有符号数输出
- 51 汇编语言编程:变速计数
- 51 单片机的多机通信
- MyEclipse开发WebService教程
- 51 汇编语言编程--输入密码
- Ambari 2.1.1 安装hadoop生态大数据平台 HDP 2.3.4.0 本地安装源(local repo)
- 用80x86汇编语言编程--输入、储存与输出
- 80x86汇编语言编程:利用写显示缓冲区的方法,显示彩色文字
- 【Modern OpenGL】多种光源 Multiple lights
- 是 PROTEUS 还是 PROTUES ?
- 用串入并出芯片 74HC595 驱动数码管
- 51 单片机扩充外部中断
- Linux slab 分配器剖析
- 51 单片机汇编编程:记录按键
- python分布式进程