Ýòà ïðîãðàììà âûçûâàåò 4660 ðàç
0182 2E: 88 04 MOV CS:[SI],AL ; Âûâîä ñèìâîëà â áóôåð
0185 2E: 89 1E 0160 R MOV BUFFER_TAIL,BX ; Çàíåñåíèå íîâîãî àäðåñà êîíöà áóôåðà
018A B4 00 MOV AH,0 ; Êîä âîçâðàòà èç ïðåðûâàíèÿ 17h
018C PRINT_RETURN:
018C 5E POP SI
018D 59 POP CX
018E 5B POP BX
018F CF IRET
0190 BUFFER_FULL:
0190 E2 DF LOOP PRINT_LOOP ; Ïîâòîðèòü öèêë ïðîâåðêè çàíÿòîñòè áóôåðà
0192 B4 01 MOV AH,1 ; Áóôåð çàíÿò ñëèøêîì äîëãî,îøèáêà
0194 EB F6 JMP PRINT_RETURN
0196 PRINT_HANDLER ENDP
Ôèã. 10.1 Áóôåð ïå÷àòè (ïðîäîëæåíèå)
;----- Ýòà ïðîãðàììà âûçûâàåò 4660 ðàç â ñåêóíäó
0196 TIMER_HANDLER PROC FAR
ASSUME CS:CODE,DS:nothing,ES:nothing
0196 50 PUSH AX
0197 53 PUSH BX
0198 2E: 8B 1E 015E R MOV BX,BUFFER_HEAD
019D 2E: 3B 1E 0160 R CMP BX,BUFFER_TAIL ; Åñòü ëè ÷òî-íèáóäü â áóôåðå?
01A2 75 14 JNZ TEST_READY ; Ïåðåõîä,åñëè áóôåð íå ïóñò
;----- Ýòà ïîäïðîãðàììà óïðàâëÿåò òàéìåðîì â ñêîðîñòíîì ðåæèìå
01A4 TIMER_RETURN:
01A4 5B POP BX
01A5 2E: FE 06 015D R INC TIMER_COUNT ; Óâåëè÷åíèå ñ÷åò÷èêà äåëèòåëÿ òàéìåðà
01AA 75 06 JNZ SKIP_NORMAL
Ñîäåðæàíèå Íàçàä Âïåðåä
Forekc.ru
Ðåôåðàòû, äèïëîìû, êóðñîâûå, âûïóñêíûå è êâàëèôèêàöèîííûå ðàáîòû, äèññåðòàöèè, ó÷åáíèêè, ó÷åáíûå ïîñîáèÿ, ëåêöèè, ìåòîäè÷åñêèå ïîñîáèÿ è ðåêîìåíäàöèè, ïðîãðàììû è êóðñû îáó÷åíèÿ, ïóáëèêàöèè èç ïðîôèëüíûõ èçäàíèé