OrgAsm

Компьютер "Спринтер" http://sprinter.nedopc.org

Moderator: Shaos

User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Post by Shaos »

Shaos wrote:Выложил дистрибутив с доками:

OrgASM v0.28

По поводу выложить все - выложу, но по мере надобности
По причине отмирания нюка и переезда недопц вместе со спринтером на сайт nedopc.org занялся я перетряхиванием и всех ссылок - наткнулся на интересную фичу моего текущего хостера - он отказывался отдавать с сервера вышеозначенный архив oasm028b.zip - я сидел наверное полчаса если не меньше, пялился в файл что я только что на фтп закинул, в ссылку, которая не открывается - все одинаково - буква в букву. Пробовал другие файлы - все ок, а этот - не идет. И тут до меня дошло - а вдруг хостеру не нравится имя одного из внутренних файлов - а именно ORGASM.EXE :) Сменил имя на org-asm.exe - перепаковал архив, выложил - все заработало ;)
Я тут за главного - если что шлите мыло на me собака shaos точка net
Sayman
Maniac
Posts: 223
Joined: 05 Oct 2009 19:44
Location: 212.164.105.5

Re: Дока по orgasm?

Post by Sayman »

А тут нигде не пролетали исходники оргасма?

нашёл у себя только версию 0.15 бета, хотя в доступе бинарь есть 0.28. 0.15 не интересно, надо бы свежее. дайте, у кого есть?
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: Дока по orgasm?

Post by Shaos »

А чо были исходники? :o
Я тут за главного - если что шлите мыло на me собака shaos точка net
Sayman
Maniac
Posts: 223
Joined: 05 Oct 2009 19:44
Location: 212.164.105.5

Re: Дока по orgasm?

Post by Sayman »

Shaos wrote:А чо были исходники? :o
Да. Василий по мылу засылал, но как я уже сказал, там версия 0.15, а в бинарях 0.28.
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re:

Post by Shaos »

Vasil Ivanov wrote:
btw, а исходников самого orgasm`а тоже нет? Очень хотелось-бы асм с укороченной записью команд, как в asm80. Т.е., a=0 вместо ld a,0 и a++ вместо inc a. Это очень ускоряет набор программы, и делает её более читаемой (особенно если пользоваться такой записью совместно с командами через двоеточие).
Считай что нет, т.е. в наличии только сорцы версии 0.16. Но в этой версии imho даже нет локальных меток. У Игоря более поздние сорцы все по-херились. Но это уж ни такая большая проблема у тебя, чтобы ничего не писать ;).
Попали ко мне исходники 0.15 beta (видимо те самые), а внутри лежит ORGASM28.ZIP в котром лежит ORGASM.EXE у которого размер и время совпадают с OrgASM v0.28 выложенной петерсами, но вот содержимое у них немного разное:

Code: Select all

557,560c557,560
< 00002480  0a 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |.               |
< 00002490  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
< *
< 000024b0  20 20 20 20 20 20 20 20  0d 0a 4f 72 67 41 73 6d  |        ..OrgAsm|
---
> 00002480  0a 82 a5 e0 e1 a8 ef 20  ae e2 aa ae ac af a8 ab  |....... ........|
> 00002490  a8 e0 ae a2 a0 ad a0 20  e1 af a5 e6 a8 a0 ab ec  |....... ........|
> 000024a0  ad ae 20 a4 ab ef 20 82  a0 e1 a8 ab a8 ef 20 88  |.. ... ....... .|
> 000024b0  a2 a0 ad ae a2 a0 21 0d  0a 0a 4f 72 67 41 73 6d  |......!...OrgAsm|
574,575c574,575
< 00002590  0a 0a 2f 45 20 2d 20 63  72 65 61 74 65 20 45 58  |../E - create EX|
< 000025a0  45 2d 70 72 65 66 69 78  20 20 0d 0a 2f 43 20 2d  |E-prefix  ../C -|
---
> 00002590  0a 0a 2f 45 20 2d 20 45  58 45 2d 70 72 65 66 69  |../E - EXE-prefi|
> 000025a0  78 20 63 72 65 61 74 69  6f 6e 0d 0a 2f 43 20 2d  |x creation../C -|
578,579c578,579
< 000025d0  6c 73 0d 0a 2f 4d 20 2d  20 63 72 65 61 74 65 20  |ls../M - create |
< 000025e0  53 79 6d 62 6f 6c 20 74  61 62 6c 65 20 20 20 0d  |Symbol table   .|
---
> 000025d0  6c 73 0d 0a 2f 4d 20 2d  20 e1 ae a7 a4 a0 ad a8  |ls../M - .......|
> 000025e0  a5 20 e2 a0 a1 ab a8 e6  eb 20 ac a5 e2 ae aa 0d  |. ....... ......|
582,583c582,583
< 00002610  53 63 61 6e 6e 69 6e 67  20 53 79 6d 62 6f 6c 20  |Scanning Symbol |
< 00002620  74 61 62 6c 65 2e 2e 2e  20 20 20 20 20 0d 0a 00  |table...     ...|
---
> 00002610  91 aa a0 ad a8 e0 ae a2  a0 ad a8 a5 20 e2 a0 a1  |............ ...|
> 00002620  ab a8 e6 eb 20 ac a5 e2  ae aa 2e 2e 2e 0d 0a 00  |.... ...........|
< это их oasm028.zip,
а > это из сырцов
какой из них новее?

Опубликованная версия печатает в моём эмуле вот это:
Screenshot from 2020-12-10 02-52-55.png
А вытащенная из архива с исходниками - вот это:
Screenshot from 2020-12-10 02-53-44.png
Значит это просто специальная версия для Василия :)
You do not have the required permissions to view the files attached to this post.
Я тут за главного - если что шлите мыло на me собака shaos точка net
Sayman
Maniac
Posts: 223
Joined: 05 Oct 2009 19:44
Location: 212.164.105.5

Re: OrgAsm

Post by Sayman »

По поводу сабжа. Shaos, если тебя не затруднит. После того как доведёшь актуальность исходников, не мог бы ты докинуть туда ещё пару фишек:
1. как в ужасме для пц, директива display
DISPLAY <bytes>
Out to console a string of bytes. Each value should be between -129 and 256. Keys /D, /H and /A set format of output of numbers:

/D - out only in Decimal
/H - out only in Hexadecimal
/A - out both in Hexadecimal and Decimal
Example 5.13.

ORG 100h
TESTLABEL:
;...some code...
RET
DISPLAY "--the some program-- by me"
DISPLAY "TESTLABEL address is:",/A,TESTLABEL
/*
will be out to the console next strings:
> --the some program-- by me
> TESTLABEL address is:0x100,257
*/
очень удобная штука. её сейчас нет в оргасме. при отладке полезно знать что и где и как.

2. ключ "тихой компиляции". сейчас оргасм выдаёт свои какие-то сообщения. этот ключ сделал бы так, чтобы оргасм выдавал только варнинги и ошибки, плюс сообщения от display. остальную мишуру. типа номер паса, всякие ОКи и прочее, пусть прячет.

3. Директива align.
ALIGN <2,4,8,16,32,64,128,256,512,1024,2048,4096,8192,16384 or 32768>, <byte>
Align fills zero or more byte with <byte> until the new address modulo <expression> equals zero.

Example 5.5.

ALIGN ; => ALIGN 4 - simply align by 4
ALIGN 2 ; by 2
ALIGN 2,0 ; + fills memory by zero
4, не припоминаю. есть ли у оргасма директива DUP/EDUP или REPT/ENDM. если нету. то очень было бы полезно.
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: OrgAsm

Post by Shaos »

DISPLAY это во время компиляции чтоли печать?
Я тут за главного - если что шлите мыло на me собака shaos точка net
Sayman
Maniac
Posts: 223
Joined: 05 Oct 2009 19:44
Location: 212.164.105.5

Re: OrgAsm

Post by Sayman »

типа ага.
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: OrgAsm

Post by Shaos »

посмотрим
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: OrgAsm

Post by Shaos »

Shaos wrote:
Vasil Ivanov wrote:
btw, а исходников самого orgasm`а тоже нет? Очень хотелось-бы асм с укороченной записью команд, как в asm80. Т.е., a=0 вместо ld a,0 и a++ вместо inc a. Это очень ускоряет набор программы, и делает её более читаемой (особенно если пользоваться такой записью совместно с командами через двоеточие).
Считай что нет, т.е. в наличии только сорцы версии 0.16. Но в этой версии imho даже нет локальных меток. У Игоря более поздние сорцы все по-херились. Но это уж ни такая большая проблема у тебя, чтобы ничего не писать ;).
Попали ко мне исходники 0.15 beta (видимо те самые)...
Выложил осстановленные исходники v0.28:

https://gitlab.com/sprinter-computer/apps/-/tree/master/OrgAsm

Собираются через zmac в тот же бинарь, что был выложен на петерсах последним
Я тут за главного - если что шлите мыло на me собака shaos точка net
Sayman
Maniac
Posts: 223
Joined: 05 Oct 2009 19:44
Location: 212.164.105.5

Re: OrgAsm

Post by Sayman »

теперь оргасму надо впилить фичи про которые я говорил. плюс ещё у оргасма нет условий компиляции. надо тоже добавить. ну и спецом для Василия - #region/#endregion
хотя врядли это вернёт его кодить тут по новой)))
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: OrgAsm

Post by Shaos »

Задача номер раз я думаю те же исходники перевести в дос и собрать им же самим

P.S. Условную компиляцию можно внешней утилитой сделать на подобии сишного препроцессора cpp
Я тут за главного - если что шлите мыло на me собака shaos точка net
Sayman
Maniac
Posts: 223
Joined: 05 Oct 2009 19:44
Location: 212.164.105.5

Re: OrgAsm

Post by Sayman »

внешняя cpp не кошерно и костыльно.
User avatar
Shaos
Admin
Posts: 23989
Joined: 08 Jan 2003 23:22
Location: Silicon Valley

Re: OrgAsm

Post by Shaos »

Sayman wrote:внешняя cpp не кошерно и костыльно.
точка зрения принимается - я погляжу как оно обычно делается...
Я тут за главного - если что шлите мыло на me собака shaos точка net
Sayman
Maniac
Posts: 223
Joined: 05 Oct 2009 19:44
Location: 212.164.105.5

Re: OrgAsm

Post by Sayman »

ну как пример условия:

Code: Select all

debug = 1
....
some code
if debug = 1
   code
endif
если сделать debug = 0 или его убрать совсем, то код между if/endif в компиляцию не попадает. zmac тоже так умеет.