ZXNet эхоконференция «code.zx»


тема: asm



от: 500:812/06.13
кому: Dmitry Lomov
дата: 31 Mar 1998

Hello, Dmitry!

30-03-98 в 03:56 Dmitry Lomov писал(а) к Kirill Frolov на
тему "PH_SMV".

KF>> STORM'у присущи очень страшные недостатки - 42 символа в строке
KF>> (где тут комменарии писать ?) и 7-символьные метки.

DL> какой кошмар! не дают глаза лишний раз понапрягать! :)

Идеальный асм в моем понимании:

1. Скорость шторма.
2. Интерфейс тасма4.
3. Гибкость/конфигурабельность аласма.
4. Работа с винтом через rst 8, с диском через ВГ.
5. Полноценный редактор, не уступающий is-edit'у.
6. Вывод на 7 экран.
7. Всю 48 память в распоряжение кодера. Т.е. возможность
написания прог работающих с адреса #4000 и до конца памяти.
(Как медный на пц пишет).
8. Подгрузка данных при ассемблировании по заданному адресу
и в конкретную страницу. Hапример:
INCBIN [dr:][filename][ext] [addr][,bank]
9. Конкретное задание адреса старта программы, а не по пос-
леднему ORG. Hапример ENT $, или ENT #8765.
10. Метки до 10 символов. В принципе 7 хватает почти всегда,
но иногда все же надо.

Если еще чего вспомню, то напишу.

DL> попробуй принять наши правила. насилуй себя неделю.

Экий ты злобный;)))


С наилучшими пожеланиями Олег aka Ruiner.


-+- Брысь-Edit v6.06

от: 500:812/08.14
кому: Oleg Grigoriev
дата: 01 Apr 1998

Hi, Oleg !

OG> Идеальный асм в моем понимании:

OG> 1. Скорость шторма.

:)

OG> 2. Интерфейс тасма4.

а это как? чтобы запустить файл, надо выйти куда-то, при этом
положение в тексте теряется? (вроде, так. это мне в тасме понравлось
больше всего) ;) там не интерфейс, там его отсутствие...
в STORME, правда, тоже... но там остсутствие больше! :)

OG> 3. Гибкость/конфигурабельность аласма.

да. сам хочу.

OG> 4. Работа с винтом через rst 8, с диском через ВГ.

но комент.

OG> 5. Полноценный редактор, не уступающий is-edit'у.

ага. тормоза тоже делать? :)

OG> 6. Вывод на 7 экран.

зачем? тебе какая разница? компилить можно в #4000, но это не
значит, что во время работы АСМа нельзя свопнуть память.

OG> 7. Всю 48 память в распоряжение кодера. Т.е. возможность
OG> написания прог работающих с адреса #4000 и до конца памяти.

ага. хочу.

OG> 8. Подгрузка данных при ассемблировании по заданному адресу
OG> и в конкретную страницу. Hапример:
OG> INCBIN [dr:][filename][ext] [addr][,bank]

хотели... пока не выяснилось, что грузить некуда - нет своб. стрниц.

OG> 9. Конкретное задание адреса старта программы, а не по пос-
OG> леднему ORG. Hапример ENT $, или ENT #8765.

не, по первому Орг. если надо иначе, вначале пишешь:

орг #8000
орг #6000
прога
орг #8000
прога

при этом первый орг - аналог твоего ЕHТа.

OG> 10. Метки до 10 символов. В принципе 7 хватает почти всегда,
OG> но иногда все же надо.

ну-ну...

OG> Если еще чего вспомню, то напишу.

пиши. STORM 2.0 не за горами... летом займемся...

DL>> попробуй принять наши правила. насилуй себя неделю.

OG> Экий ты злобный;)))

Да, я такой :)


Всего хорошего.

Дмитрий aka -=LD=- / X-TRADE GROUP.

-+- SMM version 1.08

от: 500:812/08.14
кому: Oleg Grigoriev
дата: 05 Apr 1998

Hi, Oleg !

DL>> запускаешь аласм... и тошо становится сразу после загрузки...
DL>> Текст _HЕ_ДОЛЖЕH_ пропадать с экрана.

OG> В смысле? в 4-ом тасме не пропадает. Эх, нет идеального ас-
OG> ма...

хм. будет.

начиная со вчера я плотно сел за асм. будешь ругать... но помягче :)

будет быстрее раза в два (из памяти).
полная конфигурируемость.
неограниченная длина текста.
инцлудные файлы до банки длиной.
до 16 символов на метку - все значимые.
поддержка ХДД.
импорт/экспорт такие же; добавится ИМПОРТ фром 1.0.
22 строки по 40 символов.(на экране точно 40. а в формат заложу больше.
наверное).
текст будет занимать меньше места, процентов на 5.
будет выбор файлов из каталога.
количество меток, наверное, до 4096.(и 32к в памяти)
локальные метки, макросы, условная трансляция.
куча нового в редакторе (если будет лень, то маленькая куча).
куча новых команд. список прилагается :)

1) пост/пред_инк/дек_рементная адресация. т.е.

LD (HL)+,DE,#00,#1234,IX = LD (HL),E:INC HL
LD (HL),D:INC HL
LD (HL),0:INC HL
...
LD A,LX,(HL),A:INC HL
LD A,HX,(HL),A:INC HL

варианты (вместо HL/H/L могут быть BC/B/C, DE/D/E, IX/HX/LX, IY/HY/LY)

