Òåêñòîâûé ðåæèì - ÷àñòü 9
; öâåòíîãî äèñïëåÿ
003B WAIT_NO_RETRACE:
003B EC IN AL, DX ; Ïðîâåðêà íà îáðàòíûé õîä ëó÷à
003C A8 01 TEST AL, 1
003E 75 FB JNZ WAIT_NO_RETRACE ; Çàïðåùåíèå ïðåðûâàíèé
0040 FA CLI
0041 WAIT_RETRACE:
0041 EC IN AL, DX
0042 A8 01 TEST AL, 1
0044 74 FB JZ WAIT_RETRACE ; Îæèäàíèå îáðàòíîãî õîäà ëó÷à
0046 8B C3 MOV AX, BX ; Âûáîðêà ñèìâîëà
0048 AB STOSW ; Çàíåñåíèå â äèñïëåéíûé áóôåð
0049 FB STI ; Ðàçðåøåíèå ïðåðûâàíèé
004A E2 EF LOOP WAIT_NO_RETRACE
004C FE C3 INC BL
004E 75 E2 JNZ NEXT_CHAR_1
;----- Ôèã. 8.12 (â) Âûâîä ëèíèè ïî äèàãîíàëè
Ôèã. 8.12 Ïðîãðàììà óïðàâëåíèÿ öâåòíûì äèñïëååì (ïðîäîëæåíèå)
0050 B8 0004 MOV AX, 4
0053 CD 10 INT 10H ; Óñòàíîâêà ãðàôè÷åñêîãî
; ðåæèìà 320*200
0055 06 PUSH ES
0056 1F POP DS
0057 B3 32 MOV BL, 50 ; ×èñëî ãðóïï ñòðîê
0059 B1 02 MOV CL, 2 ; Ñ÷åò÷èê ñäâèãà
005B BF 0000 MOV DI, 0
005E DOT_LOOP:
005E B0 C0 MOV AL, 0C0H ;  AL ìàñêà ïåðâîé òî÷êè â áàéòå
Ñîäåðæàíèå Íàçàä Âïåðåä