Assembler äëÿ íà÷èíàþùèõ


         

â ðåãèñòðå AX çíà÷åíèå ñ÷åò÷èêà


                                          ASSUME  CS:CODE
             0000                   TIMER   PROC    FAR
             0000  1E                     PUSH    DS        ; Çàíåñåíèå àäðåñà âîçâðàòà
             0001  B8 0000                      MOV     AX, 0
             0004  50                     PUSH    AX
 
             0005  B0 B6                        MOV     AL, 10110110B   ; Âûáîðêà òàéìåðà 2
             0007  E6 43                        OUT     43H, AL
             0009  B8 0500                      MOV     AX, 500H
             000C  E6 42                        OUT     42H, AL         ; Òàéìåð 2 óñòàíîâëåí íà 500 îòñ÷åòîâ
             000E  8A C4                        MOV     AL, AH
             0010  E6 42                        OUT     42H, AL
 
             0012  E8 001D R                    CALL    LOW_TO_HIGH     ; Âûáîðêà âðåìåíè ïåðâîãî ïåðåõîäà ñ 0 íà 1
             0015  8B D8                        MOV     BX, AX          ; Ñîõðàíåíèå çíà÷åíèÿ â ðåãèñòðå BX
             0017  E8 001D R                    CALL    LOW_TO_HIGH     ; Âûáîðêà âðåìåíè âòîðîãî ïåðåõîäà ñ 0 íà 1
             001A  2B D8                        SUB     BX, AX          ; Âû÷èòàÿ ïîëó÷àåì äëèíó öèêëà
             001C  CB                     RET
             001D                   TIMER   ENDP
 
                  Ôèã. 8.5 Óïðàâëåíèå ñèñòåìíûì òàéìåðîì (íà÷àëî)
                                    ;--------------------------------------------
                                    ; Ýòà ïîäïðîãðàììà æäåò ïåðåõîäà ñ íèæíåãî óðîâíÿ
                                    ;  ñèãíàëà íà âåðõíèé (ñ 0 íà 1) â òàéìåðå 2
                                    ;  è âîçâðàùàåò â ðåãèñòðå AX çíà÷åíèå ñ÷åò÷èêà òàéìåðà 0
                                    ;--------------------------------------------
             001D                   LOW_TO_HIGH     PROC    NEAR
             001D  E4 62                        IN      AL, 62H         ; Ïðîâåðêà ðàçðÿäà òàéìåðà 2
             001F  A8 20                        TEST    AL, 20H

Ñîäåðæàíèå  Íàçàä  Âïåðåä