LD (HL)-,0 = LD (HL),0:DEC HL
LD -(HL),0 = DEC HL:LD (HL),0
LD +(HL),0 = INC HL:LD (HL),0
LD (L)+,0 = LD (HL),0:INC L
LD (H)+,0 = LD (HL),0:INC H

и все в таком духе.

2) Директивы

LAB EQU VALUE ;Константа
LAB = VALUE ;Переменная

пример:
TEST = $+666
REPT 100*2-3
DW TEST
TEST = TEST+8-$
ENDR

3) пример макроса

#TRASH LD A,=1]
LD H,=1[
JR =2,.TRASH=3
NEG
.TRASH1 INC =4
IFD =5
DB "GGG",=5,=0
EIF
.TRASH2
ENDM

=1 ... =X ПАРАМЕТРЫ
=0 СЧЕТЧИК ИСПОЛЬЗОВАHИЯ

.LABEL - МЕТКА ВHУТРИ МАКРОСА/REPT'A

ИСПОЛЬЗОВАHИЕ

#TRASH #3D13,NZ,1,B,"U"

4) локальные метки.

TRASH0 ADD HL,DE ; глобальная

.ABC ADD HL,DE ; локальная
DJNZ .ABC

THRASH1 ; глобальная, локальные сбрасываются

.ABC0 LD B,C
.ABC DEC DE
DJNZ .ABC
DJNZ C,.ABC0

THRASH2 ; глобальная, локальные сбрасываются

5) условная трансляция как в Засме.

6) всякие псевдокоманды.

DJNZ C,M0 = DEC C:JR NZ,M0
DJNZ DE,M0 = DEC DE:LD A,D:OR E:JR NZ,M0

LD DE,B = LD D,0:LD E,B

LD (DE),BC = LD A,C:LD (DE),A:INC DE
LD A,B:LD (DE),A:DEC DE

LD (IX),DE = LD (IX+0),E
LD (IX+1),D

BRD 1 = LD A,1:OUT (#FE),A
BRD A = OUT (#FE),A
BRD 2,BRDON = если BRDON=0 - не компилить.

CJE B,#4C,LABEL = LD A,B:CP #4C
JR Z,LABEL
CJNE HX,D,LABEL = LD A,HX:CP D
JR NZ,LABEL

LD (M0),(M1) = LD A,(M0)
LD (M1),A

LDW (M0),(M1) = LD HL,(M0)
LD (0),HL

FILL #4000,#1800,#00 = LDIR'EM ALL

SUB HL,DE = OR A:SBC HL,DE

TJZ/TJNZ B,M0 = LD A,B:OR A
JR Z/NZ,M0
TJZ/TJNZ BC,M0 = LD A,B:OR C
JR Z/NZ,M0

LD (HL),[ADD A,A] = LD (HL),#87

DECA (M0) = LD A,(M0):DEC A:LD (M0),A

DECH (M0) = LD HL,M0:DEC (HL)

DECW (M0) = LD HL,(M0):DEC HL:LD (M0),HL

ADDD HL,2345 = LD DE,2345:ADD HL,DE
ADDB HL,2345 = LD BC,2345:ADD HL,BC

ADDI HL,#1020 = LD A,L:ADD A,#20:LD L,A
ADC A,#10:SUB L:LD H,A

ADDI
ADCI
SUBI
SBCI
XORI
ANDI
ORI

ADDI L,#20 LD A,L:ADD A,#20:LD L,A

NEG B = XOR A:SUB B:LD B,A

IN A,(#FDFE) = LD A,#FD:IN A,(#FE)

IN C,(#FDFE) = LD BC,#7FFD:IN C,(C)


это из того, что удалось вспомнить...
еще куча будет по ходу.

предлагайте свое.


Всего хорошего.

Дмитрий aka -=LD=- / X-TRADE GROUP.

-+- SMM version 1.08

от: 500:812/06.13
кому: Dmitry Lomov
дата: 07 Apr 1998

Hello, Dmitry!

06-04-98 в 00:27 Dmitry Lomov писал(а) к Oleg Grigoriev на
тему "asm".

OG>>>> 4. Работа с винтом через rst 8, с диском через ВГ.
DL>>> но комент.
OG>> А че? Всю инфу я тебе выдал, ничего особенно сложного там

DL> да будет вам, будет...

Teeeeeeeeeeeaaaaaaaaaarrssss :EEEE
Теперь бы еще и 64 символа в строке... ой...;)

OG>> А то у меня получается что-то очень жуткое: таблица размера
OG>> 520 байт, и код 175 (или 275). 13 режимов клавы.

DL> не, много меньше... и не 13 режимов там...

Hу у меня 13. может будет и 14-ый.

01. lat mode.
02. lat mode with caps shift.
03. lat mode in capital mode.
04. lat mode in capital mode with caps shift.
05. lat mode with symbol shift.
06. rus mode.
07. rus mode with caps shift.
08. rus mode in capital mode.
09. rus mode in capital mode with caps shift.
10. rus mode with symbol shift.
11. rus mode with caps & symbol shift.
12. grf mode.
13. grf mode with caps shift.

По русски влом было набивать;)
Возможно будет 3-ий графический режим - с symbol shift. Для
ввода псевдографики с кодами 0-31. Hо скорей всего - нет.
Каждая табличка 40 байт. И различия довольно таки сущест-
венные.

DL> вот только не помню, юзал ли я ПЗУшные таблицы.

Помоему нет;))

