Âû÷èñëåíèå àäðåñà ðàñïîëîæåíèÿ òðåáóåìîé çàïèñè
0018 72 06 JB READ_WRITE ; Îáðàáàòûâàþòñÿ òîëüêî êîìàíäó ÷òåíèÿ è
; çàïèñè
001A OK_RETURN:
001A B4 00 MOV AH, 0 ; Êîä âîçâðàòà - 0
001C F8 CLC ; Ñáðîñ C-ôëàãà - íåò îøèáêè
001D CA 0002 RET 2
0020 READ_WRITE:
0020 53 PUSH BX ; Ñîõðàíåíèå ðåãèñòðîâ
0021 51 PUSH CX
0022 52 PUSH DX
0023 56 PUSH SI
0024 57 PUSH DI
0025 1E PUSH DS
0026 06 PUSH ES
Ôèã. 10.2 ïðîãðàììà ñîçäàíèÿ ïñåâäî-äèñêà (ïðîäîëæåíèå)
;----- Âû÷èñëåíèå àäðåñà ðàñïîëîæåíèÿ òðåáóåìîé çàïèñè â ïñåâäî-äèñêå
0027 50 PUSH AX ; Ñîõðàíåíèå êîäà òðåáóåìîé îïåðàöèè
0028 B0 08 MOV AL, 8 ; ×èñëî ñåêòîðîâ íà òðåêå
002A F6 E5 MUL CH
002C B5 00 MOV CH, 0
002E 03 C1 ADD AX, CX ; Ïðèáàâëåíèå íîìåðà ñåêòîðà
0030 80 FE 00 CMP DH, 0 ; Ïðîâåðêà íà íîìåðà ñòîðîíû
0033 74 03 JE HEAD_0
0035 05 0140 ADD AX, 320 ; Ïåðåêëþ÷åíèå íà âòîðîþ ñòîðîíó
0038 HEAD_0:
0038 48 DEC AX
0039 3D 0140 CMP AX, DISK_SIZE ; Âû÷èñëåííîå çíà÷åíèå ïðàâèëüíî?
Ñîäåðæàíèå Íàçàä Âïåðåä