p align="justify"> .386
; == КОД ОСНОВНОЇ ЧастинамиІ ПРОГРАМИ ==:; - Ініціалізація ES та DS, обнулення edx -
mov ax, csds, axes, axedx, edx
; - Встановлення відеорежіму: ah, 00hal, 02h; 80x25 чорнобілій текстовий режім10h
; - ставімие курсор в качан координат: - ah, 02bh, 00; сторінка відеопам'ятіdh, 0; строкаdl, 0; стовпчік10h
[тут Йде згенерований код тіла програми, Операції, Виведення на екран и т.і.]
; == КІНЕЦЬ ГОЛОВНОЇ ПРОГРАМИ ==
; == ПОЧАТОК БЛОКУ ПРОЦЕДУР ==
; - Функція Виведення на екран рядки (використовуват LEA EDX, ім'яізмінної перед викликом): -
PSB proc; Print String in Bios intecx, ecx
; - Підрахунок кількості сімволів: -:
mov al, [EDX + ECX] al, «$» pksgcxi, cxpks: esi, esi:
; - Друк символу: - ah, 0Ehal, [EDX + ESI]; ASCII-код сімволуbh, 00; сторінка відеопам'ятіcx, 01h
int 10h
; - команді циклу: - si
cmp si, ipsbd2psbd1
psbd2: endp
; - Процедура переведення курсору на новий рядок: -
ENT procah, 03hbh, 00h10hah, 02hbh, 00hdhdl, 00h10h
retendp
; - Ф-я Виведення слова в шістнадцятковій Системі (необх. слово заносимості в wpt перед використаних): -
WORDPRINT proccx, 16d: cx, 4hax, wptax, clax, 0fh; маскою віділяємо молодший розрядal, 9hpc; cifraal, 0Fhpb; bukva: al, 30hprnt: al, 37hprnt: asciitemp, alPSymBl2l1: endp
; - Функція Виведення на екран символу (символ в asciitemp): -
PSymB proc
; - Друк Символу, власною персоною: -
mov ah, 0Ehal, asciitempbh, 00hcx, 01h10hendp
; - Виведення одного біту слова: (вик-є wpt - слово та n - номер біту) -
PBB procax, wptbx, 01h
mov cl, nbx, cl; Підготовка маскіax, bx; накладання маскіal, 30h; Код нуляendpbbal, 31h; Код одініці:
; - Друк: -
mov ah, 0Eh
mov bh, 00h
mov cx, 01h10h
PBB endp
; == КIНЕЦЬ БЛОКУ ПРОЦЕДУР ==
; == ПОЧАТОК БЛОКУ ОГОЛОШЕННЯ ЗМІННІХ ==
; змінні процедур:
i dw? db? dw? ; Wordprint tempdb?
; змінні тіла програми:
[сюди генератор заносити чіслові та строкові змінні]
; == КIНЕЦЬ БЛОКУ ОГОЛОШЕННЯ ЗМIННІХ == main