| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4647 人关注过本帖
标题:汇编语言程序设计一个小程序
取消只看楼主 加入收藏
薄凉
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-6-15
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
汇编语言程序设计一个小程序
在数据段的变量BUF中有10个字节型无符号的十进制数,它们以无序的方式存放着,设计一个程序将这些数据按由小到大的方式排列起来,并在屏幕上输出排好序的这10个数。(两数之间用空格分开)
搜索更多相关主题的帖子: 汇编语言 程序设计 数据 屏幕 输出 
2018-06-15 18:07
薄凉
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-6-15
收藏
得分:0 
回复 2楼 Valenciax
   CODE  SEGMENT
              ASSUME    CS:CODE
 
         BUF  DB        12H,34H,07H,78H,65H,41H,99H,87H,66H,52H
           N  EQU       $-BUF
 
      START:  PUSH      CS
              POP       DS
              PUSH      CS
              POP       ES
              LEA       SI,BUF
              MOV       CX,N
              CALL      SORT
              LEA       SI,BUF
              MOV       CX,N
              CALL      DSPBCD
              MOV       AH,4CH
              INT       21H
;===============================
     DSPBCD:
              PUSH      AX
              PUSH      CX
              PUSH      DX
              PUSH      SI
              CLD
      @BCD1:
              LODSB
              ROR       AL,4
              PUSH      AX
              MOV       DL,AL
              AND       DL,0FH
              OR        DL,30H
              MOV       AH,2
              INT       21H
              POP       AX
              ROR       AL,4
              MOV       DL,AL
              AND       DL,0FH
              OR        DL,30H
              MOV       AH,2
              INT       21H
              MOV       DL,'H'
              INT       21H
              MOV       DL,32
              INT       21H
              MOV       DL,32
              INT       21H
              LOOP      @BCD1
              POP       SI
              POP       DX
              POP       CX
              POP       AX
              RET
               
;===============================
; 单个字符串(或者字节数组)内部的排序(冒泡排序)
        SORT  PROC      NEAR
      ; 串长度置入cx,串首地址置入 si
              PUSH      AX
              PUSH      CX
              PUSH      DX
              PUSH      SI
              PUSH      DI
              PUSHF
              PUSH      CX
              POP       DX
              DEC       DX
    @SORTL1:
              MOV       CX,DX
              MOV       DI,SI
    @SORTL2:
              MOV       AL,[DI+1]
              CMP       AL,[DI]
              JA        @SORTNEXT   ; 无符号 升序
              XCHG      AL,[DI]
              MOV       [DI+1],AL
  @SORTNEXT:
              INC       DI
              LOOP      @SORTL2
              DEC       DX
              JNZ       @SORTL1
              POPF
              POP       DI
              POP       SI
              POP       DX
              POP       CX
              POP       AX
              RET
        SORT  ENDP
;===============================================================  
        CODE  ENDS
              END       START
2018-06-18 21:15
薄凉
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-6-15
收藏
得分:0 
回复 4楼 Valenciax
谢谢
2018-06-20 17:54
快速回复:汇编语言程序设计一个小程序
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014881 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved