nedoPC.org

Community for electronics hobbyists, established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 01 Dec 2024 09:47



Reply to topic  [ 48 posts ]  Go to page 1, 2, 3, 4  Next
Какой кросс-ассемблер выбрать? SjASMPlus или всё-таки zmac 
Author Message
Doomed

Joined: 10 Aug 2022 07:27
Posts: 414
Reply with quote
FizikS wrote:
Сейчас перевожу хелп к ассемблеру SjASMPlus 1.20.2...

Когда то пытался перейти с Microsoft M80 на что то другое, не под CP/M. Перепробовал кучу трансляторов, SjASMPlus в т.ч., и успокоился.( Может сейчас чего то изменилось.


19 Mar 2023 01:46
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 23436
Location: Silicon Valley
Reply with quote
Mondx wrote:
FizikS wrote:
Сейчас перевожу хелп к ассемблеру SjASMPlus 1.20.2...

Когда то пытался перейти с Microsoft M80 на что то другое, не под CP/M. Перепробовал кучу трансляторов, SjASMPlus в т.ч., и успокоился.( Может сейчас чего то изменилось.
Да нафик этот ваш SjASMPlus :)
zmac наше фсъё :roll:
http://nedopc.org/nedopc/sprinter/download/zmac133.zip (131Kb)

P.S. С июля 2024 года исходники zmac включены в состав nedoPC SDK: https://gitlab.com/nedopc/sdk

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


19 Mar 2023 02:23
Profile WWW
Doomed

Joined: 10 Aug 2022 07:27
Posts: 414
Reply with quote
IRP/IRPC может?
Увидел.) ОК, надо попробовать.


19 Mar 2023 04:04
Profile
Senior

Joined: 12 Jan 2023 07:26
Posts: 165
Reply with quote
Shaos wrote:
Да нафик этот ваш SjASMPlus :)
zmac наше фсъё :roll:


Здесь на страничке они оба упомянуты


20 Mar 2023 00:24
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 23436
Location: Silicon Valley
Reply with quote
Нету zmac там...

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


20 Mar 2023 01:18
Profile WWW
Doomed

Joined: 10 Aug 2022 07:27
Posts: 414
Reply with quote
Ой, не хотел говорить, но... Считаю М80 за стандарт. 1980 года! И если какой то zmac, пусть даже во всеми доп. фишками, не может обеспечить все возможности М80, тогда почему он должен считаться лучше? Так вот, zmac не может закрыть макросредства M80. И о какой замене тогда можно говорить!


20 Mar 2023 09:55
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 23436
Location: Silicon Valley
Reply with quote
А с чего ты взял, что не может?
Или тебе обязательно надо сегменты объявлять?
Меня вот они бесят например - ассемблер должен быть плоский...
А макросы в zmac тоже есть и условное ассемблирование!
Ну и публик-домейн опять же, уходящий корнями в 1978 год...

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


20 Mar 2023 22:27
Profile WWW
Doomed

Joined: 10 Aug 2022 07:27
Posts: 414
Reply with quote
Я вижу что макросы есть. И, с виду, нормальные.) Но.
Обещанные локальные переменные что то не наблюдаются.( Хотя:
For compatibility with Macro-80, the first line of a macro definition can list other labels that will be treated locally:
local lab1,lab2,...
 
Code:
  1:            ; display immediate text
   2:            
   3:            display   MACRO   fun
   4:            local   loop,text
   5:            
   6:               ld   hl,text
   7:            loop:   ld   c,(hl)
   8:               inc   hl
   9:               inc   c
  10:               dec   c
  11:               jr   nz,$+3
  12:               jp   (hl)
  13:            
  14:               call   fun
  15:               jr   loop
  16:            text:
  17:               ENDM
  18:            
  19:            
  20:            ; Display text string
  21:            
  22:            print   MACRO   str
  23:               display   so
  24:               db   str,0
  25:               ENDM
  26:            
  27:            
  28:    0+10   0000  C9         so:   ret
  29:            
  30:            
  30:   10+10   0001  211000        ld   hl,text
  30:   20+7   0004  4E         loop:   ld   c,(hl)
M Mult. def. error
  30:   27+6   0005  23            inc   hl
  30:   33+4   0006  0C            inc   c
  30:   37+4   0007  0D            dec   c
  30:   41+7+5   0008  2001          jr   nz,$+3
  30:   48+4   000A  E9            jp   (hl)
  30:            
  30:   52+17   000B  CD0000        call   so
  30:   69+12   000E  18F4          jr   loop
  30:     -   0010             text:
M Mult. def. error
  30:     -   0010                ENDM
  30:     -   0010  68656C6C      db   'hello1',0
                 6F3100
  30:     -   0017                ENDM
  30:   10+71   0001  2110004E      print   'hello1'
                 230C0D20
                 01E9CD00
                 0018F468
                 656C6C6F
                 3100
  31:     -   0017             local   loop,text
F Syntax error
M Mult. def. error
  31:            
  31:   81+10   0017  211000        ld   hl,text
  31:   91+7   001A  4E         loop:   ld   c,(hl)
M Mult. def. error
  31:   98+6   001B  23            inc   hl
  31:  104+4   001C  0C            inc   c
  31:  108+4   001D  0D            dec   c
  31:  112+7+5   001E  2001          jr   nz,$+3
  31:  119+4   0020  E9            jp   (hl)
  31:            
  31:  123+17   0021  CD0000        call   so
  31:  140+12   0024  18DE          jr   loop
  31:     -   0026             text:
M Mult. def. error
  31:     -   0026                ENDM
  31:   81+71   0017  2110004E      display   so
                 230C0D20
                 01E9CD00
                 0018DE
  31:     -   0026  68656C6C      db   'hello2',0
                 6F3200
  31:     -   002D                ENDM
  31:   81+71   0017  2110004E      print   'hello2'
                 230C0D20
                 01E9CD00
                 0018DE68
                 656C6C6F
                 3200
  32:     -   002D                end



Error + Warning report:

     8 errors
     0 warnings
     2 F -- Syntax error
     6 M -- Mult. def. error

     2   passes
     0   jr promotions
     4   symbols
    45   bytes

     4   macro calls
   147   macro bytes
     0   invented symbols



Symbol Table:


Конечно, может быть я не умею их готовить...(


21 Mar 2023 04:14
Profile
Doomed

Joined: 10 Aug 2022 07:27
Posts: 414
Reply with quote
Кстати, о возрасте. Коль они ссылаются на совместимость с М80, значит...


21 Mar 2023 07:55
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 23436
Location: Silicon Valley
Reply with quote
Mondx wrote:
Кстати, о возрасте. Коль они ссылаются на совместимость с М80, значит...

да zmac пилили много десятилетий - мы тут держим версию, которую допилил местный форумчанин в 2005 году - он в частности добавил INCBIN и ещё чего-то по мелочи:
Quote:
/*
* Добавлено:
* ■ Автоматическое сканирование на метки, содержащие первый символ
* имени "@" (@label) и запись их в файл *.tbl.
* ■ Добавлена директива INCBIN (вставить бинарный файл).
*
* Фитчи:
* Понимает hex-цифры '#цифра'.
* Для 'include', 'incbin' имена файлов можно не заключать в кавычки.
* Не понимает индексные половинки.
*
* Везде изменен вывод сообщений с "stderr" на "stdout".
* Теперь вывод можно переопределять в файл.
*
*
* Баг-фиксы:
* В версии 1.33 исправлен баг в процедуре "doincbin()", вызывавший
* ошибку "phase error".
*
*/

а для локальных меток в zmac надо ставить знак вопроса в начале имён (и в моей версии нет ни слова про совместимость с M80):


Attachments:
Screenshot from 2023-03-24 22-40-14.png
Screenshot from 2023-03-24 22-40-14.png [ 56.26 KiB | Viewed 9418 times ]

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973
24 Mar 2023 22:31
Profile WWW
Doomed

Joined: 10 Aug 2022 07:27
Posts: 414
Reply with quote
Shaos wrote:
а для локальных меток в zmac надо ставить знак вопроса в начале имён (и в моей версии нет ни слова про совместимость с M80):

Можно и так, но для совместимости с MACRO-80 (M80) можно использовать local lab,... Только не с начала строки, как это было у меня.(
Как бы много всяких удобств, но вот ifidn/ifdif в макро чем заменить не нашел. Когда пишешь с нуля - это всё можно учесть, а когда уже немало написано, то немножко муторно.


25 Mar 2023 00:32
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 23436
Location: Silicon Valley
Reply with quote
У тебя видимо какое-то допиленное развитие змака т.к. в моей версии 1.33 от 2005 года даже ключевого слова такого local нету

И кстати у M80 ведь нету кросс-варианта? т.е. ты его пускаешь в эмуляторе CP/M-80 или MSX-DOS?

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


25 Mar 2023 01:02
Profile WWW
Doomed

Joined: 10 Aug 2022 07:27
Posts: 414
Reply with quote
Ага, MSX.M-80 1.00 01-Apr-85 запускаю в эмуляторе CP/M на 7-ке.)
zmac version 18oct2022 http://48k.ca/zmac.html


25 Mar 2023 01:19
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 23436
Location: Silicon Valley
Reply with quote
Это какие-то энтузиасты насували уже - даже недокументированные инструкции добавили :o

_________________
https://mastodon.social/@Shaos :dj:
https://www.youtube.com/@Shaos1973


25 Mar 2023 01:45
Profile WWW
Maniac
User avatar

Joined: 11 Oct 2018 00:52
Posts: 215
Location: г. Клинцы, Брянская обл.
Reply with quote
Доделал таки перевод документации к компилятору SjASMPlus на русский язык. Перевод сделан при помощи Яндекс переводчика с незначительными корректировками для улучшения восприятия текста. Форматирование оригинального документа сохранено (файл справки - html документ). Т.е. все гиперссылки работают.
Предоставляю "как есть", без претензий на невысокохудожественное произведение...

В архиве:
1. Оригинальная справочная информация (английский язык)
2. Перевод "SjASMPlus 1.20.2 справочная информация [2023-02-14]"

Если найдете грубые ошибки, сообщите здесь, либо выкладывайте откорректированный документ.


Attachments:
docs.zip [140.11 KiB]
Downloaded 166 times
Assembler_SJasmplus.PNG
Assembler_SJasmplus.PNG [ 27.01 KiB | Viewed 9016 times ]
25 Apr 2023 12:00
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 48 posts ]  Go to page 1, 2, 3, 4  Next

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.