80x86 汇编语言编程:数据排序与显示
来源:互联网 发布:做淘宝客的步骤有哪些 编辑:程序博客网 时间:2024/06/15 12:03
;=========================================================
;http://zhidao.baidu.com/question/456716225692248325
;已知在数据段中,字数组ARRAY有N个元素
;编写程序,把数组中的负数求绝对值,然后对数组按降序排列
;=========================================================
;做而论道编程如下:
QWER SEGMENT
DATA DW 12386, 0, -9987, 767, 898, -2, 0, 9, 8, -10
;数据范围:-32768~32767
NNN EQU ($ - DATA) / 2 ;数据个数:< 32000 个字
MSG1 DB 13, 10, 'Before Sort: ', 13, 10, 36
MSG2 DB 13, 10, 'After Sort: ', 13, 10, 36
QWER ENDS
;---------------------------------------------------------
CCCC SEGMENT
ASSUME CS:CCCC, DS:QWER
START:
MOV AX, QWER
MOV DS, AX
LEA DX, MSG1
CALL DISP_DATA ;显示数据
SORT:
MOV CX, NNN
DEC CX
S0: PUSH CX
LEA SI, DATA
S1: MOV AX, [SI]
CMP AX, [SI + 2]
JA S3
XCHG AX, [SI + 2]
XCHG AX, [SI]
S3: ADD SI, 2
LOOP S1
POP CX
LOOP S0
LEA DX, MSG2
CALL DISP_DATA ;显示数据
EXIT:
MOV AH, 4CH
INT 21H
;----------------------
DISP_DATA:
MOV AH, 09H
INT 21H
LEA SI, DATA
MOV CX, NNN
DL1:MOV AX, [SI]
CALL PRINT
ADD SI, 2
LOOP DL1
RET
;----------------------
PRINT:
CMP AX, 0
JGE ZH0
NEG AX
MOV [SI], AX
MOV DL, '-'
MOV AH, 2
INT 21H
ZH0:MOV AX, [SI]
MOV BX, 10
PUSH CX
MOV CX, 0
ZH1:MOV DX, 0
DIV BX
ADD DL, '0'
PUSH DX
INC CX
CMP AX, 0
JNZ ZH1
MOV AH, 2
ZH2:POP DX
INT 21H
LOOP ZH2
MOV DL, ' '
INT 21H
POP CX
RET
;----------------------
CCCC ENDS
END START
;=========================================================
经过实验,本程序完全符合题目要求。
0 0
- 80x86 汇编语言编程:数据排序与显示
- 80x86汇编语言编程:排序与显示
- 80x86 汇编语言编程:排序与显示
- 80x86 汇编语言编程:显示一个螺旋数据方阵
- 用80x86汇编语言编程:键盘输入与显示输出
- 80x86汇编语言编程:键入、过滤与显示
- 数据键入与排序程序--80x86汇编语言
- 用80x86汇编语言编程:输入后反序显示
- 80x86汇编语言编程:显示杨辉三角形
- 80x86 汇编语言编程:用 “*” 显示一个三角形
- 80x86 汇编语言编程:要求显示完整的算式
- 80x86汇编语言编程:在九九乘法表中高亮显示结果
- 80x86 汇编语言编程:输入字符串,排序输出
- 80x86 汇编语言编程:判定数据序列的奇偶个数
- 80x86 汇编语言编程:求和
- 80x86 汇编语言编程:EXE2COM
- 80x86汇编语言编程:利用写显示缓冲区的方法,显示彩色文字
- 80x86汇编语言编程--
- 王爽汇编语言,外中断例题,照抄都出错
- 80x86 汇编语言:统计数据的个数
- VB 6.0 精确到毫秒的计时器 demo
- 51汇编语言编程,共五个小题
- 80x86 汇编语言编程:EXE2COM
- 80x86 汇编语言编程:数据排序与显示
- ZOJ1042
- C语言编程:求一个回文数
- 51单片机串行接收并显示
- 80x86 汇编:用辗转相除法求两个数的最大公约数
- 80x86 汇编语言:键入字符串,然后存盘
- 数字电子技术--60秒倒计时电路
- 锁相环 CD4046 的应用
- Android程序打包过程