S - сегмент, BX - зміщення)
mov [word ptr cs: old_2fh], bx
mov [word ptr cs: old_2fh +2], es ax, 252fh
mov dx, offset new_2fh ; DX повинен вказувати на наш
; обработчік21hdx, offset Init27h: ax, 4c00h 21h
message db 'Копія резидента вже присутній в пам'яті.', 13,10, 'Pапустіте з опцією/u для вивантаження', 13,10, '$'
CSEG endsStart.asmn
% TITLE "HELLO.ASM" small256window N, attrib, y1, x1, y2, x2; ініціалізація (N = 0) або прокрутка вікна вверхah, 06hal, Nbh, attribch, y1cl, x1dh, y2dl, x210hwindow readkey; очікування введення будь-якого символу
mov ah, 10h; функція введення символу з очікуванням
int 16h
Endm readkey
Macro getmode; одержання режиму дисплея
mov ah, 0Fh
int 10h
mov [oldmode], al; запис вихідного режиму дисплея в змінну oldmode
Endm getmode
Macro setmode mode; установка дисплея в режим mode
mov ah, 00hal, mode10hsetmodeout_str mes, leng, attrib; т? тюф еююс? хеш фишеющ leng яю
; рфЕхеє es: offset mes е рЄЕшсєЄюь ешьтюиют attribah, 13hal, 1bh, 0bl, attribcx, lengbp, offset mes10hout_strlocate y, x; єеЄреют'р'єЕеюЕр т яючшРЋш? В¤'Ерер row = y, column = xah, 02hbh, 0dh, ydl, x10hlocateDQ 0FF734FAD45672344h
Deler Dw 0DQ 0DW 0
SignR DB 0 DB 0DB? DQ 0
Режим екрану, використовуваний в програмі
usemode EQU 83h; 10000011b режим 3 із забороною очищення екрана
ExCode DB 0DB 21,?, 21 DUP (?)
STR16 DB 7,?, 7 DUP (?) DB 21 DUP (?), 13,10, '$' DB 'Переповнення' = $-errorover DB 'Чи не вірний сиволов '= $-errorbad DB ' Переповнення ', 13,10,' $ ' DB 'Не вірний символ', 13,10, '$ '4 DB' Виберіть: новий поділ - N, вихід-Esc '
type4len = $-type4 DB '|/- '
hellomes db 'Програма спільно в резидентом виконує ділення чисел у форматі 64:16', 13,10, 'результат 64 приватна 16 залишок. Ділення виконується на основі команди div. '
hlen = $-he...