| 网站首页 | 文章中心 | 电子书下载 | 矢量图库 | 视频教程 | 素材下载 | 程序代码下载 | JS代码 | 论坛 | 
常用软件类:
|杀毒安全 |联络聊天 |网络软件 |多媒体类 |系统工具 |图形图像 |系统工具 |应用软件 |行业软件
开发设计类:
|动画制作 |图像处理 |3D设计 |操作系统 |站长学院 |网络相关 |WEB设计 |数据库类 |程序开发
汇编语言---程式设计 (5)
作者:未知    文章来源:网络    点击数:    更新时间:2006-7-19
  大,不变 
    7:        MOV    [SI-2],AX ;交换AH,AL,排序 
    8:        DEC    SI      ;向低位再查 
    9:        MOV    AH,[SI-2] 
   10:        JMP    COMPAR1 

    当然,上面这段程式并不成立,因为没有出口,永远做不完。程式的终止有很多方法,一是用计数器,一是用位置来比较,也有用终止指令的,不一而足,各有长短。 
    首先,假设在DS:SI 中,有一长度值,兹以计数器的回路来试试看: 
    1:        LODSW 
    2:        MOV    CX,AX      ;似此,3B 18C 
        ;若用    MOV   CX,[SI] 
        ;    INC   SI 
        ;    INC   SI 
        ;则需    6B,21T 
    3:        SUB    AL,AL      ;先设最小值,备用 
    4: COMPAR: 
    5:        MOV    AH,AL      ;设AH为低位值 
    6: COMPAR1: 
    7:        LODSB          ;取资料 
    8:        CMP    AL,AH      ;比大、小 
    9:        JB    COMPAR2   ;低位大,需排序 
   10:        LOOP    COMPAR      ;回路 
   11:        RET          ;完成 
   12: COMPAR2: 
   13:        MOV    [SI-2],AX ;交换AH,AL,排序 
   14:        DEC    SI      ;向低位再查 
   15:        MOV  

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 


相关文章