这是一个冒泡排序汇编程序,如何加上在屏幕显示语句? 20
这里有一个冒泡排序汇编程序,请问如何在最后加上在屏幕显示排序结果语句?LENEQU5DATASEGMENTARRAYDW09518H,018C9H,01181H,0B2A...
这里有一个冒泡排序汇编程序,请问如何在最后加上在屏幕显示排序结果语句?
LENEQU 5
DATASEGMENT
ARRAY DW 09518H, 018C9H,01181H, 0B2ADH, 064E8H
CHANGEDB 0
DATAENDS
STACKSEGMENT STACK
STADW 128 DUP(0)
STACK_TOPDB 0
STACKENDS
CODESEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START:
MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
LEA SP,STACK_TOP
LOOP1:
MOV BX,OFFSET ARRAY
MOV CX,LEN-1
MOV CHANGE,0
LOOP2:
MOV AX,WORD PTR[BX]
ADD BX,2
CMP AX,WORD PTR[BX]
JB NEXT
MOV CHANGE,1
XCHG AX,WORD PTR[BX]
MOV WORD PTR[BX-2],AX
NEXT:
LOOPLOOP2
CMP CHANGE,0
JNE LOOP1
MOV AX,4C00H
INT 21H
CODE ENDS
END START
麻烦语句给出注释~谢谢了 展开
LENEQU 5
DATASEGMENT
ARRAY DW 09518H, 018C9H,01181H, 0B2ADH, 064E8H
CHANGEDB 0
DATAENDS
STACKSEGMENT STACK
STADW 128 DUP(0)
STACK_TOPDB 0
STACKENDS
CODESEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START:
MOV AX,DATA
MOV DS,AX
MOV AX,STACK
MOV SS,AX
LEA SP,STACK_TOP
LOOP1:
MOV BX,OFFSET ARRAY
MOV CX,LEN-1
MOV CHANGE,0
LOOP2:
MOV AX,WORD PTR[BX]
ADD BX,2
CMP AX,WORD PTR[BX]
JB NEXT
MOV CHANGE,1
XCHG AX,WORD PTR[BX]
MOV WORD PTR[BX-2],AX
NEXT:
LOOPLOOP2
CMP CHANGE,0
JNE LOOP1
MOV AX,4C00H
INT 21H
CODE ENDS
END START
麻烦语句给出注释~谢谢了 展开
1个回答
展开全部
如何在最后加上在屏幕显示排序结果语句?
----
显示排序结果,是显示十进制数,还是 16 进制?
----
显示排序结果,是显示十进制数,还是 16 进制?
追问
原数据排序啊。。当然16进制
追答
……
……回答的字数超了,前面的,略去。
……
NEXT:
LOOP LOOP2
CMP CHANGE, 0
JNE LOOP1
;--------------------------------------开始添加:
mov si, offset array
mov cx, len
d_lp:
mov ax, [si]
call xishi
mov ah, 2
mov dl, 'H'
int 21h
mov dl, ' '
int 21h
add si, 2
loop d_lp
MOV AX, 4C00H
INT 21H
xishi proc
push cx
mov cx, 0404h
mov bx, ax
xi_loop:
rol bx, cl
mov dx, bx
and dl, 0fh
cmp dl, 10
jb a
add dl, 7
a: add dl, 30h
mov ah, 02h
int 21h
dec ch
jnz xi_loop
pop cx
ret
xishi endp
;----------------------------------就这些。
CODE ENDS
END START
小写部分,是新添加的显示程序。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询