Inferno
#01
31 декабря 2000 |
|
For Coderz - Про ПЗУ 48k Спектрума (#2000-#3FFF).
РЕСТАРТЫ ПЗУ 48 (1982) (программы и таблицы) Часть вторая (c) Shaitan/Stars of Keladan 203С PR-STRING Программа печати символов начиная с теукщей позиции. Адрес начала строки задается в регистровой паре DE, а длина в BC 2045 END of PRINTING 204E Print Position 2070 ALTER STREAM 2089 INPUT Command Выполнение команды INPUT 2189 IN - ASSING 21D6 IN - CHAN - K 21E1 COLOUR Item Routines 226C CO - CHANGE 229B BORDER Command Выполнение команды BORDER. В регистре А должен содержаться код цвета 22AA PIXEL Address 22В0 Pixel Position Вычисление адреса пиксела по координатам x,y содержащихся в регистрах С и А соответсвенно. Отсчет начинается с левого верхнего угла. На выходе в регистровой паре HL будет со- держаться адрес, а в регистре А смещение внутри данного адреса в битах 22CE POINT Command Выполнение команды POINT. В регистрах В и С задаются коор- динаты y, x соответственно 22DC PLOT Command Выполнение команды PLOT. Координаты x,y должны распологать- ся на вершине стека калькулятора 22DF PLOT Command2 Выполнение команды PLOT. Координаты x,y должны распологать- ся в регистрах С и В соответственно 22E5 PLOT Command3 Выполнение команды PLOT. Координаты x,y должны распологать- ся в регистрах С и В соответственно 2307 STK - TO - BC 2314 STK - TO - A 232D CIRCLE Command Выполнение команды CIRCLE. Исходные параметры должны быть помещены на вершину стека калькулятора 2394 DRAW-ARC Command Выполнение команды DRAW x,y,a Данные снимаются с вершины стека калькулятора 2477 DRAW-1 Command Выполнение команды DRAW. Верхние значения калькулятора яв- ляются смещениями 247D Initial Parametr 24B7 Line Drawiong 24ВА DRAW-2 Command Выполнение команды DRAW. В регистрах В и С содержатся моду- ли смещений по y,x, а в паре DE их знак: Если 1, то знак плюс, в противном случае минус 24FB SCANING Сохранение на стеке нулево- го значения приоритетов 2530 SYNTAZ - Z Установка флага Z 253В Scaning SCREEN$ Выполнение операто- ра SCREEN$. Координаты задаются в знако- местах в регистрах В и С, номер колонки и номер строки соответственно. Результат помещается на вершину стека калькулятора 2583 Scaning ATTR Выполнение оператора ATTR. Координаты задаются в знакоместах в регистрах В и С, номер колонки и номер строки соответственно 2596 Scaning function table Таблица функций не требующих аргументов 25AF Scaning functions routines 25F8 Scaning RND Выполнение оператора RND 2627 Scaning PI Выполнение оператора PI 2634 Scaning INKEY$ Выполнение оператора INKEY$ 26C9 Scaning variable routines 2734 Scaning main loop 2756 Scaning operands Использование калькулятора для выполнения специфичес- кихопераций с одним или двумя операндами 2795 Table of operators Таблица преобра- зования кодов операции в литералы каль- кулятора 27B0 Table priorities Таблица приорите- тов операций 27BD Scaning function FN Выполнение оператора FN 28AB FN - SKPOVR 28B2 LOOK - VARS Подпрограмма поиска пе- ременной 2996 STK - VAR Подпрограмма используется для поиска простых строковых переменных и переменных массива. Параметры строки или элемента массива возвращаются на стек калькулятора 2A52 SLICING Любая подстрока может быть выделена из строки, и эта программа вы- зывается каждый раз, когда специфициро- вано выделение 2AB1 STK-STORE Программа передает пара- метры текущей строки в стек калькулято- ра. Стек калькулятора увеличивается на одно значение. В наборе параметров стро- ки регистровая пара BC содержит длину строки, регистровая пара HL - начальный адрес строки и регистр A не используется и содержит 0. Иногда регистр А содержит 1 и индицирует наличие элемента массива. 2ACC INT - EXP 2AEE DE. ( DE + 1 ) 2AF4 GET. HL * DE 2AFF LET Command Выполнение команды LET 2BF1 STK - FETCH Снимается значение со стека калькулятора в регистры A, B, C, D, E. 2C02 DIM Command Выполнение оператора 2C88 ALPHA NUM 2C8D ALPHA 2C9B DECIMAL to floating - point 2D1B NUMERIC 2D22 STK - DIGIT Цифровой код ASCII пе- редается в стек калькулятора в плавающем виде 2D28 STACK - A Значение регистра А поме- щается на стек калькулятора 2D2B STACK - BC Значение регистровой па- ры BC помещается на стек калькулятора 2D3B INTEGER to floating - point 2D4F E - Format to floating - point Ли- терал калькулятора 3C 2D7F INT - FETCH 2D8E INT - STORE 2DA2 Floating - point to BC Верхнее зна- чение стека калькулятора помещается в регистровую пару BC 2DE3 Print a floating - point numbers Выводит на печать в текущий поток числа в десятичной форме, находящегося на вер- шине стека калькулятора 2DC1 LOG(2A) 2DD5 Floating - point to A Верхнее зна- чение стелятора помещается в регистр А 2F8B CA=10*A+C 2F98 Prepare to ADD 2FBA Fetch to numbers 2FDD SHIFT ADD END 3004 ADD - BACK 300F SUBTRACTIONS Литерал калькулятора 03. Производится вычитание верхнего зна- чения стека калькулятора из следующего. 3014 ADDITION Литерал калькулятора 0F. Сложение двух верхних значений стека калькулятора 30A9 HL=HL*DE 30C0 Prepare to multiply or divide 30CA MULTIPLICATION Литерал калькулятора 04. Умножение двух верхних значений сте- ка калькулятора 31AF DIVIDE Литерал калькулятора 05. Де- ление верхнего значения стека калькуля- тора на нижележащее 3214 Integer function to words zerro Ли- терал калькулятора 3А 3293 RESTACK TWO 3297 RE - STACK Литерал калькулятора 3D 32C5 Table of Constants Таблица констант для внутреннего использования калькуля- тором 32D7 Table of Adresses Таблица адресов подпрограмм калькулятора 335B CALCULATE 33A1 DELETE Литерал калькулятора 02 33A2 Single operation Литерал калькуля- тора 3В 33A9 TEST 5 - SPACE 33B4 STACK NUMBER 33C0 DUPLICATE Литерал калькулятора 31 33C6 STACK literals Литерал калькулятора 34 33F7 Skin Conctants 3406 Memory Location 340E Get from memory area Литерал каль- кулятора F0 341B STACK a Constant Литерал калькуля- тора A0 342D Store in memory area Литерал каль- кулятора C0 343C EXCHANGE Литерал калькулятора 01 3449 Series Generator Литерал калькуля- тора 86 346A ABS Литерал калькулятора 2A 346E Unary Minus Литерал калькулятора 1B 3492 SIGNUM Литерал калькулятора 29 34A5 IN Литерал калькулятора 2C 34AC PEEK Литерал калькулятора 2B 34B3 USR Number Литерал калькулятора 2D 34BC USR String Литерал калькулятора 19 34E9 TEST - ZERO = 0 34F9 Greater then zero > 0 Литерал каль- кулятора 37 3501 NOT < 0 Литерал калькулятора 30 3506 Lese then ZERO Литерал калькулятора 36 350B Zero or one 0 или 1 351B OR Литерал калькулятора 07 3524 Number AND Number Литерал калькуля- тора 08 352D String AND Number Литерал калькуля- тора 10 353B NO-L-EQ Литерал калькулятора 09 NO-GR-EQ Литерал калькулятора 0A NOS-NEQL Литерал калькулятора 0B NO-GTR Литерал калькулятора 0C NO-LESS Литерал калькулятора 0D NOS-EQL Литерал калькулятора 0E STR-L-EQ Литерал калькулятора 11 STR-GR-EQ Литерал калькулятора 12 STRS-NEQL Литерал калькулятора 13 STR-GTR Литерал калькулятора 14 STR-LES Литерал калькулятора 15 STR-GTR Литерал калькулятора 16 359C String Concatenation Литерал каль- кулятора 17 35BF STK - PNTRS 35C9 CHR$ Литерал калькулятора 2F 35DE VAL$ Литерал калькулятора 18 VAL Литерал калькулятора 1D 361F STR$ Литерал калькулятора 2E 3645 READ - IN Литерал калькулятора 1A 3669 CODE Литерал калькулятора 1C 3674 LEN Литерал калькулятора 1E 367A Decrease the counter Литерал каль- кулятора 35 3686 JUMP Литерал калькулятора 33 368F JUMP on True Литерал калькулятора 00 369B END - CALC Литерал калькулятора 38 Выход из режима калькулятора 36A0 MODULIS Литерал калькулятора 32 36AF INT Литерал калькулятора 27 36C4 EXPONENTIAL Литерал калькулятора 26 3713 NATURAL LOG Литерал калькулятора 25 3783 Reduca Arg. Литерал калькулятора 39 37AA COS Литерал калькулятора 20 37B5 SIN Литерал калькулятора 1F 37DA TAN Литерал калькулятора 21 37E2 ARCTAN Литерал калькулятора 24 3833 ARCSIN Литерал калькулятора 22 3843 ARCCOS Литерал калькулятора 23 384A SQR Литерал калькулятора 28 3851 TO-POWER Литерал калькулятора 06 3D00 Font Стандартный шрифт
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября