Некий XYBASIC для CP/M с исходниками, но не Digital Research. Там даже поддержка amd9511 есть.
Вид для печати
Некий XYBASIC для CP/M с исходниками, но не Digital Research. Там даже поддержка amd9511 есть.
Да, это оно и есть.
Вот кусок оригинала:
А вот из моих исходников:Код:gtpar: call gtcnd ;look for comma not followed by delimiter
mvi a,0
rc ;no more parameters, return 0
mvi d,multt
call gtd ;look for *
jnc gtpa1 ;array passed
call gtvar ;else var ref
lxi b,0 ;# dims = 0 to C
push b ;push 0 for DE
jnc gtpa2 ;and continue below
mcerr: error f, M, C ;fatal MC error
gtpa1: call fdvar ;look for var name
jc mcerr
ldax d ;fetch type
mov c,m ;# dims to C
mvi b,0 ;to allow dad
inx h ;point to first dim byte
push h ;and save
dad b
dad b ;point to first data byte
gtpa2: call bytsd ;bytes per entry to DE
mov b,e ;and then to B
pop d ;dim addr to DE
Но мне оно досталось уже переработанное, были добавлены несколько графических операторов (токены новых команд двухбайтные, одним оператором пожертвовали ради префикса).Код:PARCALL:CALL L2069
MVI A,0
RC
MVI D,0C3H
CALL L2072
JNC L05FB
CALL L2287
LXI B,0
PUSH B
JNC L0609
MCERR: CALL ERMSGC
DB 'Нет перемен.',0
L05FB: CALL FINDVAR
JC MCERR
LDAX D
MOV C,M
MVI B,0
INX H
PUSH H
DAD B
DAD B
L0609: CALL L0364
MOV B,E
POP D
В завершение темы про отличие процедуры INTFROMFLOAT (векторовское название) в микронах и немикронах. Наверно стоит все же озвучить более корректный комментарий, что в домикронах это не ошибка, а просто особенность - в них эта процедура пропустит от -32768 до 32767, а в микронах -65535 до 65535.
---------- Post added at 17:34 ---------- Previous post was at 17:31 ----------
Основная правка все же как раз cpi 91h вместо cpi 90h
Уточню, что микрософтовцы не правили "ту" процедуру, а добавили отдельную (смотрел на примере векторовской адаптации корветовского бейсика).
Еще уточнение: "граница раздела" по использованию/неиспользованию в микрософтовских бейсиках процедуры с fe 90 da для 16битных целых зависит не от номера версии, а от варианта:
1. в 8k (наибольший номер, который смотрел - 4.7) - да
2. в extended (наименьший номер, который смотрел - 4.0) - нет.
XYBASIC for Process Control, Data Acquisition and Real Time Applications with 8080-based Computers
?
и где взять 9511?
Наверно я не разобрался, но там в исходниках для 9511 стоит условная компиляция, т.е. с 9511 отдельная версия.
Здесь (01 BASIC MIKRON (ENG).rkr) точно такой же бейсик, но английскими сообщениями. Надписи "РАЗРАБОТАН ДЛЯ..." нет.
Плюс нахлабучка "Бейсик-RENUM" то же с англискими сообщениями. При запуске бейсика копируется в верхние адреса. Запуск из монитора: G7000.
ЗдОрово, обожаю бейсики.