123.asm

来自「用8255新片连接输入输出电路,输入设备是一组(8)个开关」· 汇编 代码 · 共 91 行

ASM
91
字号
MY8255_A   EQU  9C60H
MY8255_B   EQU  9C61H
MY8255_C   EQU  9C62H
MY8255_M   EQU 9C63H
DATAS SEGMENT
X DB ?
DATAS ENDS
CODE  SEGMENT
   ASSUME  CS:CODE,DS:DATAS
START:
      MOV AX,DATAS
      MOV DS,AX
      MOV DX,MY8255_M
      MOV AL,82H
      OUT DX,AL
   A0:MOV DX,MY8255_B
       IN AL,DX
    MOV X,AL
      MOV DX,MY8255_A
      OUT DX,AL
      CALL DELAY
   XOR X,0FEH
       JZ CIRCUIT1
      MOV X,AL
      XOR X,0FCH
       JZ CIRCUIT2
      MOV X,AL
      A1:XOR X,0F8H
       JZ CIRCUIT3
      MOV X,AL
      XOR X,0F0H
       JZ CIRCUIT4
      JMP A0
CIRCUIT1:ROL AL,1
        MOV AH,AL
        MOV DX,MY8255_A
         OUT DX,AL
         CALL DELAY
         MOV DX,MY8255_B
         IN AL,DX
         CMP AL,0FEH
         JNZ A0
         MOV AL,AH
         JMP CIRCUIT1
CIRCUIT2:MOV CL,2
ROL AL,CL
         MOV AH,AL
 MOV DX,MY8255_A
                OUT DX,AL
         CALL DELAY
         MOV DX,MY8255_B
         IN AL,DX
         CMP AL,0FCH
         JNZ A0
         MOV AL,AH
         JMP CIRCUIT2
CIRCUIT3:MOV CL,3
ROL AL,CL
         MOV AH,AL
 MOV DX,MY8255_A
               OUT DX,AL
         CALL DELAY
         MOV DX,MY8255_B
         IN AL,DX
         CMP AL,0F8H
      JNZ A0
         MOV AL,AH
   JMP CIRCUIT3
CIRCUIT4:MOV CL,4
         ROL AL,CL
          MOV AH,AL
 MOV DX,MY8255_A
         OUT DX,AL
         CALL DELAY
         MOV DX,MY8255_B
         IN AL,DX
        CMP AL,0F0H
         JZ JUMP
         JMP A0
         JUMP:MOV AL,AH
       JMP CIRCUIT4
    DELAY:MOV CX,0FFFH
      D1:MOV BX,0FFFFH
      D2:DEC BX
         JNZ D2
        LOOP D1

        RET
   CODE  ENDS
          END START

⌨️ 快捷键说明

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