Какой кросс-ассемблер выбрать? SjASMPlus или всё-таки zmac

Микропроцессоры и микроконтроллеры от фирмы Zilog, а также компьютеры на них построенные

Moderator: Shaos

Mondx
Doomed
Posts: 455
Joined: 10 Aug 2022 14:27

Какой кросс-ассемблер выбрать? SjASMPlus или всё-таки zmac

Post by Mondx »

FizikS wrote:Сейчас перевожу хелп к ассемблеру SjASMPlus 1.20.2...
Когда то пытался перейти с Microsoft M80 на что то другое, не под CP/M. Перепробовал кучу трансляторов, SjASMPlus в т.ч., и успокоился.( Может сейчас чего то изменилось.
User avatar
Shaos
Admin
Posts: 23679
Joined: 09 Jan 2003 06:22
Location: Silicon Valley
Contact:

Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, циф

Post by Shaos »

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
Я тут за главного - если что шлите мыло на me собака shaos точка net
Mondx
Doomed
Posts: 455
Joined: 10 Aug 2022 14:27

Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, циф

Post by Mondx »

IRP/IRPC может?
Увидел.) ОК, надо попробовать.
forthuser
Senior
Posts: 165
Joined: 12 Jan 2023 14:26

Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, циф

Post by forthuser »

Shaos wrote:Да нафик этот ваш SjASMPlus :)
zmac наше фсъё :roll:
Здесь на страничке они оба упомянуты
User avatar
Shaos
Admin
Posts: 23679
Joined: 09 Jan 2003 06:22
Location: Silicon Valley
Contact:

Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, циф

Post by Shaos »

Нету zmac там...
Я тут за главного - если что шлите мыло на me собака shaos точка net
Mondx
Doomed
Posts: 455
Joined: 10 Aug 2022 14:27

Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, циф

Post by Mondx »

Ой, не хотел говорить, но... Считаю М80 за стандарт. 1980 года! И если какой то zmac, пусть даже во всеми доп. фишками, не может обеспечить все возможности М80, тогда почему он должен считаться лучше? Так вот, zmac не может закрыть макросредства M80. И о какой замене тогда можно говорить!
User avatar
Shaos
Admin
Posts: 23679
Joined: 09 Jan 2003 06:22
Location: Silicon Valley
Contact:

Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, циф

Post by Shaos »

А с чего ты взял, что не может?
Или тебе обязательно надо сегменты объявлять?
Меня вот они бесят например - ассемблер должен быть плоский...
А макросы в zmac тоже есть и условное ассемблирование!
Ну и публик-домейн опять же, уходящий корнями в 1978 год...
Я тут за главного - если что шлите мыло на me собака shaos точка net
Mondx
Doomed
Posts: 455
Joined: 10 Aug 2022 14:27

Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, циф

Post by Mondx »

Я вижу что макросы есть. И, с виду, нормальные.) Но.
Обещанные локальные переменные что то не наблюдаются.( Хотя:
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: Select all

  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:


Конечно, может быть я не умею их готовить...(
Mondx
Doomed
Posts: 455
Joined: 10 Aug 2022 14:27

Re: SimulIDE бесплатный симулятор электроники (PIC, AVR, циф

Post by Mondx »

Кстати, о возрасте. Коль они ссылаются на совместимость с М80, значит...
User avatar
Shaos
Admin
Posts: 23679
Joined: 09 Jan 2003 06:22
Location: Silicon Valley
Contact:

zmac

Post by Shaos »

Mondx wrote:Кстати, о возрасте. Коль они ссылаются на совместимость с М80, значит...
да zmac пилили много десятилетий - мы тут держим версию, которую допилил местный форумчанин в 2005 году - он в частности добавил INCBIN и ещё чего-то по мелочи:
/*
* Добавлено:
* ■ Автоматическое сканирование на метки, содержащие первый символ
* имени "@" (@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 9580 times

Я тут за главного - если что шлите мыло на me собака shaos точка net
Mondx
Doomed
Posts: 455
Joined: 10 Aug 2022 14:27

Re: zmac

Post by Mondx »

Shaos wrote: а для локальных меток в zmac надо ставить знак вопроса в начале имён (и в моей версии нет ни слова про совместимость с M80):
Можно и так, но для совместимости с MACRO-80 (M80) можно использовать local lab,... Только не с начала строки, как это было у меня.(
Как бы много всяких удобств, но вот ifidn/ifdif в макро чем заменить не нашел. Когда пишешь с нуля - это всё можно учесть, а когда уже немало написано, то немножко муторно.
User avatar
Shaos
Admin
Posts: 23679
Joined: 09 Jan 2003 06:22
Location: Silicon Valley
Contact:

Re: Какой кросс-ассемблер выбрать? SjASMPlus или всё-таки zm

Post by Shaos »

У тебя видимо какое-то допиленное развитие змака т.к. в моей версии 1.33 от 2005 года даже ключевого слова такого local нету

И кстати у M80 ведь нету кросс-варианта? т.е. ты его пускаешь в эмуляторе CP/M-80 или MSX-DOS?
Я тут за главного - если что шлите мыло на me собака shaos точка net
Mondx
Doomed
Posts: 455
Joined: 10 Aug 2022 14:27

Re: Какой кросс-ассемблер выбрать? SjASMPlus или всё-таки zm

Post by Mondx »

Ага, MSX.M-80 1.00 01-Apr-85 запускаю в эмуляторе CP/M на 7-ке.)
zmac version 18oct2022 http://48k.ca/zmac.html
User avatar
Shaos
Admin
Posts: 23679
Joined: 09 Jan 2003 06:22
Location: Silicon Valley
Contact:

Re: Какой кросс-ассемблер выбрать? SjASMPlus или всё-таки zm

Post by Shaos »

Это какие-то энтузиасты насували уже - даже недокументированные инструкции добавили :o
Я тут за главного - если что шлите мыло на me собака shaos точка net
User avatar
FizikS
Maniac
Posts: 250
Joined: 11 Oct 2018 07:52
Location: г. Клинцы, Брянская обл.

Re: Какой кросс-ассемблер выбрать? SjASMPlus или всё-таки zm

Post by FizikS »

Доделал таки перевод документации к компилятору SjASMPlus на русский язык. Перевод сделан при помощи Яндекс переводчика с незначительными корректировками для улучшения восприятия текста. Форматирование оригинального документа сохранено (файл справки - html документ). Т.е. все гиперссылки работают.
Предоставляю "как есть", без претензий на невысокохудожественное произведение...

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

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

docs.zip
(140.11 KiB) Downloaded 175 times

Assembler_SJasmplus.PNG
Assembler_SJasmplus.PNG (27.01 KiB) Viewed 9178 times

Post Reply