CodeNet / Языки программирования / Ассемблер / Пишем "многозадачную" ОС в "Real Mode"
CodeNet / Платформы / Пишем ОС / Пишем "многозадачную" ОС в "Real Mode"
CodeNet / Платформы / Пишем ОС / Пишем "многозадачную" ОС в "Real Mode"
Модуль int_FFh.asm
PROC int_FFh ; Функция 0 - Захапать строку статуса, если можно ############ ; Вход : Нет ; Выход : AX = 0000h - Все захапано ; AX = FFFFh - Ни фига, не захапано. cmp ah,0 je FF_Funct_000 ; Функция 1 - Задать значение строки статуса ################# ; Вход : DS:DI = адрес NUL-terminated строки ; Выход : Нет cmp ah,1 je FF_Funct_001 ; Функция 2 - Очистить строку статуса ######################## ; Вход : Нет ; Выход : Нет cmp ah,2 je FF_Funct_002 ; Функция 3 - Вывод строки с переносом ####################### ; Вход : DS:DI = адрес NUL-terminated строки ; Выход : Нет cmp ah,3 je FF_Funct_003 ; Функция 4 - Вывод строки без переноса ###################### ; Вход : DS:DI = адрес NUL-terminated строки ; Выход : Нет cmp ah,4 je FF_Funct_004 iret FF_Funct_000: call MyLastLine iret FF_Funct_001: call SetLastLine iret FF_Funct_002: call ClearLastLine iret FF_Funct_003: push di si dx call WriteLn pop dx si di iret FF_Funct_004: push di si dx call Write pop dx si di iret ENDP int_FFh