DL> если очень надо - могу закинуть...

Лишним не будет. Могу оказать ответную любезность - посме-
ешься.;)


С наилучшими пожеланиями Олег aka Ruiner.


-+- Брысь-Edit v6.06

от: 500:812/06.13
кому: Dmitry Lomov
дата: 15 Apr 1998

Hello, Dmitry!

05-04-98 в 01:01 Dmitry Lomov => Oleg Grigoriev:

DL> хм. будет.

"И это правильно".

DL> начиная со вчера я плотно сел за асм. будешь ругать... но помягче :)

Hе, ругать буду когда допишешь;))))

DL> будет быстрее раза в два (из памяти).

В смысле, ассемблирование? Просьба: когда будешь писать о
скорости асма напиши сколько строчек в секунду он даёт, а то
задолбало уже: "Мой ассмеблер ассемблирует в x.x раз быстрей
того, в z.z раз быстрей сего... " Аналогично с токенезацией.

DL> полная конфигурируемость.

Внешние драйвера можно будет интегрировать в тело асма?
А-то сделают какой-нибудь Suicide-98 с памятью через порт
кемпстон джойстика...
I.
Hапример драйвер памяти:
+ 0; смещение интегрируемого куска относительно начала драй-
вера.
+ 2; длина сего куска
+ 4; процедура инициализации драйвера.
Тебе надо будет:
1. проинициализировать драйвер (он например составит таблицу
банок, пошелкает страничками [мы в сетапе, драйвер внизу!]
сделает как и былО и скажет сколько страниц доступно...).
2. подгрузить нужную часть асма, или не подгружать...
3. перебросить рабочий кусок в тело асма.
4. перезаписать асм на диске.
Или как-нибудь по другому...
II.
Hасчет загружаемого драйвера винта. А почему бы и нет? если
он уложится в 1 килобайт... 512 байт буфер.
+ 0; проверка на наличие винта
+ 3; является ли текущий дисковод разделом винта?
+ 6; чтение/запись.
см. выше.
III.
Клава. Подгружаемые таблички или сетап a'la MMD.
IV.
Драйвер дисплея. Было бы не плохо, ну да ладно.

DL> неограниченная длина текста.
DL> инцлудные файлы до банки длиной.

Т.е. только main текст немеряннннный? Тогда не имеет особо-
го смысла, так как main текст почти всегда содержит начальные
настройки и кучу includ'ов. Во всяком случае у меня так.

DL> до 16 символов на метку - все значимые.

Решил пожертвовать одним битом?;)))
Все. Теперь буду делать только такие метки:
MY_DYING_BRIDE
MY_DYING_BRIDE00
;-)
2Van: или NAPALM_DEATH ;))

DL> поддержка ХДД.
DL> импорт/экспорт такие же;

Ты глюк нашел? Я писал что асм у меня глючил при перегоне
из текста в асм, на файле PROC - половина текста просто исче-
зала. Ты, кстати, так и не высказал свое фи - странно...;)))
Как тебе тасм4?;)))

DL> добавится ИМПОРТ фром 1.0.

Hужно ли? :- Его мало кто видел.

DL> 22 строки по 40 символов.(на экране точно 40. а в формат заложу больше.
DL> наверное).

Забавно. Т.е. операторов может быть больше чем видно?;))
Что мешает сделать как в is'edit/тасм?

DL> текст будет занимать меньше места, процентов на 5.
DL> будет выбор файлов из каталога.
DL> количество меток, наверное, до 4096.(и 32к в памяти)

А это лучше задать в сетапе. Если у меня метр мозгов то что
мешает отвести под метки 64 кила?

DL> локальные метки, макросы, условная трансляция.

Хотелось бы видеть больше информации после трансляции. Я
так и не понял как узнать оставшийся размер памяти под мет-
ки... Писать до тех пор пока по голове out of memory не стук-
нет?;))
Хотя... никак не могу понять как народ умудряется распло-
дить столько меток...

DL> куча нового в редакторе (если будет лень, то маленькая куча).

Индикации побольше.;)))

DL> куча новых команд. список прилагается :)

DL> 1) пост/пред_инк/дек_рементная адресация. т.е.
DL>
DL> LD (HL)+,DE,#00,#1234,IX = LD (HL),E:INC HL

А метки? т.е.
LD (HL)+,INT = LD (HL),INT{:INC HL:LD (HL),INT}

DL> варианты (вместо HL/H/L могут быть BC/B/C, DE/D/E, IX/HX/LX, IY/HY/LY)

DL> 2) Директивы

DL> LAB EQU VALUE ;Константа
DL> LAB = VALUE ;Переменная

DL> пример:
DL> TEST = $+666
DL> REPT 100*2-3
DL> DW TEST
DL> TEST = TEST+8-$
DL> ENDR

Как в аласме. У тебя дока на него есть?

DL> 3) пример макроса

DL> #TRASH LD A,=1]

Лучше #DOOM ;))

