exp1_1.asm

来自「微机接口芯片8255 8254 ADC0809的实验」· 汇编 代码 · 共 50 行

ASM
50
字号
data segment 
      IOPORT EQU 0C400H-0280H
      IO8253 EQU IOPORT+283H
      IO8253A EQU IOPORT+280H    ;地址替换
data ends

stack1 SEGMENT STACK
  DW 100H DUP(?)                  ;定义堆栈段
Stack1 ENDS

CODE SEGMENT
  ASSUME CS:CODE,ds:data,ss:stack1

  START:  MOV  AX,Data
          MOV  DS,AX

          MOV  AL,10H     ;计数器0,方式0    
          MOV  DX,IO8253   
          OUT  DX,AL      ;写控制字
          MOV  AL,4       
          MOV  DX,IO8253A 
          OUT  DX,AL      ;写入计数初值

   LOOP1: MOV  DX,IO8253A
          IN   AL,DX      ;读计数器   
          CMP  AL,9       ;转换为ASCII码      
          JA   test1      ;大于9跳到test1
          ADD  AL,30H     ;小于等于9,加30h
          JMP  DISPLAY
  test1:  ADD  AL,37H     ;大于9加37h

 DISPLAY: MOV  DL,AL     
          MOV  AH,02H
          INT  21H        ;显示计数值

          MOV  DL,0FFH   
          MOV  AL,06H
          INT  21H
          JZ   LOOP1     ;无按键时循环读计数器

          MOV  AH,4CH     
          INT 21H        ;返回dos

CODE ENDS
      END START




⌨️ 快捷键说明

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