nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 19 Mar 2024 00:01



Reply to topic  [ 9 posts ] 
"Выкопал" из своих старых файлов 
Author Message
Fanat

Joined: 25 Jan 2014 21:54
Posts: 92
Location: 37.113.169.14
Reply with quote
некий файл листинга тестовой (судя по заголовку) программы. Откуда и как он попал ко мне абсолютно не помню. Может, кто-нибудь подскажет мне что это за ассемблер и для какого процессора.
Code:
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


01 Apr 2021 02:20
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Интересная зогатка... весь антураж ассемблерной программы прямо как от PDP-11
или чего-то близкого...

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

А это не розыгрышь, случаем, из 1990 года? 01-Apr-90 :wink:

_________________
iLavr


02 Apr 2021 15:29
Profile
Fanat

Joined: 25 Jan 2014 21:54
Posts: 92
Location: 37.113.169.14
Reply with quote
Lavr wrote:
Интересная зогатка... весь антураж ассемблерной программы прямо как от PDP-11
или чего-то близкого...

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

А это не розыгрышь, случаем, из 1990 года? 01-Apr-90 :wink:

В каждой шутке есть доля шутки :esmile:
Вот ещё немного
Code:
 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                         


03 Apr 2021 01:45
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
А это не может быть ассемблером от каких-то учебных моделей типа: http://educomp.runnet.ru ?

А то, помню, попадался мне учебничек толстый и в принципе не глупый, и с ассемблером,
но основанный на абстрактной ЭВМ, чем-то напоминающей PDP-8.

_________________
iLavr


03 Apr 2021 10:19
Profile
Fanat

Joined: 25 Jan 2014 21:54
Posts: 92
Location: 37.113.169.14
Reply with quote
Lavr wrote:
А это не может быть ассемблером от каких-то учебных моделей типа: http://educomp.runnet.ru ?

А то, помню, попадался мне учебничек толстый и в принципе не глупый, и с ассемблером,
но основанный на абстрактной ЭВМ, чем-то напоминающей PDP-8.

:esmile: Вообще-то, это, с одной стороны, действительно первоапрельская шутка. С другой стороны, это абстрактная (пока ещё) ЭВМ, которую я надеюсь реализовать в "железе". Архитектурно, она действительно представляет собой нечто среднее между PDP-8 и PDP-11. Хотя изначально я взял за основу МП MC6809, увеличив размер байта до 12 разрядов. Что касается ассемблера, то он сделан на основе Macro-11. Но он тоже до конца ещё не реализован.


03 Apr 2021 11:42
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Bill wrote:
Lavr wrote:
А это не может быть ассемблером от каких-то учебных моделей типа: http://educomp.runnet.ru ?
:esmile: Вообще-то, это, с одной стороны, действительно первоапрельская шутка. С другой стороны, это абстрактная (пока ещё) ЭВМ, которую я надеюсь реализовать в "железе".

Хорошая шутка! И "зогатка" отличная! :kruto: Но, похоже, я всё угадал... :ebiggrin:
Спасибо вам! Отличный пост!
А то тут что-то и шутить перестали... и шутки понимать...


P.S. Кстати, тут в своё время была "зогатка" от Дёмина - в очень хорошем стиле! :wink:

_________________
iLavr


03 Apr 2021 15:12
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
rw6hrm wrote:
... но решил перекреститься и промолчать, ...

Зря промолчали! Вдруг бы что необычное сказали! :wink: У вас ведь тоже "зогатки" получаются хоть куда! :lol:
Attachment:
155ТЛ1.png
155ТЛ1.png [ 9.77 KiB | Viewed 5083 times ]

Так спотыкнёшься по пути и думаешь, что же такое автор сказать-то хотел... :roll:
Потом догадываешься... ааа... ну да... бох же... :ebiggrin:

_________________
iLavr


04 Apr 2021 14:36
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
rw6hrm wrote:
Это мне урок на будущее, что нефиг витиеватые формулировки из высшей школы переносить в инет,
не все с первого раза понимают :mrgreen:

Точно-точно... особенно те, кто высшую школу подзабыли, и путают Шоттки и Шмитта... :wink:
Есть такая поговорка:"На бога надейся, но и сам не плошай..." :lol:

_________________
iLavr


05 Apr 2021 10:26
Profile
Maniac

Joined: 15 Jan 2019 15:48
Posts: 326
Location: Украина, Луганская обл.
Reply with quote
Дааа ...
А я только после последнего поста Лавра ошибку увидел. :(
Видимо, весенний авитаминоз ... :neutral:


05 Apr 2021 13:45
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 9 posts ] 

Who is online

Users browsing this forum: No registered users and 3 guests


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:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.