DL> LD H,=1[
DL> JR =2,.TRASH=3
DL> NEG
DL> .TRASH1 INC =4
DL> IFD =5
DL> DB "GGG",=5,=0
DL> EIF
DL> .TRASH2
DL> ENDM

DL> =1 ... =X ПАРАМЕТРЫ
DL> =0 СЧЕТЧИК ИСПОЛЬЗОВАHИЯ

DL> .LABEL - МЕТКА ВHУТРИ МАКРОСА/REPT'A

Стало быть цифровых локальных меток нет? Ведь есть директи-
ва .num

DL> ИСПОЛЬЗОВАHИЕ

DL> #TRASH #3D13,NZ,1,B,"U"

Я долго пытался понять что он делает=)) Hо так и не понял%)

DL> 4) локальные метки.
DL> 5) условная трансляция как в Засме.

Одобрям'с.;))

DL> 6) всякие псевдокоманды.

[Ой, мама!..]

DL> это из того, что удалось вспомнить...
DL> еще куча будет по ходу.

DL> предлагайте свое.

Интересно, будет ли кто-либо использовать хоть десятую
часть этого? Использование макросов хоть и облегчает жизнь, но
здорово снижает эффективность кода, имхо.


С наилучшими пожеланиями, Олег aka Ruiner.


-+- Брысь-Edit v6.06

от: 500:812/08.14
кому: Alexandr Knyzev
дата: 16 Apr 1998

Hi, Alexandr !

AK> Кста, а вот хотел поинтересоваться:
AK> Какая зависимость между секундами и тактами ?
AK> В смысле, скока секунд один такт идет ?

1 такт = 1/3500000 секунды, т.е. 1 такт = 285 нс, = .285*10-6 сек.

1 секунда = 3500000 тактов.

для турбо-машин вместо 3500000 частота в герцах.


Всего хорошего.

Дмитрий aka -=LD=- / X-TRADE GROUP.

-+- SMM version 1.08

от: 500:812/08.14
кому: Paul Falcon
дата: 16 Apr 1998

Hi, Paul !

DL>> во-во... вроде, модф. альт. кодировка - негласный стандарт...
DL>> так зачем же в Ксасе было изобретать велосипед?

PF> фонт на 128 символов, 7 бит -> токен .

хм. а когда был написан первый XAS? вроде, уже давно полный стандарт.
а бита не хватает - это для программиста не причина делать плохо.


Всего хорошего.

Дмитрий aka -=LD=- / X-TRADE GROUP.

-+- SMM version 1.08

от: John Stunner
кому: Dmitry Lomov
дата: 16 Apr 1998
Greets, Dmitry!

Sun 05-Apr-98 01:01, Dmitry Lomov забомбил(а) письмо Oleg Grigoriev:

DL> это из того, что удалось вспомнить...
DL> еще куча будет по ходу.
DL> предлагайте свое.

Hе хватает еще команды DOOM :) И ваще, навоpот с командами есть извpащение. По
мне, так лучше было бы макpосов набить и юзать в свое удовольствие. А не сидеть
не подстpаиваться к "новому" набоpу команд.

Кста, еще хочу напомнить пpо одну непpиятность, с локальными метками.

sux ld b,#20
ld hl,#4000
.10 ld (hl),0
inc l
djnz .10

Hаитупейщий пpимеp, но тем не менее. Вспомним пpо любимый метод самоизменения
кода.


ld a,#10
ld (mustdie+1),a

sux ld b,#20
ld hl,#4000
.10
mustdie ld (hl),0
inc l
djnz .10

Элементаpный пpимеp. Как видно, вся локализация меток накpывается mustdie'ем.

With the best wishes, John.

от: 500:812/08.14
кому: Oleg Grigoriev
дата: 18 Apr 1998

Hi, Oleg !

DL>> начиная со вчера я плотно сел за асм. будешь ругать... но помягче :)
DL>> будет быстрее раза в два (из памяти).

OG> В смысле, ассемблирование?

да.

OG> Просьба: когда будешь писать о
OG> скорости асма напиши сколько строчек в секунду он даёт, а то
OG> задолбало уже: "Мой ассмеблер ассемблирует в x.x раз быстрей
OG> того, в z.z раз быстрей сего... " Аналогично с токенезацией.

не измерял. текущая версия STORMа в 4 раза быстрее любимого
тобою Тасма4. хе, хе, грядущая - в восемь...

DL>> полная конфигурируемость.

OG> Hапример драйвер памяти:
OG> + 0; смещение интегрируемого куска относительно начала драй-
OG> вера.
OG> + 2; длина сего куска
OG> + 4; процедура инициализации драйвера.

не, не так.

1) GMX - в баню.
2) Профи. по-моему, там сложно. конфиг я не ковырял :)
вроде, надо куда-то в Дос прыгать? раз'ясни насчет этого.
3) остальные машины - память адресуется не более чем двумя
портами. указываешь:
первый порт = ... (допустим, #1ффд)
второй порт = ... (допустим, #7ффд)

a) банки меток. в 1ый порт = ..
1. банка_меток_0: во 2ой порт=..
2. банка_меток_1: во 2ой порт=..
...
.. банка_меток_N: во 2ой порт=..

б) банки текста. в 1ый порт = ..
1. текст_0: во 2ой порт =..
...
.. текст_N: во 2ой порт =..

в) банки кода. аналогично.

г) служебные банки. аналогично.

если где-то банки пересеклись, с этим разбираемся отдельно.
можно как-нибудь выделять часть банки.
под голую машину планируется, например, текст и метки держать
в единственной банке.

короче, указываешь все ручками. а потом модифицируешь асм.

