【跪求】【汇编】使用冒泡程序将:97,78,-1,0,32,14,21,27,-20,99,从小到大的进行排序…………【跪求】使用冒泡程序将:97,78,-1,0,32,14,21,27,-20,99,从小到大的进行排序,然后逐位加5并输出显示.要求

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/03 18:29:31
【跪求】【汇编】使用冒泡程序将:97,78,-1,0,32,14,21,27,-20,99,从小到大的进行排序…………【跪求】使用冒泡程序将:97,78,-1,0,32,14,21,27,-20,99,从小到大的进行排序,然后逐位加5并输出显示.要求

【跪求】【汇编】使用冒泡程序将:97,78,-1,0,32,14,21,27,-20,99,从小到大的进行排序…………【跪求】使用冒泡程序将:97,78,-1,0,32,14,21,27,-20,99,从小到大的进行排序,然后逐位加5并输出显示.要求
【跪求】【汇编】使用冒泡程序将:97,78,-1,0,32,14,21,27,-20,99,从小到大的进行排序…………
【跪求】使用冒泡程序将:97,78,-1,0,32,14,21,27,-20,99,从小到大的进行排序,然后逐位加5并输出显示.要求:
1.未排序的各寄存器中的数
2.排序后的各寄存器中的数
3.逐位加5的各寄存器的书
用汇编语言
DATA SEGMENT
TABLE DB 97,78,-1,0,32,14,21,27,-20,99
LEN EQU $-TABLE
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV CH,LEN
DEC CH
LOP0:MOV SI,OFFSET TABLE
MOV CL,CH
XOR BL,BL
LOP1:MOV AL,[SI]
CMP AL,[SI+1]
JLE NEXT
XCHG AL,[SI+1]
MOV [SI],AL
OR BL,01H
NEXT:INC SI
DEC CL
JNZ LOP1
AND BL,BL
JZ STOP
DEC CH
JNZ LOP0
STOP:MOV AH,4CH
INT 21H
CODE ENDS
END START
上面是标准的冒泡程序,只要在上面的基础上再逐位加五即可

【跪求】【汇编】使用冒泡程序将:97,78,-1,0,32,14,21,27,-20,99,从小到大的进行排序…………【跪求】使用冒泡程序将:97,78,-1,0,32,14,21,27,-20,99,从小到大的进行排序,然后逐位加5并输出显示.要求
DATAS SEGMENT
;此处输入数据段代码
NUM DW 97,78,-1,0,32,14,21,27,-20,99 ;带符号数据
COUNT EQU ($-NUM)/2 ;N个数
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
DW 40H DUP )
TOP LABEL WORD
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
MAIN PROC FAR
START:
MOV AX,DATAS
MOV DS,AX
MOV ES,AX
MOV AX,STACKS
MOV SS,AX
LEA SP,TOP
;此处输入代码段代码
;输出未排序的各寄存器中的数
MOV CX,COUNT
LEA SI,NUM
CLD
L1:
CALL OUTPUT ;输出一个十进制数
MOV DL,' '
MOV AH,6
INT 21H ;输出分隔符
LOOP L1
MOV CX,COUNT
DEC CX
LEA SI,NUM
CLD
L2:
CALL SORT ;冒泡排序,按从小到大排序
LOOP L2
;输出回车换行
MOV AH,2
MOV DL,0DH
INT 21H
MOV DL,0AH
INT 21H
;输出排序后的各寄存器中的数
MOV CX,COUNT
LEA SI,NUM
CLD
L3:
CALL OUTPUT ;输出一个十进制数
MOV DL,' '
MOV AH,6
INT 21H ;输出分隔符
LOOP L3
;逐个加5
MOV CX,COUNT
LEA SI,NUM
LEA DI,NUM
CLD
L4:
LODSW ;取出数字
ADD AX,5 ;加5
STOSW ;存储数字
LOOP L4
;输出回车换行
MOV AH,2
MOV DL,0DH
INT 21H
MOV DL,0AH
INT 21H
;输出逐位加5的各寄存器的书
MOV CX,COUNT
LEA SI,NUM
CLD
L6:
CALL OUTPUT ;输出一个十进制数
MOV DL,' '
MOV AH,6
INT 21H ;输出分隔符
LOOP L6
MOV AH,4CH
INT 21H
MAIN ENDP
;传入参数:CX,比较次数;SI,数组起始位置;数组
;返回值:数组
;功能:将最大的数移到数组末尾
SORT PROC NEAR
PUSH CX
PUSH SI
L7:
LODSW
CMP AX,[SI]
JNG L8 ;注意是带符号数的比较
XCHG AX,[SI]
MOV [SI-2],AX
L8:
LOOP L7
POP SI
POP CX
RET
SORT ENDP
;传入参数:SI,数字存储位置
;返回值:数组
;功能:从存储位置上取出一个数,以十进制数输出
OUTPUT PROC NEAR
PUSH CX
LODSW
MOV BX,AX
CMP BX,0
JGE L9
MOV AH,2
MOV DL,'-'
INT 21H
DEC BX
NOT BX
L9:
;十进制位逐个存储入栈
MOV AX,BX
MOV BX,10 ;进制位
XOR CX,CX ;十进制数位数
L10:
XOR DX,DX
DIV BX
PUSH DX
INC CX ;位数自增,至少为1
CMP AX,0
JNE L10
;输出数字所在位置
MOV AH,2
L11:
POP DX
ADD DL,30H ;数字转换为字符
INT 21H
LOOP L11
POP CX
RET
OUTPUT ENDP
CODES ENDS
END START

【跪求】【汇编】使用冒泡程序将:97,78,-1,0,32,14,21,27,-20,99,从小到大的进行排序…………【跪求】使用冒泡程序将:97,78,-1,0,32,14,21,27,-20,99,从小到大的进行排序,然后逐位加5并输出显示.要求 用冒泡排序法将一组数据从小到大重新排列并输出求C语言程序.急用! 初一成语使用题汇编 求一个C语言冒泡排序的程序,比如19,16,25,36,88,97,35,89,20,99这几个数, 用冒泡排序法将数组a[10]={1,3,2,5,6,7,4,9,10,8}中的数进行从大到小进行排列,并输出排好的数组a[10]请将该程序打出发布 求化工企业各岗位职责汇编 求汇编语句的含义DATA SEGMENTBUF DB -1,-3,5,6,9.CUNT EQU $ - BUFRESULT DW ?DATA ENDS这个程序是什么意思啊?初学汇编,看不懂.尤其是CUNT EQU $ - BUF是干嘛的啊? 求个高手帮忙用80c51单片机汇编编写一段程序,通过实验箱上的钮子开关K1、K2、K3控制发光二极管的亮或灭.①使用P3口作为信号输入口,P1口作为信号输出口.②用三个钮子开关控制三支发光二极 C语言冒泡排序问题.下面是程序,求每一步的解释.还有j在里面是什么意思#include #define N 8int main (){int a[N]={9,8,3,7,5,2,6,1};int i,j,temp;/***冒泡排序***/for (j=0;j 、矩阵转置.编写程序将2*3的矩阵转置,即转换成3*2的矩阵.【提示】使用两个二维数组来完成.求程序 汇编的程序填空题 第五个空填什么? 冒泡法排序,求具体 求一汇编'hello world'转成HELLO WORLD将内存中的hello world 转成HELLO WORLD 输出 求初中会考生物实验题汇编 求《汇编语言程序设计》西安电子科技大学出版社习题答案 求关于初中课本中的词语汇编. 求成语单字解释汇编越多越好, 怎么用while语句和for语句共同写出冒泡法的程序.数组中十个数按从大到小排列.求大神们指导