加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

五个数字从大到小排列,8088/8086汇编语言

(2007-05-30 15:10:54)
标签:

wave

伟福

排序

从大到小

汇编

分类: 计算机
只适用于五个数字从打到小排列。
data SEGMENT
A DW 5 DUP(12,33,78,4,5)
FLAG DW ?
data ENDS
stack SEGMENT
MAIN PROC FAR
ASSUME DS:DATA,CS:stack
START:
PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV CX,5
MOV SI,0
DEC CX
LOOP1:
MOV DI,CX
MOV BX,0
LOOP2:
  MOV AX,A[BX]
  CMP AX,A[BX+2]
  JGE CONTINUE
  MOV SI,1
  XCHG AX,A[BX+2]
  MOV A[BX],AX
CONTINUE:
  ADD BX,2
  LOOP LOOP2
  MOV CX,DI
  TEST SI,0FFH
  JZ LOOP3
LOOP LOOP1
MOV CX ,5
MOV SI, 0
LOOP3:
  MOV DX,A[SI]
  ADD DX,30H
  ADD SI ,2
  MOV AH, 02H
INT 21H
LOOP LOOP3
MOV AX,4C00H
INT 21H
MAIN ENDP
stack ENDS
END START
 
data segment
    a db 25h
    b db 10h
    c db 33h
    d db 02h
    e db 11h
data ends
stack segment stack
     dw 100 dup(?)
stack ends
code segment
assume cs:code,ds:data,ss:stack
start:mov ax,data
      mov ds,ax
      mov al,a
      mov bl,b
      cmp al,bl
      jg m1
      mov b,al
      mov al,bl
   m1:mov bl,c
      cmp al,bl
      jg m2
      mov c,al
      mov al,bl
    m2:mov bl,d
    cmp al,bl
    jg m3
    mov d,al
    mov al,bl
    m3:mov bl,e
    cmp al,bl
    jg m4
    mov e,al
    mov al,bl
 m4:mov a,al
    mov al,b
    mov bl,c
    cmp al,bl
    jg m5
    mov c,al
    mov al,bl
 m5:mov bl,d
    cmp al,bl
    jg m6
    mov d,al
    mov al,bl
 m6:mov bl,e
    cmp al,bl
    jg m7
    mov e,al
    mov al,bl
 m7:mov b,al
    mov al,c
    mov bl,d
    cmp al,bl
    jg m8
    mov d,al
    mov al,bl
 m8:mov bl,e
    cmp al,bl
    jg m9
    mov e,al
    mov al,bl
 m9:mov c,al
       mov al,d
    mov bl,e
    cmp al,bl
    jg m10
    mov e,al
    mov al,bl
 m10:mov d,al
   q:jmp q
code ends
end start
 

0

阅读 收藏 喜欢 打印举报/Report
前一篇:又一篇
后一篇:T-BAG
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有