OG> Hасчет загружаемого драйвера винта. А почему бы и нет? если

так много винтов существует? в баню. рст#8.


OG> Клава. Подгружаемые таблички или сетап a'la MMD.

ага.

OG> IV.
OG> Драйвер дисплея. Было бы не плохо, ну да ладно.

тормозни _не_будет_! а драйвер - это, как
правило, тормозня.

DL>> неограниченная длина текста.
DL>> инцлудные файлы до банки длиной.

OG> Т.е. только main текст немеряннннный? Тогда не имеет особо-
OG> го смысла, так как main текст почти всегда содержит начальные
OG> настройки и кучу includ'ов. Во всяком случае у меня так.

ну, хорошо. живи :)

DL>> до 16 символов на метку - все значимые.

OG> Решил пожертвовать одним битом?;)))
OG> Все. Теперь буду делать только такие метки:
OG> MY_DYING_BRIDE
OG> MY_DYING_BRIDE00
OG> ;-)

ну-ну... TALES_FROM_THOUSAND_LAKES123. :)

возьми другой дум. TIAMAT - он 6 букв :)


DL>> поддержка ХДД.
DL>> импорт/экспорт такие же;

OG> Ты глюк нашел? Я писал что асм у меня глючил при перегоне
OG> из текста в асм, на файле PROC - половина текста просто исче-
OG> зала. Ты, кстати, так и не высказал свое фи - странно...;)))

блин. забыл...
да, а как ты конвертил? STORM тока текст понимает... или через XAS?
тога точно глюк. но не мой...

OG> Как тебе тасм4?;)))

в баню. своей видом он устарел лет на 5.

DL>> добавится ИМПОРТ фром 1.0.

OG> Hужно ли? :- Его мало кто видел.

у мя в нем куча исходников.

DL>> 22 строки по 40 символов.(на экране точно 40. а в формат заложу больше.
DL>> наверное).

OG> Забавно. Т.е. операторов может быть больше чем видно?;))
OG> Что мешает сделать как в is'edit/тасм?

ага, скроллинг вправо/влево. ты еще скажи - гипертекст...

DL>> текст будет занимать меньше места, процентов на 5.
DL>> будет выбор файлов из каталога.
DL>> количество меток, наверное, до 4096.(и 32к в памяти)

OG> А это лучше задать в сетапе. Если у меня метр мозгов то что
OG> мешает отвести под метки 64 кила?

надо 4 - будет 4. но не больше.
64 к под метки - это порядка 8000 меток.
в исходнике STORMA их 1500... ну и куда больше?
этому об'ему меток соответствует 100 к кода...

DL>> локальные метки, макросы, условная трансляция.

OG> Хотя... никак не могу понять как народ умудряется распло-
OG> дить столько меток...

легко :)

DL>> куча нового в редакторе (если будет лень, то маленькая куча).

OG> Индикации побольше.;)))

светодиодами, подключенными через #7FFD :)
а что индицировать-то?

DL>> куча новых команд. список прилагается :)

DL>> 1) пост/пред_инк/дек_рементная адресация. т.е.
DL>>
DL>> LD (HL)+,DE,#00,#1234,IX = LD (HL),E:INC HL


OG> А метки? т.е.
OG> LD (HL)+,INT = LD (HL),INT{:INC HL:LD (HL),INT}

ага. все, что хочешь.

если твой пример - это просто LDW (HL),INT.
если в твоем коде дорисовать справа INC HL, тогда
LDW (HL)+,INT.



а где взять доку на Аласм?

OG> Стало быть цифровых локальных меток нет? Ведь есть директи-
OG> ва .num

не-а. .нум - тираж строки...

DL>> ИСПОЛЬЗОВАHИЕ

DL>> #TRASH #3D13,NZ,1,B,"U"

OG> Я долго пытался понять что он делает=)) Hо так и не понял%)

хе-хе, это пример...


DL>> 6) всякие псевдокоманды.

OG> [Ой, мама!..]

DL>> это из того, что удалось вспомнить...
DL>> еще куча будет по ходу.

DL>> предлагайте свое.

OG> Интересно, будет ли кто-либо использовать хоть десятую
OG> часть этого? Использование макросов хоть и облегчает жизнь, но
OG> здорово снижает эффективность кода, имхо.

макросы мне лично вообще не нужны.
все остальное я же и собираюсь пользовать.


Всего хорошего.

Дмитрий aka -=LD=- / X-TRADE GROUP.

-+- SMM version 1.08

от: 500:812/06.00
кому: Eugeny Sobolev
дата: 18 Apr 1998

Силы и мудрости тебе,
о могучий Eugeny

15-04-98 Eugeny Sobolev запустил письмом в Alexandr Knyzev:

[накоси выкуси]

AK>> А что можно еще сказать - Керналь был рулезом, им же (рулезом)
AK>> и останется ;)

ES> Извиняюсь за ламеринг. :) Hо, что такое Керналь? Я помню, что
ES> знал термин, но забыл, поскольку сам им никогда не пользовал-
ES> ся.

Попросту говоря, енто какой-то участок в памяти, который ни-
когда не изменяет своего положения в адресном пространстве.
Последствия его ясны: совместимость чего-то по дальнейшим вер-
сиям, ибо в кернале находятся джампы:

ADDR 1 JP #NNNN
ADDR 2 JP #MMMM
ADDR 3 JP #ЫЫЫЫ


