⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 e411_05.asm

📁 汇编的大作业源代码 包括基本和进阶的汇编语言的运用 对初学者很有帮助 内有更详细说明
💻 ASM
字号:
STACK     SEGMENT     PARA  STACK
          DW          100   DUP(?)
STACK     ENDS

DATA      SEGMENT     PARA
STRING1   DB          'ABOVE $'
STRING2   DB          'ABOUT $'
STRING3   DB          'AGAIN $'
NEW_LINE  DB          0DH,0AH,'$'
LEN       DB          5
DATA      ENDS

CODE      SEGMENT     PARA
          ASSUME      CS:CODE,DS:DATA,ES:DATA,SS:STACK
          
MAIN      PROC        FAR
          MOV         AX,DATA
          MOV         DS,AX
          MOV         ES,AX
          MOV         AX,STACK
          MOV         SS,AX
          XOR         CX,CX
          XOR         AX,AX
          
START:    MOV         AH,9
          MOV         DX,OFFSET STRING1
          INT         21H
          
          MOV         AH,9
          MOV         DX,OFFSET STRING2
          INT         21H
          
          MOV         AH,9
          MOV         DX,OFFSET STRING3
          INT         21H
          
          MOV         AH,9
          MOV         DX,OFFSET NEW_LINE
          INT         21H
          
BEGIN:    PUSH        ES
          PUSH        DS
          POP         ES
          MOV         SI,OFFSET STRING1
          MOV         DI,OFFSET STRING2
          MOV         CL,LEN
          CLD
          REPZ   CMPSB
          
          JNA    STEP2
          MOV         CL,LEN
          MOV         SI,OFFSET STRING1
          MOV         DI,OFFSET STRING2
CHANGE1:  MOV         AL,[SI]
          XCHG        AL,[DI]
          MOV         [SI],AL
          INC         SI
          INC         DI
          LOOP        CHANGE1
          
STEP2:    PUSH        ES
          PUSH        DS
          POP         ES
          MOV         SI,OFFSET STRING1
          MOV         DI,OFFSET STRING3
          MOV         CL,LEN
          CLD
          REPZ   CMPSB
          
          JNA    STEP3
          MOV         CL,LEN
          MOV         SI,OFFSET STRING1
          MOV         DI,OFFSET STRING3
CHANGE2:  MOV         AL,[SI]
          XCHG        AL,[DI]
          MOV         [SI],AL
          INC         SI
          INC         DI
          LOOP        CHANGE2
          
STEP3:    PUSH        ES
          PUSH        DS
          POP         ES
          MOV         SI,OFFSET STRING2
          MOV         DI,OFFSET STRING3
          MOV         CL,LEN
          CLD
          REPZ   CMPSB
          
          JNA         EXIT
          MOV         CL,LEN
          MOV         SI,OFFSET STRING1
          MOV         DI,OFFSET STRING2
CHANGE3:  MOV         AL,[SI]
          XCHG        AL,[DI]
          MOV         [SI],AL
          INC         SI
          INC         DI
          LOOP        CHANGE3
          
EXIT:     MOV         AH,9
          MOV         DX,OFFSET STRING1
          INT         21H
          
          MOV         AH,9
          MOV         DX,OFFSET STRING2
          INT         21H
          
          MOV         AH,9
          MOV         DX,OFFSET STRING3
          INT         21H
          
          MOV         AX,4C00H
          INT         21H
MAIN      ENDP
CODE      ENDS
          END         MAIN

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -