Компьютеры прошлого, не попавшие в другие разделы
Moderator: Shaos
Bill
Fanat
Posts: 92 Joined: 25 Jan 2014 21:54
Location: 37.113.169.14
Post
by Bill » 01 Apr 2021 02:20
некий файл листинга тестовой (судя по заголовку) программы. Откуда и как он попал ко мне абсолютно не помню. Может, кто-нибудь подскажет мне что это за ассемблер и для какого процессора.
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
Lavr
Supreme God
Posts: 16680 Joined: 21 Oct 2009 08:08
Location: Россия
Post
by Lavr » 02 Apr 2021 15:29
Интересная зогатка... весь антураж ассемблерной программы прямо как от
PDP-11
или чего-то близкого...
Но
ld a, (x)+ - значит есть индексный регистр
x с постинкрементом...
А это не розыгрышь, случаем, из 1990 года?
01-Apr -90
iLavr
Bill
Fanat
Posts: 92 Joined: 25 Jan 2014 21:54
Location: 37.113.169.14
Post
by Bill » 03 Apr 2021 01:45
Lavr wrote: Интересная зогатка... весь антураж ассемблерной программы прямо как от
PDP-11
или чего-то близкого...
Но
ld a, (x)+ - значит есть индексный регистр
x с постинкрементом...
А это не розыгрышь, случаем, из 1990 года?
01-Apr -90
В каждой шутке есть доля шутки
Вот ещё немного
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
Lavr
Supreme God
Posts: 16680 Joined: 21 Oct 2009 08:08
Location: Россия
Post
by Lavr » 03 Apr 2021 10:19
А это не может быть ассемблером от каких-то учебных моделей типа:
http://educomp.runnet.ru ?
А то, помню, попадался мне учебничек толстый и в принципе не глупый, и с ассемблером,
но основанный на абстрактной ЭВМ, чем-то напоминающей PDP-8.
iLavr
Bill
Fanat
Posts: 92 Joined: 25 Jan 2014 21:54
Location: 37.113.169.14
Post
by Bill » 03 Apr 2021 11:42
Lavr wrote: А это не может быть ассемблером от каких-то учебных моделей типа:
http://educomp.runnet.ru ?
А то, помню, попадался мне учебничек толстый и в принципе не глупый, и с ассемблером,
но основанный на абстрактной ЭВМ, чем-то напоминающей PDP-8.
Вообще-то, это, с одной стороны, действительно первоапрельская шутка. С другой стороны, это абстрактная (пока ещё) ЭВМ, которую я надеюсь реализовать в "железе". Архитектурно, она действительно представляет собой нечто среднее между PDP-8 и PDP-11. Хотя изначально я взял за основу МП MC6809, увеличив размер байта до 12 разрядов. Что касается ассемблера, то он сделан на основе Macro-11. Но он тоже до конца ещё не реализован.
Lavr
Supreme God
Posts: 16680 Joined: 21 Oct 2009 08:08
Location: Россия
Post
by Lavr » 03 Apr 2021 15:12
Bill wrote: Вообще-то, это, с одной стороны, действительно первоапрельская шутка. С другой стороны, это абстрактная (пока ещё) ЭВМ, которую я надеюсь реализовать в "железе".
Хорошая шутка! И "зогатка" отличная!
Но, похоже, я всё угадал...
Спасибо вам! Отличный пост!
А то тут что-то и шутить перестали... и шутки понимать...
P.S. Кстати, тут в своё время была "зогатка" от Дёмина - в очень хорошем стиле!
iLavr
Lavr
Supreme God
Posts: 16680 Joined: 21 Oct 2009 08:08
Location: Россия
Post
by Lavr » 04 Apr 2021 14:36
rw6hrm wrote: ... но решил перекреститься и промолчать, ...
Зря промолчали! Вдруг бы что необычное сказали!
У вас ведь тоже
"зогатки" получаются хоть куда !
155ТЛ1.png
Так спотыкнёшься по пути и думаешь, что же такое автор сказать-то хотел...
Потом догадываешься... ааа... ну да... бох же...
You do not have the required permissions to view the files attached to this post.
iLavr
Lavr
Supreme God
Posts: 16680 Joined: 21 Oct 2009 08:08
Location: Россия
Post
by Lavr » 05 Apr 2021 10:26
rw6hrm wrote: Это мне урок на будущее, что нефиг витиеватые формулировки из высшей школы переносить в инет,
не все с первого раза понимают
Точно-точно... особенно те, кто высшую школу подзабыли, и путают
Шоттки и
Шмитта ...
Есть такая поговорка:"
На бога надейся, но и сам не плошай... "
iLavr
Konstantin18
Maniac
Posts: 325 Joined: 15 Jan 2019 15:48
Location: Украина, Луганская обл.
Post
by Konstantin18 » 05 Apr 2021 13:45
Дааа ...
А я только после последнего поста Лавра ошибку увидел.
Видимо, весенний авитаминоз ...