LED.ASM
上传用户:hb3158
上传日期:2020-11-29
资源大小:1k
文件大小:2k
- BAUD_REG EQU 0EH
- SPTEMP EQU 28H
- TXBUF EQU 30H
- RXBUF EQU 32H
- NUM EQU 34H
- FLAG EQU 36H
- AD_LOW EQU 02H
- AD_HIGH EQU 03H
- FLAG_0 EQU 38H
- CSEG AT 200CH
- DCW SP_INT
- CSEG AT 2080H
- LDB IOPORT1,#0
- LDB FLAG_0,#2
- MEAN:LDB AD_COMMAND,#00001000B
- NOP
- NOP
- ADBUSY1:JBS AD_LOW,3,ADBUSY1
- LDB AH,AD_HIGH
- LDB AL,AD_LOW
- SHR AX,#6
- ST AX,4004H
- LDB AD_COMMAND,#00001000B
- NOP
- NOP
- ADBUSY2:JBS AD_LOW,3,ADBUSY2
- LDB CH,AD_HIGH
- LDB CL,AD_LOW
- SHR CX,#6
- ST CX,4006H
- ADD AX,CX
- LDB AD_COMMAND,#00001000B
- NOP
- NOP
- ADBUSY3:JBS AD_LOW,3,ADBUSY3
- LDB CH,AD_HIGH
- LDB CL,AD_LOW
- SHR CX,#6
- ST CX,4008H
- ADD AX,CX
- LDB AD_COMMAND,#00001000B
- NOP
- NOP
- ADBUSY4:JBS AD_LOW,3,ADBUSY4
- LDB CH,AD_HIGH
- LDB CL,AD_LOW
- SHR CX,#6
- ST CX,400AH
- ADD AX,CX
- SHR AX,#2
- ST AX,4002H
- MULU AX,#500
- DIVU AX,#1023
- ST AX,4000H
- NEXT: LD SP,#0E0H
- LD IOC1,#00100000B
- LDB BAUD_RATE,#26H
- LDB BAUD_RATE,#80H
- LDB SP_CON,#00001001B
- STB SBUF,AL
- CLRB FLAG
- LD TXBUF,#4000H
- LD RXBUF,#4010H
- LDB NUM,#13
- LDB INT_MASK,#01000000B
- EI
- LDB SBUF,[TXBUF]+
- WAIT: LJMP WAIT
- SP_INT:
- PUSHF
- LDB SPTEMP,SP_STAT
- JBS SPTEMP,5,TX
- JBS SPTEMP,6,RX
- RETURN:
- CLRB SPTEMP
- POPF
- RET
- TX: JBS FLAG,0,RETURN
- DECB NUM
- JE MEAN2
- LDB FLAG,#1
- LDB SBUF,[TXBUF]+
- SJMP RETURN
- RX: JBC FLAG,0,RETURN
- LdB FLAG,#0
- LDB AL,SBUF
- STB AL,[RXBUF]+
- SJMP RETURN
- LIGHT: LDB 0FH,#01
- LJMP RETURN
- MEAN2:
- DECB FLAG_0
- JE LIGHT
- LDB AD_COMMAND,#00001010B
- NOP
- NOP
- ADBUSY5:JBS AD_LOW,3,ADBUSY5
- LDB AH,AD_HIGH
- LDB AL,AD_LOW
- SHR AX,#6
- ST AX,4024H
- LDB AD_COMMAND,#00001000B
- NOP
- NOP
- ADBUSY6:JBS AD_LOW,3,ADBUSY6
- LDB CH,AD_HIGH
- LDB CL,AD_LOW
- SHR CX,#6
- ST CX,4026H
- ADD AX,CX
- LDB AD_COMMAND,#00001000B
- NOP
- NOP
- ADBUSY7:JBS AD_LOW,3,ADBUSY7
- LDB CH,AD_HIGH
- LDB CL,AD_LOW
- SHR CX,#6
- ST CX,4028H
- ADD AX,CX
- LDB AD_COMMAND,#00001000B
- NOP
- NOP
- ADBUSY8:JBS AD_LOW,3,ADBUSY8
- LDB CH,AD_HIGH
- LDB CL,AD_LOW
- SHR CX,#6
- ST CX,402AH
- ADD AX,CX
- SHR AX,#2
- ST AX,4022H
- MULU AX,#500
- DIVU AX,#1023
- ST AX,4020H
- NEXT2: LD SP,#0E0H
- LD IOC1,#00100000B
- LDB BAUD_RATE,#26H
- LDB BAUD_RATE,#80H
- LDB SP_CON,#00001001B
- STB SBUF,AL
- CLRB FLAG
- LD TXBUF,#4020H
- LD RXBUF,#4030H
- LDB NUM,#13
- LDB INT_MASK,#01000000B
- EI
- LDB SBUF,[TXBUF]+
- WAIT2: LJMP WAIT
- END