首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 汇编语言 >

帮小弟我改改这个程序

2012-12-16 
帮我改改这个程序就是想 输入一个两位或三位的整数 然后排序我不知道怎么改了?aê?×??ˉéú3éμ?′ú???£°?STAC

帮我改改这个程序
就是想 输入一个两位或三位的整数 然后排序   我不知道怎么改了

        ;?aê?×??ˉéú3éμ?′ú???£°?
      STACKS  SEGMENT   STACK       ;??????
              DW        128 DUP(?)  ;×¢òa?aà???óD128??×??ú
      STACKS  ENDS
       DATAS  SEGMENT               ;êy?Y??
;???ú?aà??¨ò??úμ?êy?Y
         BUF  DB        20 DUP(?)
     STRING1  DB        'Please input the number :',0AH,0DH,'$'
     STRING2  DB        'NUM'
     STIRNG3  DB        31H,':'
        ERRO  DB        'The Number is invalid',0AH,0DH,'$'
         LEN  DB        3
            
       DATAS  ENDS
       CODES  SEGMENT               ;′ú????
              ASSUME    CS:CODES,DS:DATAS
      START:  MOV       AX,DATAS    ;3?ê??ˉ
              MOV       DS,AX
              MOV       CX,3        ;12óD20??êy
              XOR       SI,SI
              LEA       DX, STRING1
              MOV       AH ,9
              INT       21H
      INPUT:
              MOV       AH,1        ;ê?è?μú?t??êy
              INT       21H
              CMP       AL,'0'
              JB        ER
              CMP       AL,'9'
              JA        ER
              SUB       AL,'0'      ;×a??3é2????


              MOV       DL,AL
              PUSH      DX          ;è???
              MOV       AH,1        ;ê?è?μú?t??êy
              INT       21H
              CMP       AL,'0'
              JB        ER
              CMP       AL,'9'
              JA        ER
              SUB       AL,'0'
              MOV       DL, AL
              PUSH      DX          ;è???
              MOV       AH,1        ;ê?è?μúèy??êy
              INT       21H
              CMP       AL,0DH      ;è?ê???3μ?òò?12?íá???êy
              JZ        TWONUM      ;′|àí?aá???êy
              
              CMP       AL,'0'      ;·??ò?D??μúèy??êyê?·?óDD§
              JB        ER
              CMP       AL,'9'
              JA        ER
              SUB       AL,'0'
              MOV       BL, AL      ;????êy?Yê±±£′?
              POP       AX          ;ê???êy3???
              MOV       DL,10
              MUL       DL          ;ê???êy×?3?10
              ADD       AX, BX      ;?óé?????êy×?


              MOV       BX ,AX      ;è?oó?Yê±±£′?
              POP       AX          ;°ù??êy3???
              MOV       DL ,100
              MUL       DL          ;°ù??êy3?ò?100
              ADD       AX,BX       ;?óé?ê???êyoí????êy
              MOV       BUF[SI],AL  ;±£′?μ??o′???
              INC       SI
              MOV       DL ,0AH
              MOV       AH, 02H
              INT       21H
              MOV       DL, 0DH
              MOV       AH ,02H
              INT       21H
              LOOP      INPUT
              JMP       AGAIN3
         ER:
              LEA       DX,ERRO
              MOV       AH,9
              INT       21H
              JMP       INPUT
              MOV       AX,4C00H    ;í?3?3ìDò
              INT       21H
              
     TWONUM:
              MOV       DL ,0AH
              MOV       AH ,02H
              INT       21H
              MOV       DL ,0AH
              MOV       AH ,02H


              INT       21H
              MOV       DL ,0AH
              MOV       AH ,02H
              INT       21H
              MOV       DL ,0DH
              MOV       AH ,02H
              INT       21H
              POP       BX          ;????êy3???
              POP       AX          ;ê???êy3???
              MOV       DL ,10
              MUL       DL          ;ê???êy×?3?10
              ADD       AX, BX      ;?óé?????êy×?
              MOV       BUF[SI],AL  ;±£′?μ??o′???
              INC       SI
              DEC       CX
              CMP       CX,0
              JZ        AGAIN3
              JMP       INPUT
 

              XOR       AX,AX
              XOR       CX,CX
              XOR       BX,BX
              XOR       SI,SI
              XOR       DI,DI
              MOV       CX, 3
     AGAIN1:
              DEC       CX
              CMP       BX,CX       ;bx=i,cx=L£?cmp£¨i£?L-1£?


              JGE       OVER        ;i>=L-1ê±£?ía?-?·?áê?
              INC       CX
              INC       BX
              MOV       AX,BX       ;ax=bx+1 => j=i+1
     AGAIN2:
              CMP       AX,CX       ;ax=j,cx=L;cmp(j,L)
              JGE       CNTINU1     ;è?j>=L£??ú?-?·?áê?£?·??ò????êy?Y
              MOV       SI,BX       ;?¨ò?á???????£?si=i£?di=j·?±e???òêy×é?úμ?á???êy?Y
              MOV       DI,AX
              SHL       SI,1        ;si*2£??1?-êy?μ?úêy×é?Dμ?????
              SHL       DI,1
              PUSH      AX
              MOV       AL,BUF[SI]
              CMP       AL,BUF[DI]  ;±è??data[i]ó?data[j]
              JLE       CNTINU2
              XCHG      AL,BUF[DI]  ;è?óDdata[i]>data[j]£?????á???êy?μ
              MOV       BUF[SI],AL
    CNTINU2:
              POP       AX
              INC       AX
              JMP       AGAIN2
    CNTINU1:
              INC       BX
              JMP       AGAIN1

       OVER:
              XOR       CX,CX
              MOV       CL,LEN
              SHR       CX,1
              MOV       BX,0


     AGAIN3:
              MOV       AL,BUF[BX]
              MOV       BX,10
              MOV       CX,0
      NEXT1:
              MOV       DX,0
              DIV       BX
              ADD       DX,'0'
              PUSH      DX
              INC       CX
              CMP       AX,0
              JNZ       NEXT1
      NEXT2:
              POP       DX
              MOV       AH,02H
              INT       21H
              LOOP      NEXT2
              MOV       DL,20H
              INT       21H
              RET
              ADD       BX,2
              LOOP      AGAIN3

           
              
              MOV       CL,LEN
       CODES  ENDS
              END       START

[最优解释]
我有个程序 直接联系我吧
[其他解释]
略乱。。你该加点注释的
[其他解释]
注释怎么乱码了?
[其他解释]
copy代码,也把注释弄一下,这个大写的汇编+乱码的注释,

热点排行