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


         

ìîíîõðîìíîãî äèñïëåÿ, âû ñìîæåòå ñäåëàòü


    ìîíîõðîìíîãî äèñïëåÿ, âû ñìîæåòå ñäåëàòü ýòî, çàïèñàâ íîâûå ñèìâîëû
    èëè àòðèáóòû â áóôåð äèñïëåÿ ïî àäðåñó 0B000H. Ýòî íå èçìåíèò
    ïîëîæåíèÿ êóðñîðà, íî èçìåíèò êàðòèíêó.  ýòîì ñëó÷àå åñëè âû
    õîòèòå èçìåíÿòü òåêñò îäíîâðåìåííî íà öâåòíîì è ìîíîõðîìíîì
    äèñïëåÿõ, âû äîëæíû íàïèñàòü ñîáñòâåííóþ ïðîãðàììó îáñëóæèâàíèÿ
    ìîíîõðîìíîãî äèñïëåÿ. Èëè âû ìîæåòå âûÿñíèòü, êàêèå çíà÷åíèÿ íàäî
    èçìåíèòü â ïîëå äàííûõ BIOS, ÷òîáû êóðñîð ïåðåøåë íàçàä, è
    âûïîëíèòü íóæíûå äåéñòâèÿ, íå èíèöèàëèçèðóÿ àäàïòåð êàæäûé ðàç.
 
             Microsoft (R) Macro Assembler Version 5.00                1/1/80 04:06:26
             Ôèã. 9.7 Ïåðåêëþ÷åíèå íà öâåòíîé äèñïëåé            Page     1-1
 
 
                                           PAGE ,132
                                           TITLE      Ôèã. 9.7 Ïåðåêëþ÷åíèå íà öâåòíîé äèñïëåé
              0000                        STACK      SEGMENT STACK
              0000      0040[                   DW   64 DUP (?)
                      ????
                                ]
 
              0080                        STACK      ENDS
              0000                        ABS0 SEGMENT AT 0
              0410                              ORG  410H
              0410                        EQUIP_FLAG LABEL      BYTE ; Áóäåò èçìåíÿòüñÿ òîëüêî ìëàäøèé
              0410                        ABS0 ENDS             ;  áàéò ïîëÿ ôëàãîâ
 
 
              0000                        CODE SEGMENT
                                           ASSUME  CS:CODE,DS:ABS0
                                     COLOR      PROC FAR
              0000      1E                      PUSH DS         ; Àäðåñ âîçâðàòà â ÄÎÑ
              0001      2B C0                   SUB  AX, AX
              0003      50                      PUSH AX
 
              0004      8E D8                   MOV  DS, AX      ; Çàãðóçêà àäðåñà ñåãìåíòà ABS0 â ðåãèñòð DS
              0006      80 26 0410 R CF          AND  EQUIP_FLAG, 11001111b  ; Óêàçàíèå íà öâåòíîé äèñïëåé êàê
              000B      80 0E 0410 R 20          OR   EQUIP_FLAG, 00100000b  ;  íà îñíîâíîé (ðåæèì 80*25)
              0010      B8 0003                  MOV  AX, 3
              0013      CD 10                   INT  10H        ; Ñáðîñ äèñïëåÿ
              0015      C3                      RET              ; Âîçâðàò â ÄÎÑ
                                     COLOR      ENDP
              0016                        CODE ENDS
                                           END
 
             Ôèã. 9.7 Ïåðåêëþ÷åíèå íà öâåòíîé äèñïëåé

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