当前位置: 代码迷 >> 汇编语言 >> 一个简单的冒泡排序。不知道如何在屏幕上输出,麻烦大姐了
  详细解决方案

一个简单的冒泡排序。不知道如何在屏幕上输出,麻烦大姐了

热度:6711   发布时间:2013-02-26 00:00:00.0
一个简单的冒泡排序。不知道怎么在屏幕上输出,麻烦各位大哥大姐了
 
  datarea SEGMENT ;
  a DW 5 DUP(?)  
  X DW 8,5,6,84,32
  datarea ENDS  
   
  prognam SEGMENT ;
  main PROC FAR ;
  ASSUME CS:prognam,DS:datarea
  start: ;
  PUSH DS ;
  SUB AX,AX ;
  PUSH AX ;
   
  MOV AX,datarea ;
  MOV DS,AX ;
   
  MOV CX,5 ;
  DEC CX ;
  LOOP1: MOV DI,CX ;
  MOV BX,0 ;
  LOOP2: MOV AX,a[BX] ;
  CMP AX,a[BX+2] ;
  JGE cotinue ;
  XCHG AX,a[BX+2] ;
  MOV a[BX],AX ;
  cotinue:
  ADD BX,2 ;
  LOOP LOOP2 ;
  MOV CX,DI ;
  LOOP LOOP1 ;
  RET ;
  main ENDP ;
  prognam ENDS ;
  END start ;  


程序上面给出,帮我看看怎么把结果显示出来,谢谢,最后把程序补出

------解决方案--------------------------------------------------------
在end start 之前用个循环,调用DOS 2H号功能输出。


------解决方案--------------------------------------------------------
在end start之前加上
mov cx,5
xor bx,bx
out:
mov dx,[bx]
mov dh,0
mov ah,2
int 21h
add bx,2
loop out
------解决方案--------------------------------------------------------
data segment
 SCORE dw 85,89,56,23,90,78,80,69,50,96 
 rank dw 10 dup(?)
 printn db 30 dup(?),13,10,'$'
data ends
code segment
assume cs:code,ds:data
start:
push ds
sub ax,ax
push ax
mov ax,data
mov ds,ax
mov si,10
mov bx,0
loopp:
mov ax,SCORE[bx]
mov dx,0
mov cx,10
lea di,SCORE
next:
cmp ax,[di]
jg no_count
inc dx
no_count:
add di,2
loop next
mov rank[bx],dx
dec dx
mov di,dx
add di,dx
add di, dx
mov cl,10
div cl
add al,30H
add ah,30H
mov printn[di],al
inc di
mov printn[di],ah
inc di
mov printn[di],20H
add bx ,2
dec si
jne loopp
lea dx,printn
mov ah,09
int 21H
pop ax
pop ds
mov ax,4c00h
int 21h
code ends
end start 



------解决方案--------------------------------------------------------
CR=0DH
LF=0AH
DSEG SEGMENT
BUF DB 5 DUP(0),CR,LF,'$'
X DW 8,5,6,84,32
DSEG ENDS
CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG
START : 
MOV AX,DSEG
MOV DS,AX
MOV ES,AX
MOV CX,5 
DEC CX
L1:MOV DI,CX 
MOV BX,0
L2:MOV AX,X[BX] 
CMP AX,X[BX+2] 
JGE L3 
XCHG AX,X[BX+2]
MOV X[BX],AX
L3:ADD BX,2
LOOP L2 
MOV CX,DI 
LOOP L1
MOV CX,5
XOR SI,SI
L4:MOV AX,X[SI]
CALL SHOW
ADD SI,2
LOOP L4
MOV AX,4C00H
INT 21H
SHOW PROC
MOV DI,5
MOV BX,10
L5:XOR DX,DX
DIV BX
  相关解决方案