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


         

 ðåãèñòðå CX ñåãìåíòíàÿ ÷àñòü


              003C      76 0E                   JBE  DISK_OK
              003E                        RECORD_NOT_FOUND:
              003E      58                      POP  AX         ; Âîññòàíîâëåíèå ðåãèñòðîâ
              003F      07                      POP  ES
              0040      1F                      POP  DS
              0041      5F                      POP  DI
              0042      5E                      POP  SI
              0043      5A                      POP  DX
              0044      59                      POP  CX
              0045      5B                      POP  BX
              0046      B4 04                   MOV  AH, 4            ; Îøèáêà: ñåêòîð íå íàéäåí
              0048      F9                      STC
              0049      CA 0002                  RET  2          ; Âîçâðàò ñ óêàçàíèåì îá îøèáêå
              004C                        DISK_OK:
              004C      B1 05                   MOV  CL, 5
              004E      D3 E0                   SHL  AX, CL      ; Îïðåäåëåíèå ðàñïîëîæåíèÿ äàííûõ íà
              0050      8C C9                   MOV  CX, CS      ;  ïñåâäî-äèñêå
              0052      03 C8                   ADD  CX, AX      ;  ðåãèñòðå CX ñåãìåíòíàÿ ÷àñòü àäðåñà
                                                             ;  äàííûõ íà äèñêå
              0054      51                      PUSH CX
              0055      8B D3                   MOV  DX, BX      ;  ðåãèñòðå DX àäðåñ ïåðåäà÷è
              0057      B1 04                   MOV  CL, 4
              0059      D3 EA                   SHR  DX, CL
              005B      8C C1                   MOV  CX, ES
              005D      03 D1                   ADD  DX, CX      ;  ðåãèñòðå DX ñåãìåíòíàÿ ÷àñòü àäðåñà
                                                             ;  ïåðåäàâàåìûõ äàííûõ
              005F      59                      POP  CX
              0060      83 E3 0F                AND  BX, 0Fh    ; Âûäåëåíèå ìëàäøèõ 4 ðàçðÿäîâ
              0063      58                      POP  AX         ; Âîññòàíîâëåíèå êîä òðåáóåìîé îïåðàöèè

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