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


              

Ýòà ïðîãðàììà âûçûâàåò 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
Ðåôåðàòû, äèïëîìû, êóðñîâûå, âûïóñêíûå è êâàëèôèêàöèîííûå ðàáîòû, äèññåðòàöèè, ó÷åáíèêè, ó÷åáíûå ïîñîáèÿ, ëåêöèè, ìåòîäè÷åñêèå ïîñîáèÿ è ðåêîìåíäàöèè, ïðîãðàììû è êóðñû îáó÷åíèÿ, ïóáëèêàöèè èç ïðîôèëüíûõ èçäàíèé