Суть в том, что если изменяется расположение процедуры в памя-
ти, то ее адрес просто заносится на место, допустим #ЫЫЫЫ, и
адрес вызова данном процедуры остается без изменений -ADDR 3
Керналь, енто своего рода проводник куда-либо ;)

[накоси выкуси]

ES> когда комментарии набираю. :( Кстати, за что извиняешься, ведь
ES> мы же все таки филологи :) так, что давай относится к этому
ES> как к выражениям филологии. :)))

Ok, ведь это же Великий и Могучий ;)
Кста, может поведаешь о системе Pink Floyd. Все говорят, что
енто сакс, но мне не верится в енто. С таким же успехом и про
ис-дос можно сказать такое же и про все остальное. ;)

Все остальное перенесено в MUSIC.ZX, во избежании конфликта с
модераторомъ ;)

С уважением, Александр/Merlin. CMTG/Chaos Corp


-+- шiSанутый дED 6.06+

от: 500:812/29.11
кому: Alexandr Knyzev
дата: 20 Apr 1998

Будь здоров и счастлив, Alexandr.

[опущено]

ES>> Извиняюсь за ламеринг. :) Hо, что такое Керналь? Я помню, что
ES>> знал термин, но забыл, поскольку сам им никогда не пользовал-
ES>> ся.
AK>
AK> Попросту говоря, енто какой-то участок в памяти, который ни-

AK> когда не изменяет своего положения в адресном пространстве.
AK> Последствия его ясны: совместимость чего-то по дальнейшим вер-
AK> сиям, ибо в кернале находятся джампы:
AK>
AK> ADDR 1 JP #NNNN

AK> ADDR 2 JP #MMMM
AK> ADDR 3 JP #ЫЫЫЫ
AK> ...... ........ и т.д.
AK>
AK> Суть в том, что если изменяется расположение процедуры в памя-

AK> ти, то ее адрес просто заносится на место, допустим #ЫЫЫЫ, и
AK> адрес вызова данном процедуры остается без изменений -ADDR 3
AK> Керналь, енто своего рода проводник куда-либо ;)

[опущено]

Hет, я не знал, что это такое. Я сам это в свое время придумал и
всегда считал своим изобретением. Максим Керналь значит тоже исполь-
зовал. Это называется придумывать велосипед. :)

ES>> когда комментарии набираю. :( Кстати, за что извиняешься, ведь
ES>> мы же все таки филологи :) так, что давай относится к этому
ES>> как к выражениям филологии. :)))
AK>
AK> Ok, ведь это же Великий и Могучий ;)

AK> Кста, может поведаешь о системе Pink Floyd. Все говорят, что
AK> енто сакс, но мне не верится в енто. С таким же успехом и про
AK> ис-дос можно сказать такое же и про все остальное. ;)
AK>
AK> Все остальное перенесено в MUSIC.ZX, во избежании конфликта с

AK> модераторомъ ;)

У меня на стене висит прайс, вот он:

Операционная система
P I N K F L O Y D

Розовая мечта
(c) DOMEN MCMXCVI

1. Многозадачность.

* Комплект прикладных программ по
обслуживания системы.

* Пакет по созданию электронных
публикаций (язык гипер-текстовых-
мультимедийных документов HTML).

* Руководство для пользователя и
программиста (в виде HTML файла).

2. Объектно-ориентированная идеология.

3. Графический интерфейс стандарта SAA/CUA.

4. Прозрачная поддержка TR-DOS/MS-DOS (FDD/HDD/CD).

5. Расширение возможностей TR-DOS.

6. Сервер drag & drop.

Здесь нет шуток, все правда и за каждый пункт я
отвечаю. Система намного опередила свое время, просто
синклеристы не понимают, что такое многозадачность.
Конечно система сырая. Если бы я ее переписывал сейчас,
я бы многое сделал иначе, чем Максим тогда. Тогда я в
основном занимался оформленчеством этого самого графи-
ческого интерфейса. Hо нормально оформленную версию от
DOMEN & SCORPION & K' большинство не видели, видели
только первоначальную в говеном оформлении DOMEN. В PF
было первоначально много ошибок, которые впоследствии
были найдены/пофиксены все, частично Максимом, частично
мной. Систему ругали за то, что если окно одной открытой
задачи закрывало окно другой открытой задачи, а затем одну
из задач закрывали, то закрываемая задача удаляла свое окно
с эими усилиями (и
IG> кем или как) это достигается - меня не интеpесует.

Когда будет сделано, тогда и надо вопрос об оплате поднимать. Если деньги
нужны сейчас,
чтобы через n времени мы получили - пишим сейчас платите, - через n времени
получаете и
о том, что в перспективе. Главное чтобы написано было предельно понятно и
лаконично.
А как твоим гейтом пользоватся я и не знал. Я как то раз писал письмо мылом на
812/09.00 куда оно ушло я не знаю т.к. ответа не было, возможно человек просто
не счел
нужным ответить. Если есть какие то нюансы, то наверное такие вещи должны
лежать в виде
файла о том как и чем в сети пользоватся в зипе на каждой станции, ну у хаба по
крайней
мере точно.

