📄 ddd.asm
字号:
STACK SEGMENT STACK
DW 64 DUP(?)
STACK ENDS
DATA SEGMENT
TABLE1 DB 4EH,6FH,72H,6DH,61H,6CH,3AH,20H,20H,00H
TABLE2 DB 41H,6CH,61H,72H,6DH,3AH,20H,20H,20H,00H
DATA1 DB ?
DATA2 DB ?
DATA3 DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AL,82H
OUT 63H,AL ;init 8255
MOV AL,00H
OUT 60H,AL
MOV DATA1,30H
MOV DATA2,30H
MOV DATA3,30H
OUT 00H,AL
CALL DALLY
IN AL,00H
MOV CL,AL
AND AX,00FFH ;chage to 10 model
MOV BL,64H
MUL BL
MOV BL,0FFH
DIV BL
MOV CH,AL ;check the tempreture
CMP AL,32H
JA A0
MOV AL,00H
OUT 60H,AL ;set 8255 value:00H
JMP A1
A0: MOV AL,03H
OUT 60H,AL ;set 8255 value:03H
A1: ;Display
CMP CH,32H
JA A2
MOV BX,OFFSET TABLE1
JMP A3
A2: MOV BX,OFFSET TABLE2
A3: MOV AH,06H
INT 10H
MOV AL,CH ;get 10 metrix tempriture
AND AX,00FFH
MOV BL,0AH
DIV BL
CMP AL,0AH
JZ A4
ADD DATA2,AL
ADD DATA3,AH
JMP A5
A4:
ADD DATA1,01H
ADD DATA3,AH
A5:
MOV AH,01H
MOV AL,DATA1
INT 10H
MOV AH,01H
MOV AL,DATA2
INT 10H
MOV AH,01H
MOV AL,DATA3
INT 10H
MOV AX,010DH
INT 10H
MOV AL,CL
CALL DALLY
JMP START
DALLY: PUSH CX
PUSH AX
MOV CX,00FFH
M1: MOV AX,0000H
PUSH CX
MOV CX,00FFH
M2: MOV AX,0000H
LOOP M2
POP CX
LOOP M1
POP AX
POP CX
RET
CODE ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -