"Выкопал" из своих старых файлов

Компьютеры прошлого, не попавшие в другие разделы

Moderator: Shaos

Bill
Fanat
Posts: 92
Joined: 25 Jan 2014 21:54
Location: 37.113.169.14

"Выкопал" из своих старых файлов

Post by Bill »

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

Code: Select all

TEST	Macro-12 V0.1 Copyright (c) domEl 1989	01-Apr-90 Thursday 12:11	Page 1
      1                          
      2                          	.title	test
      3                          
      4                          	.psect	$$strn
      5                          
      6                          Hello:
      7 000000  0110   0145   0154  	.asciz	/Hello world!!!/
        000003  0154   0157   0040  
        000006  0167   0157   0162  
        000011  0154   0144   0041  
        000014  0041   0041   0000  
      8                          
      9                          	.psect	$$code
     10                          
     11 000000  0617  0000 0000  test:	ld	x, #Hello	; Set a pointer to the string
     12 000003  0454             1$:	ld	a, (x)+		; Get a char
     13 000004  0043  0005         	beq	2$		; Return if the end of string is reached
     14                          
     15 000006  1373  0000 0000G 	jsr	.TTYOUT		; Print the char
     16 000011  0041  7770         	br	1$		; Go on printing
     17                          
     18 000013  0756             2$:	ret
     19                          	.end
     19 
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: "Выкопал" из своих старых файлов

Post by Lavr »

Интересная зогатка... весь антураж ассемблерной программы прямо как от PDP-11
или чего-то близкого...

Но ld a, (x)+ - значит есть индексный регистр x с постинкрементом...

А это не розыгрышь, случаем, из 1990 года? 01-Apr-90 :wink:
iLavr
Bill
Fanat
Posts: 92
Joined: 25 Jan 2014 21:54
Location: 37.113.169.14

Re: "Выкопал" из своих старых файлов

Post by Bill »

Lavr wrote:Интересная зогатка... весь антураж ассемблерной программы прямо как от PDP-11
или чего-то близкого...

Но ld a, (x)+ - значит есть индексный регистр x с постинкрементом...

А это не розыгрышь, случаем, из 1990 года? 01-Apr-90 :wink:
В каждой шутке есть доля шутки :esmile:
Вот ещё немного

Code: Select all

 STRING	Macro-12 V0.1 Copyright (c) domEl 2019	03-Apr-21 Saturday 13:34	Page 1
      1                          	.title	STRING
      2                          	.ident	/V01/	
      3                          	.psect	$$code
      4                          
      5                          strcpy::
      6 000000  0626  0004       	ld	x, (sp+4)	; Source string pointer
      7 000002  0666  0002       	ld	y, (sp+2)	; Destination string pointer
      8 000004  0454             1$:	ld	a, (x)+		; Copy string
      9 000005  1455             	st	a, (y)+			;
     10 000006 0042 7774         	bne	1$			;
     11                          
     12 000010  0566  0002       	ld	d, (sp+2)	; Return destination pointer
     13 000012  0756             	rts
     14                          
     15                          strlen::
     16 000013  0626  0002       	ld	x, (sp+2)	; Get string pointer
     17 000015  7154             1$:	tst	(x)+		; Scan the string to the end
     18 000016 0042 7775         	bne	1$			;
     19                          
     20 000020  7244             	dec	x		; Adjust the pointer
     21 000021  5626  0002       	sub	x, (sp+2)	; Calculate the string length
     22 000023  0544             	ld	d, x		; Return the result
     23 000024  0756             	ret
     24                          
     25                          strchr::
     26 000025  0466  0004       	ld	a, (sp+4)	; Get the char to be found
     27 000027  0626  0002       	ld	x, (sp+2)	; Get string pointer
     28 000031  7150             1$:	tst	(x)		; Is the end of string?
     29 000032 0043 0006         	beq	2$		; Jump if yes
     30                          
     31 000034  6454             	cmp	a, (x)+	; Is the char found?
     32 000035 0042 7772         	bne	1$		; Loop if no
     33                          
     34 000037  7244             	dec	x		; Adjust the string pointer
     35 000040  0544             	ld	d, x		; Return it
     36 000041  0756             	rts				;
     37                          
     38 000042  7003             2$:	clr	d		; Return NULL
     39 000043  0756             	ret				;
     40                          
     41                          strrchr::
     42 000044  0466  0004       	ld	a, (sp+4)	; Get the char to be found
     43 000046  0626  0002       	ld	x, (sp+2)	; Get string pointer
     44 000050  7154             1$:	tst	(x)+		; Find the string end
     45 000051 0042 7775         	bne	1$			;
     46                          
     47 000053  6460             2$:	cmp	a, -(x)	; Is the char found?
     48 000054 0043 0006         	beq	3$		; Jump if yes
     49                          
     50 000056  6626  0002       	cmp	x, (sp+2)	; Is the string start?
     51 000060 0052 7771         	bhi	2$		; Loop if no
     52                          
     53 000062  7003             	clr	d		; Return NULL
     54 000063  0756             	ret
     55                          
     56 000064  0544             3$:	ld	d, x		; Return a pointer to the char
     57 000065  0756             	ret
     58                          
     59                          	.end
     59                          
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: "Выкопал" из своих старых файлов

Post by Lavr »

А это не может быть ассемблером от каких-то учебных моделей типа: http://educomp.runnet.ru ?

А то, помню, попадался мне учебничек толстый и в принципе не глупый, и с ассемблером,
но основанный на абстрактной ЭВМ, чем-то напоминающей PDP-8.
iLavr
Bill
Fanat
Posts: 92
Joined: 25 Jan 2014 21:54
Location: 37.113.169.14

Re: "Выкопал" из своих старых файлов

Post by Bill »

Lavr wrote:А это не может быть ассемблером от каких-то учебных моделей типа: http://educomp.runnet.ru ?

А то, помню, попадался мне учебничек толстый и в принципе не глупый, и с ассемблером,
но основанный на абстрактной ЭВМ, чем-то напоминающей PDP-8.
:esmile: Вообще-то, это, с одной стороны, действительно первоапрельская шутка. С другой стороны, это абстрактная (пока ещё) ЭВМ, которую я надеюсь реализовать в "железе". Архитектурно, она действительно представляет собой нечто среднее между PDP-8 и PDP-11. Хотя изначально я взял за основу МП MC6809, увеличив размер байта до 12 разрядов. Что касается ассемблера, то он сделан на основе Macro-11. Но он тоже до конца ещё не реализован.
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: "Выкопал" из своих старых файлов

Post by Lavr »

Bill wrote:
Lavr wrote:А это не может быть ассемблером от каких-то учебных моделей типа: http://educomp.runnet.ru ?
:esmile: Вообще-то, это, с одной стороны, действительно первоапрельская шутка. С другой стороны, это абстрактная (пока ещё) ЭВМ, которую я надеюсь реализовать в "железе".
Хорошая шутка! И "зогатка" отличная! :kruto: Но, похоже, я всё угадал... :ebiggrin:
Спасибо вам! Отличный пост!
А то тут что-то и шутить перестали... и шутки понимать...


P.S. Кстати, тут в своё время была "зогатка" от Дёмина - в очень хорошем стиле! :wink:
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: "Выкопал" из своих старых файлов

Post by Lavr »

rw6hrm wrote:... но решил перекреститься и промолчать, ...
Зря промолчали! Вдруг бы что необычное сказали! :wink: У вас ведь тоже "зогатки" получаются хоть куда! :lol:
155ТЛ1.png
Так спотыкнёшься по пути и думаешь, что же такое автор сказать-то хотел... :roll:
Потом догадываешься... ааа... ну да... бох же... :ebiggrin:
You do not have the required permissions to view the files attached to this post.
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: "Выкопал" из своих старых файлов

Post by Lavr »

rw6hrm wrote:Это мне урок на будущее, что нефиг витиеватые формулировки из высшей школы переносить в инет,
не все с первого раза понимают :mrgreen:
Точно-точно... особенно те, кто высшую школу подзабыли, и путают Шоттки и Шмитта... :wink:
Есть такая поговорка:"На бога надейся, но и сам не плошай..." :lol:
iLavr
Konstantin18
Maniac
Posts: 325
Joined: 15 Jan 2019 15:48
Location: Украина, Луганская обл.

Re: "Выкопал" из своих старых файлов

Post by Konstantin18 »

Дааа ...
А я только после последнего поста Лавра ошибку увидел. :(
Видимо, весенний авитаминоз ... :neutral: