;===================================================================== ; Разбор номеров спек-функций ; вход: c=номер функции ; выход: a=номер банки процедуры (структуры) менеджера ; hl=адрес процедуры менеджера ; CF - при ошибке (неверный номер функции) ;===================================================================== spec_funcs: push hl ld l,c ; номер команды ld h,SPEC_FUNC / 256 ; 256 мл. байт адресов ld c,(hl) inc h ; 256 ст. байт адресов ld h,(hl) ld l,c ; готовый адрес ex (sp),hl ; в стек и ret ; перейти на него ; заглушка empty__:scf ; неверный номер функции ret ds 100h - $ ; выровнить на границу 0100h ; Таблица адресов функций ; мл. байты адресов SPEC_FUNC: db empty__%256, empty__%256, empty__%256, empty__%256 ; 00..03 db empty__%256, empty__%256, empty__%256, empty__%256 ; 04..07 db empty__%256, empty__%256, empty__%256, empty__%256 ; 08..0B db empty__%256, empty__%256, empty__%256, empty__%256 ; 0C..0F db empty__%256, empty__%256, empty__%256, empty__%256 ; 10..13 db empty__%256, empty__%256, empty__%256, empty__%256 ; 14..17 db empty__%256, empty__%256, empty__%256, empty__%256 ; 18..1B db empty__%256, empty__%256, empty__%256, empty__%256 ; 1C..1F db empty__%256, empty__%256, empty__%256, empty__%256 ; 20..23 db empty__%256, empty__%256, empty__%256, empty__%256 ; 24..27 db empty__%256, empty__%256, empty__%256, empty__%256 ; 28..2B db empty__%256, empty__%256, empty__%256, empty__%256 ; 2C..2F db empty__%256, empty__%256, empty__%256, empty__%256 ; 30..33 db empty__%256, empty__%256, empty__%256, empty__%256 ; 34..37 db empty__%256, empty__%256, empty__%256, empty__%256 ; 38..3B db empty__%256, empty__%256, empty__%256, empty__%256 ; 3C..3F db empty__%256, empty__%256, empty__%256, empty__%256 ; 40..43 db empty__%256, empty__%256, empty__%256, empty__%256 ; 44..47 db empty__%256, empty__%256, empty__%256, empty__%256 ; 48..4B db empty__%256, empty__%256, empty__%256, empty__%256 ; 4C..4F db empty__%256, empty__%256, empty__%256, empty__%256 ; 50..53 db empty__%256, empty__%256, empty__%256, empty__%256 ; 54..57 db empty__%256, empty__%256, empty__%256, empty__%256 ; 58..5B db empty__%256, empty__%256, empty__%256, empty__%256 ; 5C..5F db empty__%256, empty__%256, empty__%256, empty__%256 ; 60..63 db empty__%256, empty__%256, empty__%256, empty__%256 ; 64..67 db empty__%256, empty__%256, empty__%256, empty__%256 ; 68..6B db empty__%256, empty__%256, empty__%256, empty__%256 ; 6C..6F db empty__%256, empty__%256, empty__%256, empty__%256 ; 70..73 db empty__%256, empty__%256, empty__%256, empty__%256 ; 74..77 db empty__%256, empty__%256, empty__%256, empty__%256 ; 78..7B db empty__%256, empty__%256, empty__%256, empty__%256 ; 7C..7F db empty__%256, empty__%256, empty__%256, empty__%256 ; 80..83 db empty__%256, empty__%256, empty__%256, empty__%256 ; 84..87 db empty__%256, empty__%256, empty__%256, empty__%256 ; 88..8B db empty__%256, empty__%256, empty__%256, empty__%256 ; 8C..8F db empty__%256, empty__%256, empty__%256, empty__%256 ; 90..93 db empty__%256, empty__%256, empty__%256, empty__%256 ; 94..97 db empty__%256, empty__%256, empty__%256, empty__%256 ; 98..9B db empty__%256, empty__%256, empty__%256, empty__%256 ; 9C..9F db empty__%256, empty__%256, empty__%256, empty__%256 ; A0..A3 db empty__%256, empty__%256, empty__%256, empty__%256 ; A4..A7 db empty__%256, empty__%256, empty__%256, empty__%256 ; A8..AB db empty__%256, empty__%256, empty__%256, empty__%256 ; AC..AF db empty__%256, empty__%256, empty__%256, empty__%256 ; B0..B3 db empty__%256, empty__%256, empty__%256, empty__%256 ; B4..B7 db empty__%256, empty__%256, empty__%256, empty__%256 ; B8..BB db empty__%256, empty__%256, empty__%256, empty__%256 ; BC..BF db empty__%256, empty__%256, empty__%256, empty__%256 ; C0..C3 db empty__%256, empty__%256, empty__%256, empty__%256 ; C4..C7 db empty__%256, empty__%256, empty__%256, empty__%256 ; C8..CB db empty__%256, empty__%256, empty__%256, empty__%256 ; CC..CF db empty__%256, empty__%256, empty__%256, empty__%256 ; D0..D3 db empty__%256, empty__%256, empty__%256, empty__%256 ; D4..D7 db empty__%256, empty__%256, empty__%256, empty__%256 ; D8..DB db empty__%256, empty__%256, empty__%256, empty__%256 ; DC..DF db empty__%256, empty__%256, empty__%256, empty__%256 ; E0..E3 db empty__%256, empty__%256, empty__%256, empty__%256 ; E4..E7 db empty__%256, empty__%256, empty__%256, empty__%256 ; E8..EB db empty__%256, empty__%256, empty__%256, empty__%256 ; EC..EF db empty__%256, empty__%256, empty__%256, empty__%256 ; F0..F3 db empty__%256, empty__%256, empty__%256, empty__%256 ; F4..F7 db empty__%256, empty__%256, empty__%256, empty__%256 ; F8..FB db empty__%256, empty__%256, empty__%256, empty__%256 ; FC..FF ; ;0300h ст. байты адресов db empty__/256, empty__/256, empty__/256, empty__/256 ; 00..03 db empty__/256, empty__/256, empty__/256, empty__/256 ; 04..07 db empty__/256, empty__/256, empty__/256, empty__/256 ; 08..0B db empty__/256, empty__/256, empty__/256, empty__/256 ; 0C..0F db empty__/256, empty__/256, empty__/256, empty__/256 ; 10..13 db empty__/256, empty__/256, empty__/256, empty__/256 ; 14..17 db empty__/256, empty__/256, empty__/256, empty__/256 ; 18..1B db empty__/256, empty__/256, empty__/256, empty__/256 ; 1C..1F db empty__/256, empty__/256, empty__/256, empty__/256 ; 20..23 db empty__/256, empty__/256, empty__/256, empty__/256 ; 24..27 db empty__/256, empty__/256, empty__/256, empty__/256 ; 28..2B db empty__/256, empty__/256, empty__/256, empty__/256 ; 2C..2F db empty__/256, empty__/256, empty__/256, empty__/256 ; 30..33 db empty__/256, empty__/256, empty__/256, empty__/256 ; 34..37 db empty__/256, empty__/256, empty__/256, empty__/256 ; 38..3B db empty__/256, empty__/256, empty__/256, empty__/256 ; 3C..3F db empty__/256, empty__/256, empty__/256, empty__/256 ; 40..43 db empty__/256, empty__/256, empty__/256, empty__/256 ; 44..47 db empty__/256, empty__/256, empty__/256, empty__/256 ; 48..4B db empty__/256, empty__/256, empty__/256, empty__/256 ; 4C..4F db empty__/256, empty__/256, empty__/256, empty__/256 ; 50..53 db empty__/256, empty__/256, empty__/256, empty__/256 ; 54..57 db empty__/256, empty__/256, empty__/256, empty__/256 ; 58..5B db empty__/256, empty__/256, empty__/256, empty__/256 ; 5C..5F db empty__/256, empty__/256, empty__/256, empty__/256 ; 60..63 db empty__/256, empty__/256, empty__/256, empty__/256 ; 64..67 db empty__/256, empty__/256, empty__/256, empty__/256 ; 68..6B db empty__/256, empty__/256, empty__/256, empty__/256 ; 6C..6F db empty__/256, empty__/256, empty__/256, empty__/256 ; 70..73 db empty__/256, empty__/256, empty__/256, empty__/256 ; 74..77 db empty__/256, empty__/256, empty__/256, empty__/256 ; 78..7B db empty__/256, empty__/256, empty__/256, empty__/256 ; 7C..7F db empty__/256, empty__/256, empty__/256, empty__/256 ; 80..83 db empty__/256, empty__/256, empty__/256, empty__/256 ; 84..87 db empty__/256, empty__/256, empty__/256, empty__/256 ; 88..8B db empty__/256, empty__/256, empty__/256, empty__/256 ; 8C..8F db empty__/256, empty__/256, empty__/256, empty__/256 ; 90..93 db empty__/256, empty__/256, empty__/256, empty__/256 ; 94..97 db empty__/256, empty__/256, empty__/256, empty__/256 ; 98..9B db empty__/256, empty__/256, empty__/256, empty__/256 ; 9C..9F db empty__/256, empty__/256, empty__/256, empty__/256 ; A0..A3 db empty__/256, empty__/256, empty__/256, empty__/256 ; A4..A7 db empty__/256, empty__/256, empty__/256, empty__/256 ; A8..AB db empty__/256, empty__/256, empty__/256, empty__/256 ; AC..AF db empty__/256, empty__/256, empty__/256, empty__/256 ; B0..B3 db empty__/256, empty__/256, empty__/256, empty__/256 ; B4..B7 db empty__/256, empty__/256, empty__/256, empty__/256 ; B8..BB db empty__/256, empty__/256, empty__/256, empty__/256 ; BC..BF db empty__/256, empty__/256, empty__/256, empty__/256 ; C0..C3 db empty__/256, empty__/256, empty__/256, empty__/256 ; C4..C7 db empty__/256, empty__/256, empty__/256, empty__/256 ; C8..CB db empty__/256, empty__/256, empty__/256, empty__/256 ; CC..CF db empty__/256, empty__/256, empty__/256, empty__/256 ; D0..D3 db empty__/256, empty__/256, empty__/256, empty__/256 ; D4..D7 db empty__/256, empty__/256, empty__/256, empty__/256 ; D8..DB db empty__/256, empty__/256, empty__/256, empty__/256 ; DC..DF db empty__/256, empty__/256, empty__/256, empty__/256 ; E0..E3 db empty__/256, empty__/256, empty__/256, empty__/256 ; E4..E7 db empty__/256, empty__/256, empty__/256, empty__/256 ; E8..EB db empty__/256, empty__/256, empty__/256, empty__/256 ; EC..EF db empty__/256, empty__/256, empty__/256, empty__/256 ; F0..F3 db empty__/256, empty__/256, empty__/256, empty__/256 ; F4..F7 db empty__/256, empty__/256, empty__/256, empty__/256 ; F8..FB db empty__/256, empty__/256, empty__/256, empty__/256 ; FC..FF