毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 开发语言 >> 正文

汇编 字符串冒泡排序源代码

更新时间:2012-12-18:  来源:毕业论文

题目是:输入一个字符串,然后对每个字符进行冒泡排序,最后输出一个按字符从小到大排序的字符串!
以下是我写的代码,不知道哪里出问题了,请高手指点一下,万分感激!!
        DATA  SEGMENT
     STRING1  DB        100 DUP(?)  ;输入的字符串
        DATA  ENDS

        CODE  SEGMENT
              ASSUME    CS:CODE, DS:DATA
      START:
              MOV       AX, DATA
              MOV       DS, AX
              LEA       BX, STRING1 ;    把string1的地址赋给BX
              MOV       AH, 1
      SCANF:
              INT       21H         ;获得按键的ASCII代码值,即输入
              CMP       AL, 13      ;如果回车则停止输入
              JZ        END_SCANF   ;输入完毕
              MOV       [BX], AL    ;把每一个字符存入[BX]即string1中
              ADD       BX, 1       ;BX下移,准备存入下个字符
              JMP       SCANF       ;继续输入直到回车
  END_SCANF:  MOV       DI,OFFSET STRING1       ;冒泡的次数
              MOV       SI,OFFSET STRING1       ;一次冒泡的过程
    COMPARE:  MOV       AL,[SI]
              CMP       AL,BYTE PTR[SI+1]
              JGE       EXCHANGE    ;如果大于后一个,则两数交换
              ADD       SI,1
              CMP       SI,BX
              JGE       ADD_DI      ;已比到最后一个数,则进行下一次的冒泡
              JMP       COMPARE     ;否则继续比较下一组数
   EXCHANGE:  MOV       AL ,[SI]
              XCHG      AL,[SI+1]
              MOV       [SI],AL     ;交换两数的值
              ADD       SI,1        ;准备比较下一组数
              CMP       SI,BX
              JGE       ADD_DI
              JMP       COMPARE
     ADD_DI:  ADD       DI,1
              CMP       DI,BX
              JGE       PRINT
              MOV       SI,DI
              JMP       COMPARE
      PRINT:  MOV       BYTE PTR [BX],'$'       ;加入美元结束符号
              MOV       AH,9
              LEA       DX,STRING1
              INT       21H         ;输出排完序后的字符串
              MOV       AX, 4C00H   ;安全退出程序返回dos
              INT       21H
        CODE  ENDS
              END       START

ADD_DI:
  ADD DI,1
  CMP DI,BX
  JGE PRINT
  MOV SI,DI
  JMP COMPARE
 这是什么


MOV BYTE PTR [BX],'$' 这不把最后一个单元内容冲掉了么

[1] [2] 下一页

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。