80x86汇编语言编程:三个数字进行比较
来源:互联网 发布:电子表格相同数据排序 编辑:程序博客网 时间:2024/06/05 14:37
用汇编语言编写一个程序,从键盘接受三个10进制数(0到9,输入其它符号则输出错误提示)。
把三个数字进行比较,三个数都不相等显示0,三个数中有两个不相等显示1,三个数都相等显示2。
按照题目要求,做而论道编写的程序如下,已经调试成功:
ASSUME CS:CODE, DS:DATA
;------------------------------------------------------
DATA SEGMENT
MSG1 DB 10, 13, ' INPUT (0 ~ 9): ', '$'
ERR_TIP DB 10, 13, ' INPUT ERROR .', 10, 13, '$'
I_BUFF DB ?, ?, ?
O_MSG DB 10, 13, 10, 13, ' THE OUT IS: '
O_BUFF DB ?, 10, 13, '$'
DATA ENDS
;------------------------------------------------------
CODE SEGMENT
BEGIN:
MOV AX, DATA
MOV DS, AX
LEA BX, I_BUFF
MOV CX, 3 ;输入三次
LOP:
LEA DX, MSG1
MOV AH, 9
INT 21H
MOV AH, 1
INT 21H
CMP AL, '0'
JB EEE
CMP AL, '9'
JA EEE
MOV [BX], AL
INC BX
LOOP LOP
JMP PROG ;输入结束,转去比较
EEE:
LEA DX, ERR_TIP
MOV AH, 9
INT 21H
JMP LOP
;------------------------------------------------------
;三个数都不相等显示0;
;三个数中有两个不相等显示1;
;三个数都相等显示2。
PROG:
LEA BX, I_BUFF
MOV AL, [BX + 0]
CMP AL, [BX + 1]
JZ EQU_0_1
CMP AL, [BX + 2]
JZ EQU_0_2
MOV AL, [BX + 1]
CMP AL, [BX + 2]
JZ EQU_1_2
N_EQU:
MOV O_BUFF, '0'
JMP DISP
;----------------------
EQU_0_1:
CMP AL, [BX + 2]
JZ ALL_EQU
MOV AL, [BX + 1]
CMP AL, [BX + 2]
JZ ALL_EQU
;----------------------
EQU_0_2:
EQU_1_2:
MOV O_BUFF, '1'
JMP DISP
;----------------------
ALL_EQU:
MOV O_BUFF, '2'
DISP: ;比较结束,下面是显示结果
LEA DX, O_MSG
MOV AH, 9
INT 21H
;----------------------
MOV AH, 4CH
INT 21H
CODE ENDS
END BEGIN
;------------------------------------------------------
程序经过编译、连接后,执行时,显示如下:
c:\masm510>NNN
INPUT (0 ~ 9): 3
INPUT (0 ~ 9): 3
INPUT (0 ~ 9): 3
THE OUT IS: 2
c:\masm510>NNN
INPUT (0 ~ 9): 3
INPUT (0 ~ 9): 5
INPUT (0 ~ 9): 6
THE OUT IS: 0
c:\masm510>NNN
INPUT (0 ~ 9): 3
INPUT (0 ~ 9): 6
INPUT (0 ~ 9): 3
THE OUT IS: 1
c:\masm510>NNN
INPUT (0 ~ 9): 5
INPUT (0 ~ 9): 8
INPUT (0 ~ 9): 8
THE OUT IS: 1
c:\masm510>NNN
INPUT (0 ~ 9): 2
INPUT (0 ~ 9): 2
INPUT (0 ~ 9): 0
THE OUT IS: 1
c:\masm510>
- 80x86汇编语言编程:三个数字进行比较
- 80x86 汇编语言编程:求和
- 80x86 汇编语言编程:EXE2COM
- 用80x86汇编语言编程--过滤数字符号,并且大小写转换
- 80x86汇编语言编程--
- 80x86 汇编语言:编程一题
- 80x86汇编语言编程:排序与显示
- 80x86汇编语言编程:宏指令
- 80x86汇编语言编程:求素数
- 80x86汇编语言编程:两个矩阵相乘
- 80x86 汇编语言编程:寻找水仙花数
- 80x86 汇编语言编程:排序与显示
- 80x86 汇编语言编程:移动平均处理
- 80x86汇编语言:输入数字,输出对应月份的英文
- 80x86 汇编语言:输入字符串、显示其中数字
- 80x86 汇编语言基础教程
- 用80x86汇编语言编程:输入后反序显示
- 用80x86汇编语言编程:键盘输入与显示输出
- 每分钟改变一次方向的流水灯
- linux
- 缓存技术PK:选择Memcached还是Redis?
- 8255 的三总线连接方法
- 一个程序员的万里长城的第一步
- 80x86汇编语言编程:三个数字进行比较
- 25.You need to create a table with the following column specifications:
- SVN提交版本时强制填写备注
- 51单片机,汇编语言,定时与计数
- 80x86汇编语言编程:查找字符串中的最大、最小值
- 80x86汇编语言编程:二进制输入、十进制输出
- 在 51 单片机系统中使用 8155
- Leetcode 155. Min Stack
- 显示一个钟表