该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
;代码处:
;--------------------------------------------
MOV CX, 33144;
MOV SI, OFFSET FRS;
MOV BH, 25;
CYC: MOV AL, 0B6H;
OUT 43H, AL;
MOV AX, WORD PTR [SI];
ADD SI, 2;
OUT 42H, AL;
MOV AL, AH;
OUT 42H, AL;
IN AL, 61H;
MOV AH, AL;
OR AL, 11B;
OUT 61H, AL;
MOV BL, BYTE PTR [SI];
INC SI;
RW: CALL WAITC;
DEC BL;
JNZ RW;
MOV AL, AH;
OUT 61H, AL;
DEC BH;
JNZ CYC;
;--------------------------------------------
END0: MOV AH, 4CH;
INT 21H;
;******************** 函数定义 ********************
WAITC PROC NEAR
PUSH AX;
W1: IN AL, 61H;
AND AL, 10H;
CMP AL, AH;
JZ W1;
MOV AH, AL;
LOOP W1;
POP AX;
RET;
WAITC ENDP
;******************** 程序结束 ********************
END START
这段代码实现了一个基于BIOS中断的定时器,使用了8254计数器,通过向端口43H和42H写入特定值来设置定时周期,并在中断处理程序中调整A20门禁状态位。定时器循环执行,每次循环读取并更新计数值,直到达到预设次数。
1537

被折叠的 条评论
为什么被折叠?



