要用汇编语言写一个程序,它先接收一个字符串,然后抽去其中的空格,最后按相反的顺序显示这个序列。

如题所述

        CODE  SEGMENT
              ASSUME    CS:CODE

         BUF  DB        255,?,255 DUP('$')
      RE_STR  DB        255 DUP(?)
           N  DB        0

      START:  PUSH      CS
              POP       DS
              PUSH      CS
              POP       ES

              MOV       AH,10
              LEA       DX,BUF
              INT       21H
              MOV       AH,2
              MOV       DL,13
              INT       21H
              MOV       DL,10
              INT       21H
              
              LEA       SI,BUF
              MOV       CL,[SI+1]
              XOR       CH,CH
              ADD       SI,2
              LEA       DI,RE_STR
              MOV       DL,0
              CLD
         @0:
              LODSB
              CMP       AL,32
              JE        @1
              STOSB
              INC       DL
         @1:
              LOOP      @0
              MOV       N,DL

              LEA       SI,RE_STR
              XOR       DH,DH
              ADD       SI,DX
              DEC       SI
              MOV       CX,DX
              MOV       AH,2
              STD
         @2:
              LODSB
              MOV       DL,AL
              INT       21H
              LOOP      @2
              
              MOV       AH,4CH
              INT       21H
        CODE  ENDS
              END       START

温馨提示:答案为网友推荐,仅供参考
相似回答