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

📄 code3.txt

📁 编译原理的一个实验程序
💻 TXT
字号:
STACK       SEGMENT STACK    
            DW  100  DUP(?)

STACK       ENDS

CODE        SEGMENT
            ASSUME CS:CODE,SS:STACK,DS:CODE
            ORG 0100H

MAIN        PROC    FAR

START1:     XOR AX,AX
            XOR BX,BX
            XOR CX,CX
            XOR DX,DX

            MOV SI,50H
            MOV [SI],WORD PTR   65535D
            MOV [SI+2],WORD PTR 65535D
            MOV [SI+4],WORD PTR 65535D
            MOV [SI+6],WORD PTR 303H

            MOV AL,10010010B
            MOV DX,[SI+6]  
            OUT DX,AL


            CALL REDA1
            CALL REDB1
            CALL GREAB1
            CALL GRECD1
            CALL YEALLY1

            MOV CX,3H
     START: CALL REDA0
            CALL REDB0
            CALL DELAY6

            CALL REDA1
            CALL GREAB0
            CALL DELAY12

            CALL GREAB1
            CALL REDB1

            MOV  BX,8H
        B1: CALL YEALLY0
            CALL DELAY1
            CALL YEALLY1
            CALL DELAY1
            DEC BX
            JNZ B1

            CALL REDA0
            CALL GRECD0
            CALL DELAY12
            CALL REDA1
            CALL GRECD1


            MOV BX,8H
        C1: CALL YEALLY0
            CALL DELAY1
            CALL YEALLY1
            CALL DELAY1
            DEC BX
            JNZ  C1

            CALL REDB0

            LOOP START
            RET
MAIN        ENDP

DELAY12     PROC NEAR
            PUSH CX
            PUSH BX
            PUSH AX

            
            MOV BX,6553D
       X1:  MOV CX,[SI]
       X2:  LOOP  X2
            DEC BX
            JNZ X1
            POP AX
            POP BX
            POP CX
            RET
DELAY12     ENDP

DELAY6      PROC NEAR
            PUSH CX
            PUSH BX
            PUSH AX

            MOV BX,6553D
       Y1:  MOV CX,[SI+2]
       Y2:  LOOP  Y2
            DEC BX
            JNZ Y1
            POP AX
            POP BX
            POP CX
            RET
DELAY6      ENDP

DELAY1     PROC NEAR
            PUSH CX
            PUSH BX
            PUSH AX

            
            MOV BX,6553D
       Z1:  MOV CX,[SI+4]
       Z2:  LOOP  Z2
            DEC BX
            JNZ Z1
            POP AX
            POP BX
            POP CX
            RET
DELAY1      ENDP

REDA0       PROC   NEAR
            PUSH  DX
            PUSH  AX
            MOV AX,[SI+6]
            MOV DX,AX
            MOV AL,00000000B
            OUT DX,AL
            POP AX
            POP DX
            RET
REDA0       ENDP 
REDA1       PROC   NEAR
            PUSH  DX
            PUSH  AX
            MOV AX,[SI+6]
            MOV DX,AX
            MOV AL,00000001B
            OUT DX,AL
            POP AX
            POP DX
            RET
REDA1       ENDP

REDB0       PROC   NEAR
            PUSH  DX
            PUSH  AX
            MOV AX,[SI+6]
            MOV DX,AX
            MOV AL,00000010B
            OUT DX,AL
            POP AX
            POP DX
            RET
REDB0       ENDP

REDB1       PROC   NEAR
            PUSH  DX
            PUSH  AX
            MOV AX,[SI+6]
            MOV DX,AX
            MOV AL,0000011B
            OUT DX,AL
            POP AX
            POP DX
            RET
REDB1       ENDP

GREAB0      PROC   NEAR
            PUSH  DX
            PUSH  AX
            MOV AX,[SI+6]
            MOV DX,AX
            MOV AL,00000100B
            OUT DX,AL
            POP AX
            POP DX
            RET
GREAB0      ENDP

GREAB1      PROC   NEAR
            PUSH  DX
            PUSH  AX
            MOV AX,[SI+6]
            MOV DX,AX
            MOV AL,00000101B
            OUT DX,AL
            POP AX
            POP DX
            RET
GREAB1      ENDP

GRECD0      PROC   NEAR
            PUSH  DX
            PUSH  AX
            MOV AX,[SI+6]
            MOV DX,AX
            MOV AL,00000110B
            OUT DX,AL
            POP AX
            POP DX
            RET
GRECD0      ENDP

GRECD1      PROC   NEAR
            PUSH  DX
            PUSH  AX
            MOV AX,[SI+6]
            MOV DX,AX
            MOV AL,00000111B
            OUT DX,AL
            POP AX
            POP DX
            RET
GRECD1      ENDP
YEALLY0     PROC   NEAR
            PUSH  DX
            PUSH  AX
            MOV AX,[SI+6]
            MOV DX,AX
            MOV AL,00001000B
            OUT DX,AL
            POP AX
            POP DX
            RET
YEALLY0     ENDP

YEALLY1     PROC   NEAR
            PUSH  DX
            PUSH  AX
            MOV AX,[SI+6]
            MOV DX,AX
            MOV AL,00001001B
            OUT DX,AL
            POP AX
            POP DX
            RET
YEALLY1     ENDP
CODE        ENDS
            END  START1 

⌨️ 快捷键说明

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