Âðåìÿ ñóòîê - ÷àñòü 4
0021 75 FA JNZ LOW_TO_HIGH ; Öèêë: ñèãíàë òàéìåðà 2 íà
; íèæíåì óðîâíå
0023 WAIT_HIGH:
0023 E4 62 IN AL, 62H ; Ïðîâåðêà ðàçðÿäà òàéìåðà 2
0025 A8 20 TEST AL, 20H
0027 74 FA JZ WAIT_HIGH ; Öèêë: ñèãíàë òàéìåðà 2 íà
; âåðõíåì óðîâíå
0029 B0 00 MOV AL, 0 ; Ïîñëàòü êîìàíäó â ðåãèñòð óïðàâëåíèÿ òàé-
002B E6 43 OUT 43H, AL ; ìåðîì 2, êîòîðàÿ "çàìîðàæèâàåò" òàéìåð 2
002D 90 NOP
002E 90 NOP ; Çàäåðæêà, íåîáõîäèìàÿ äëÿ 8253
002F E4 40 IN AL, 40H ; ×òåíèå ìëàäøåãî áàéòà ñ÷åò÷èêà
0031 8A E0 MOV AH, AL
0033 90 NOP
0034 E4 40 IN AL, 40H ; ×òåíèå ñòàðøåãî áàéòà ñ÷åò÷èêà
0036 86 E0 XCHG AH, AL
0038 C3 RET ; Âîçâðàùåíèå çíà÷åíèÿ â AX
0039 LOW_TO_HIGH ENDP
0039 CODE ENDS
END
Ôèã. 8.5 Ñèñòåìíûé òàéìåð (ïðîäîëæåíèå)
÷àñòè ïðîãðàììû ýòîò êàíàë òàéìåðà çàãðóæàåòñÿ èçâåñòíûì çíà÷åíèåì.
Çäåñü ìû ïðîèçâîëüíî âûáðàëè ÷èñëî 500H. Îáðàòèòå âíèìàíèå, ÷òî ýòà
÷àñòü ïðîãðàììû èäåíòè÷íà ñïîñîáó ãåíåðàöèè çâóêîâ ñ ïîìîùüþ âòîãî
êàíàëà òàéìåðà.
Íàøà ïðîãðàììà âûçûâàåò ïîäïðîãðàììó LOW_TO_HIGH, êîòîðàÿ
âîçâðàùàåò çíà÷åíèå òàéìåðà â òîò ìîìåíò, êîãäà íà âûõîäå êàíàëà 2
Ñîäåðæàíèå Íàçàä Âïåðåä