nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 18 Mar 2024 23:57



Reply to topic  [ 8 posts ] 
Машина Мано 
Author Message
Junior

Joined: 24 Jan 2017 08:26
Posts: 6
Reply with quote
Машина Мано упоминалась в этой теме форумаhttp://www.nedopc.org/forum/viewtopic.php?p=94502
В Википедии на странице. посвящённой машине Мано https://en.wikipedia.org/wiki/Mano_machine есть ссылка на dos-бинарники эмулятора и ассемблера машины.
Вот пример программы prog, вычитающей из числа MIN число SUB и сохраняющей результат в DIF
Code:
ORG 100
LDA SUB    
ADD MIN    
STA DIF    
HLT    
MIN,   DEC 83    
SUB,   DEC -23   
DIF,   DEC 0    
END

при выполнении программы командой
Code:
manoasm prog

получаем результат
Quote:
MIN=0106 SUB=0107 DIFF=108

Вопрос: в каком формате выводятся числа? Почему 83=0106?


29 Mar 2019 07:44
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Во многих отношениях машина Мано напоминает ЭВМ "PDP-8": по организации адресного пространства, наличию регистра-аккумулятора, по набору инструкций.

Шина данных 16-битная, адресная шина - 12-битная. Отсюда в памяти может храниться 2^12 = 4096 слова, каждое из которых содержит 16-разрядов. Ввод/вывод 8-битный. АЛУ имеет 16-разрядный аккумулятор, и, кроме того, триггеры для хранения состояния управляющих битов, например, бит переноса или остановки.

Перенёс сюда: 16-битная ЭВМ, похожая на "PDP-8", здесь уместнее...

bigdemounter wrote:
получаем результат
Quote:
MIN=0106 SUB=0107 DIFF=108

Вопрос: в каком формате выводятся числа? Почему 83=0106?

В ЭВМ, похожих на "PDP-8", обычно вывод осуществляется в восьмеричной системе ("Octal")...
Но этот результат на "Octal" как-то не похож... :-?

_________________
iLavr


29 Mar 2019 17:10
Profile
Senior
User avatar

Joined: 21 Aug 2018 07:39
Posts: 163
Location: Кемеровская обл.
Reply with quote
очень похоже на адреса переменных
хотя не вяжется с количеством команд до самих переменных


30 Mar 2019 01:52
Profile
Junior

Joined: 24 Jan 2017 08:26
Posts: 6
Reply with quote
Н-да, число 83 в восьмеричном коде равно 123


30 Mar 2019 02:28
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Icer wrote:
очень похоже на адреса переменных

Вы совершенно правы! :kruto: Это адреса. Только почему-то у топикстартера они неверные... :-?
Attachment:
mano1.gif
mano1.gif [ 29.44 KiB | Viewed 6756 times ]


P.S. Компилятор manoasm.exe скачивал здесь: http://www.cs.albany.edu/~sdc/CSI404/

_________________
iLavr


30 Mar 2019 04:07
Profile
Junior

Joined: 24 Jan 2017 08:26
Posts: 6
Reply with quote
Да, спасибо.

Прочитал более внимательно мануал по компиляции и запуску программ на сайте http://www.cs.albany.edu/~sdc/CSI404/manosim.html#Starting
ассемблер manoasm.exe создаёт объектный файл _имя_файла.obj. Затем в симуляторе mano2.exe надо набрать команду
Quote:
load _имя_файла.obj

Программа начинается с адреса 256, надо набрать команду
Quote:
disassemble 256 265


Code:
106: 053 AND 053
107: FFE9 ???
108: 0000 AND 000

Запускаем программу командой
Quote:
go

Снова набираем команду
Quote:
disassemble 256 265

Результат:
Code:
106: 053 AND 053
107: FFE9 ???
108: 006A AND 06A

Хотя должно быть 3C

Команды -TRACE и -STEPS не работают (как запустить пошаговый режим?).

Также нашёл на гитхабе jar-симулятор. Там видно все регистры и можно выполнять программу в пошаговом режиме
https://github.com/TomerAberbach/mano-simulator/releases


30 Mar 2019 05:47
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Во многих отношениях машина Мано напоминает ЭВМ "PDP-8": по организации адресного пространства, наличию регистра-аккумулятора, по набору инструкций.

Шина данных 16-битная, адресная шина - 12-битная. Отсюда в памяти может храниться 2^12 = 4096 слова, каждое из которых содержит 16-разрядов.

Кстати, лукавят источники, что эта 16-битная ЭВМ, похожа на "PDP-8"...

Если на что она и похожа очень сильно, так на Hewlett-Packard HP 2100.
Quote:
Если охарактеризовать эту мини-ЭВМ кратко, то это практически PDP-8, но 16-разрядный.
Система команд в значительной мере повторяет набор PDP-8, но в силу дополнительных разрядов
супротив 12-ти у PDP-8, она более гибкая и приятная.

_________________
iLavr


30 Mar 2019 09:00
Profile
Junior

Joined: 24 Jan 2017 08:26
Posts: 6
Reply with quote
Спасибо )


30 Mar 2019 13:21
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 8 posts ] 

Who is online

Users browsing this forum: No registered users and 4 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.