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


         

×òåíèå ñòàðîé çàïèñè èç


             0248  8D 16 0189 R                 LEA     DX, INPUT_BAD_MSG       ; Ñîîáùåíèå îá îøèáêå
             024C                   KEYBOARD_ERROR:
             024C  B4 09                        MOV     AH, 9H
             024E  CD 21                        INT     21H             ; Ïå÷àòü ñîîáùåíèÿ îá îøèáêå
             0250  EB E7                        JMP     KEYBOARD_LOOP         ; Ïîâòîðíûé ââîä
             0252                   KEY_INPUT_OK:
             0252  8D 16 01AB R                 LEA     DX, CHAR_BAD_MSG            ; Óñòàíîâêà óêàçàòåëÿ íà
                                                                  ;  ñîîáùåíèå îá îøèáêå
             0256  A0 0105 R                    MOV     AL, KEYBOARD_BUFFER+2   ; Âûáîðêà ïåðâîãî ñèìâîëà
             0259  3C 24                        CMP     AL, '$'                 ; Ñðàâíåíèå ñ ñèìâîëîì êîíöà
             025B  75 03                        JNE     CHANGE_RECORD         ; Èçìåíåíèå çàïèñè
             025D  EB 5C 90                     JMP     PROGRAM_EXIT
 
                                    ;-----  ×òåíèå ñòàðîé çàïèñè èç ôàéëà
             0260                   CHANGE_RECORD:
             0260  3C 41                        CMP     AL, 'A'                 ; Ïðîâåðêà íà òî, ÷òî ñèìâîë
             0262  7C E8                        JL      KEYBOARD_ERROR        ;  íàõîäèòñÿ â äèàïàçîíå A-Z
             0264  3C 5A                        CMP     AL, 'Z'
             0266  77 E4                        JA      KEYBOARD_ERROR
             0268  2A E4                        SUB     AH, AH                ; Ïðåîáðàçîâàíèå ñèìâîëà â
             026A  2C 41                        SUB     AL, 'A'                 ;  íîìåð çàïèñè
             026C  A3 007D R                    MOV     word ptr FCB_RANDOM_RECORD, AX  ; Çàíåñåíèå íîìåðà â FCB
             026F  8D 16 005C R                 LEA     DX, FCB
             0273  B4 21                        MOV     AH, 21H               ; Ïðÿìîå ÷òåíèå çàïèñè

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