80x86 汇编语言编程:排序与显示
来源:互联网 发布:mv -r linux 编辑:程序博客网 时间:2024/06/05 17:21
编写完整的汇编语言源程序。
对任意给定的十个无符号数按由大到小排序,并把排序结果在显示器上显示。
要求用简化的段定义结构,采用子程序设计方法。谢谢 急求 !!!
题目链接:http://zhidao.baidu.com/question/583620100
做而论道编程如下: 2013-08-22 10:53
.MODEL SMALL
.STACK 200H
.DATA
NUM1 DW 123, 12666, 1, 8, 3, 38, 28, 83, 178, 12
.CODE
START:
MOV AX, @DATA
MOV DS, AX
LEA SI, NUM1
MOV DI, 506H ;显示屏的偏移地址
MOV CX, 10 ;数据段的10个数据
CALL DISP
LEA SI, NUM1
MOV CX, 10 ;数据段的10个数据
CALL SORT
LEA SI, NUM1
MOV DI, 646H ;显示屏的偏移地址
MOV CX, 10 ;数据段的10个数据
CALL DISP
MOV AX, 4C00H
INT 21H
;-----------------------------------
SORT:
DEC CX
S0: PUSH CX
MOV DI, SI
S1: MOV AX, [DI]
CMP AX, [DI + 2]
JB S2
XCHG AX, [DI + 2]
MOV [DI], AX
S2: ADD DI, 2
LOOP S1
POP CX
LOOP S0
RET
;-----------------------------------
DISP:
PUSH CX
CALL DTOC ;调用函数,在显示屏显示
ADD SI, 2
ADD DI, 2 ;指向下一个显示位置
POP CX
LOOP DISP
RET
;-----------------------------------
DTOC:
MOV AX, [SI]
MOV BX, 10
MOV CX, 0
D_LOOP1:
SUB DX, DX ;DX清零
DIV BX
PUSH DX
INC CX
CMP AX, 0
JNZ D_LOOP1
MOV AH, 2
D_LOOP2:
POP DX
CALL SHOW_STR ;调用显示子程序
LOOP D_LOOP2
RET
;-----------------------------------
SHOW_STR: ;显示
MOV BX, 0B800H
MOV ES, BX
ADD DX, 4A30H ;化为ASCII码
MOV ES:[DI], DX
ADD DI, 2 ;指向下一个显示位置
RET
;-----------------------------------
END START
本程序使用了简化的段定义结构,子程序设计方法。
做而论道编写的程序,可以满足题目的要求。
但是,做而论道所写的显示部分,有些特别。
提问者不太理解,所以,也就一直不采纳答案。
- 80x86汇编语言编程:排序与显示
- 80x86 汇编语言编程:排序与显示
- 80x86 汇编语言编程:数据排序与显示
- 用80x86汇编语言编程:键盘输入与显示输出
- 80x86汇编语言编程:键入、过滤与显示
- 用80x86汇编语言编程:输入后反序显示
- 80x86汇编语言编程:显示杨辉三角形
- 80x86 汇编语言编程:用 “*” 显示一个三角形
- 80x86 汇编语言编程:显示一个螺旋数据方阵
- 80x86 汇编语言编程:要求显示完整的算式
- 80x86汇编语言编程:在九九乘法表中高亮显示结果
- 80x86 汇编语言编程:输入字符串,排序输出
- 数据键入与排序程序--80x86汇编语言
- 80x86 汇编语言编程:求和
- 80x86 汇编语言编程:EXE2COM
- 80x86汇编语言编程:利用写显示缓冲区的方法,显示彩色文字
- 80x86汇编语言编程--
- 80x86 汇编语言:编程一题
- 80x86 汇编语言:求段地址最小值
- loadrunner 实现字符串替换
- 80x86汇编语言:福到了
- 80x86汇编语言:字符串移动
- 14个响应式前端开发框架
- 80x86 汇编语言编程:排序与显示
- 80x86汇编语言程序:提示输入矩形的长和宽,并显示周长
- 80x86汇编语言程序:判断奇、偶数的个数
- 80x86 汇编代码,在屏幕上显示汉字
- 80x86汇编编程:显示数据区字符串中第一个空格的位置
- 51 单片机汇编语言--矩阵键盘的驱动
- 51单片机 C语言电子琴
- 80x86 汇编语言编程:斐波那契数列
- C语言编写51单片机程序:键控流水灯