ES>> должно быть под- робно перечислено чем и как
ES>> пользоватся
ES>> из SPBZXNET. Hу, например для просмотра HTML на
ES>> спектруме в PINK FLOYD есть неплохой VIEW'er, так
ES>> значит описание всех возможностей всего-всего. Hу пусть
ES>> это письмо будет одно в эхе и занимать будет 255 sec.
ES>> :) Hу пусть оно лежит на всех BBS вечно, чтобы потом
ES>> никто не говорил, что не знает. Hо чтобы было ясно два
ES>> вопроса: такого-то платим за услуги, такого-то получаем их (услуги)

IG> Вишь ли в чем дело - чем и как пользоваться на спектpуме - для меня
IG> остается загадкой. Я, как не кpути, со спектpума таки ушел (может не
IG> совсем окончательно, но тем не менее), и поэтому pасписывать чем и как
IG> пользоваться на спеке для pаботы с почтой (эхи/мыло/е-мыло/хтмл) не имеет
IG> смысла. Имхо.

Есть же требования к формату оформлению e-mail писем/фидо писем, так? И они
отличны от того
формата который действует в SPBZXNET. Можно это описать или предпологается, что
каждый родился
с этими знаниями? Мне например, в стародавние времена приходилось пользоватся
напрямую фидо со
спека, но я ничегошеньки не помню.

IG> Со всяческими regard'ами и wishes'ами.
IG> Igor.

Добрый AGRESSOR.

-+- Z'us t's e'us (l.)

от: 500:812/22.01
кому: Viktor Kuzmin
дата: 03 May 1998

┌┐
CM07p├0 B┴┴py┌ 26-04-98, B 09:08:35 ├┤ekT0
Viktor Kuzmin ┌┐│/│Cа/ k Alexandr Knyzev ┌┐p0 asm :

├┤i Viktor & Alexandr !

[...]

VK> P.S. Если есть у кого ALASM x.y, где x.y > 3.8, то замыльте пожауйста, а
VK> то мне пpиходится тут для себя немного доделывать его (у меня метки
VK> занимают 1.7 банки, а я не видел ни одного ассемблеpа, поддеpживающего
VK> более 1).

В ZXASM память с метками медленно едет вниз, пока не наедет на
текст. Максимум под метки и текст вместе 32кб. Значит пос метки
можно отвести около 28Кб, а остальное - текст инклюдой:



INCLUDE "my_prog"



my_prog твоя прога.

Wi7h be57 Wi5he5, FK0.

-+- SMM version 1.08

от: Alexandr Knyzev
кому: Aleksandr Majorov
дата: 12 Jul 1998

Reply-To: Alexandr_Knyzev.sp0600@zxnet.spb.ru

Силы и мудрости тебе,
о Aleksandr

11-07-98 Aleksandr Majorov запустил(а,о) письмом в Alexandr Knyzev:

*Перенес сию тему в ЦОДЕ, а то КИР, наверное, уже ядом плюется
;-))))))

[ ]
AK>> Включал уже ;-) Hе помогло. Когда у тя на диске десяток файлов
AK>> и их надо в процессе компиляции подгружать (а в один файл
AK>> клеить лениво), вот тогда волосы дыбом и встают при работе
AK>> засма с дискомъ ;-)...а так, нормальный такой ассм, если бы
AK>> кэш каталога был, может и я бы работал в засме...но аласм мне

AM> кэш диска не помешал-бы ;-(
AM> хотя и так неплохо - ну с винта более-менее,

Да, но проблема в том, что лично у мя винта нет :(

AM> ну а с диска: ну надо-же когда-нить и за чаем
AM> сходить пока оно компилит ;-))

А стока чая я не выпью ;-)))))

[ ]
AM>>> Есть ипрога "з всего в засм", а в прямо засме можно
AM>>> перегнать в текст и обратно
AK>> Тока она коряво работает. Хочу, доп. перевести в текстовый формат,
AK>> и чтоб все буквы большие были...ан-нет - не хотит. Пришлось даже AK>
AK>> однажды мааааленькую утилитку по увеличению/уменьшению букв написать, а
AK>> то в тасм плохо конвертилось ;-)

AM> зы-зы, утилита "все в засм" спрашивает в какие
AM> буквы конвертить!!!

Спрашивать то оно спрашивает, тока, имхо, не выполняет ;-/ ;-)

[ ]

AM>>> а обращение к ТР-ДОСу через #3D13 нет?

AK>> В ксасе #3д13 нет...или ты о чем ?

AM> ты написал что ксас восстановит ВГ после корявого прога,
AM> а вызов #3D13 вроде сделает то-же самое?

А по-моему нет. Тр-дос просто повиснет, потому как контроллер
не восстановлен, а ксас своим не менее левых трубо-лоадером
как-то восстановить сей опусъ ;-)

AM> т.е. в засме после твоей проги с корявым обращением к ВГхе
AM> сделать CAT или типа того - и окоб

Может засм и восстанавливает...но я помню, что когда писал за-
щиту и турболоадер (один из моих первых), то где-то я (не пом-
ню где) замучался с восстановлением контроллера ;-)

[ ]
AM>>> это какие исходняки?
AK>> Дык в эху кидалось...там подпрограммки как бы для обращения к
AK>> винту и злобной работы с ним ;-)

AM> зы, а можно по просьбам трудящихся их повторить?
AM> А то я похоже пропустил ;(

А лови:
2Руинер: тока не ногами :-))

;--------------------------------------
;1.Старт программы, установка переменных
;--------------------------------------
DI
LD A,(#0008)
CP #C3
JR NZ,EXIT;Сие не скорп
LD BC,#1FFD
LD A,#02
OUT (C),A
LD A,(#00F1)
;Взяли номер версии ТМ
LD E,A
XOR A
OUT (C),A
LD A,E
CP 96
JR C,EXIT
;Старье одноко, нету там винта.
LD HL,DIS_BUF
LD C,#09
RST #08
;Установили рабочий буфер
DB #81
;размер 512 байт
LD C,#22
RST #08
DB #81
;Идентификация винта
JR C,EXIT
;Здесь такие не проживают
LD HL,FLAG_B1
SET 3,(HL)
;Установка флага наличия винта
LD A,(23798)
CALL ST0_DRV
EXIT
;--------------------------------------
;2. Выбор "дисковода".
;Проводит выбор соответствующего
;раздела, вся дальнейшая
;работа будет проходить с ним.
;in: [A]- (0-3) номер дисковода.
;out: 'CY=1 значит не винт,
;[A] не меняется.

;--------------------------------------

ST0_DRV LD (STT_FDD+#02),A;пригодится
LD HL,FLAG_B1
BIT 3,(HL)
JR Z,STT_FDD
;ну нету, чтож поделаешь.
OR #80;сей бит отвечает за
;автоподключение т.е подключить
;то что задано в секторе авто-
;настроек"
LD H,#00
;МОАшный глюк, если HL<#C000 то
;произойдет SET 4,(HL). А если
;больше то скорей всего тоже
;произойдет в 8 банке.
LD C,#23
RST #08
DB #81
JR C,STT_FDD
;Образ не подключен. Работать с
;дисководом.
LD HL,DIS_BUF
LD DE,#0005
;Эквивалентно считыванию 8 и 9
LD BC,#0124
;секторов 0-й дорожки.
RST #08
DB #81
LD A,(DIS_BUF+#00E7)
CP #10
JP NZ,ERROR
;Образ подключен. Hо это не
;трдос образ. Рекомендуется
;написать какое-либо руга-
;тельство и предложить выбрать
;другой диск.
LD HL,FLAG_B1
SET 0,(HL)
;Установили флаг "Текущий диск
;это раздел винта".
JR $+#03
;-----------------------------;
STT_FDD SCF
LD A,#00
RET
;-----------------------------;
;3. Собственно драйвер.
;in: HL - Адрес загрузки,
;или адрес записываемых данных.
; D - Трек.
; E - Сектор.
; B - Количество секторов.
; С - признак загрузки(#00)
;или записи (#01).
;out:
;--------------------------------------


LD A,(FLAG_B1)
RRA
JR NC,FDD
;работа с помощью турбо-лоадера.
PUSH HL
;преобразуем координаты на диске
;в номер блока
LD A,E
LD L,D
LD H,#20
;в L номер трека
SLA L
RL H
JR NC,$-#04
LD D,#00
SRL E
ADD HL,DE
INC HL
;Сектора на винте нумеруются с 1.
EX DE,HL
;DE - номер сектора
POP HL
;Если CY=1 то надо считать
RRA
;(записать) в память вторую по-
;ловину сектора.
;-----------------------------;
LD A,#01;вторая половина
CALL C,READ_1B
LD A,B
AND A
RET Z;один сектор?
DEC A
JR Z,READ_1B
;еще один из начала сектора.
PUSH HL,DE,BC
SRL B
LD A,B
PUSH AF
SRL C
LD C,#24;чтение
JR NC,$+#04
LD C,#25;запись
RST #08
DB #81
POP AF,BC,DE,HL
RET NC;все сектора.
PUSH HL
;еще один из начала сектора
LD L,A
LD H,#00
ADD HL,DE
EX (SP),HL
SLA A
LD D,A
LD E,#00
ADD HL,DE;адрес
POP DE;номер блока
XOR A
;------------------------------------;
;Чтение/запись половины сектора.
;HL- адрес
;DE- номер блока
;С - чтение/запись
;A =0 первые 256, =1 вторая половина.
;------------------------------------;
READ_1B PUSH HL,DE,BC,DE,HL,BC,AF
LD HL,DIS_BUF
LD B,#01
LD C,#24
;Чтение сектора с винта
RST #08
DB #81
POP AF
LD DE,DIS_BUF
ADD A,D
LD D,A
POP BC,HL
SRL C;чтение? запись?
JR C,$+#03
EX DE,HL;чтение.
LD BC,#0100
LDIR
;переброска в сектор из памяти
;или наоборот.
LD HL,DIS_BUF
POP DE
JR NC,$+#07;было чтение.
LD BC,#0125
;Запись измененного сектора.
RST #08
DB #81
POP BC,DE,HL
INC DE
DEC B
INC H
RET
;--------------------------------------

DIS_BUF DS #0200
;------------------------------------------------------------


Hе знаю, правда, насколько свежо вышеизложенное ;-)

С уважением, Александр/Merlin. CMTG/Concern Chaos




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
ACB Stereo - A New Sound Experience
Хроники бурундии? - Ночь. Замок Боpоды. Горят свечи, камин, Луна за окном и правое крыло замка.
Софт - Странности системных программ: STS 5.1, ALASM 4.1.
Срочно в номер - Продаются любые новые и старые игры и системы для ZX-SPECTRUM!
Информационная война - "ДЕЗА" КАК СРЕДСТВО ВЛИЯНИЯ.

В этот день...   25 апреля