nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 18 Apr 2024 13:50



Reply to topic  [ 2 posts ] 
Сетунь-1958 и ассемблер на FASM 
Author Message
Doomed
User avatar

Joined: 04 Jan 2016 09:15
Posts: 656
Location: Russia, S.- Peterburg
Reply with quote
Здравия, всем!

Необходима консультация. Кто-то из участников форума поделился решением - написал файл макросов для троичной ЭВМ "Сетунь-1958". Исходные файлы сохранились, а переписка и ветку на форуме не обнаружил .

# flat assembler g - examples library
Quote:
$ tree -L 2
.
├── core
│   ├── docs
│   ├── examples
│   ├── fasmg
│   ├── fasmg.exe
│   ├── fasmg.x64
│   ├── hex.hex
│   ├── hex.inc
│   ├── license.txt
│   ├── README.md
│   ├── readme.txt
│   ├── set
│   ├── setun_1958.inc
│   ├── source
│   ├── test
│   ├── test.asm
│   └── test.bin
├── packages
│   ├── tar
│   ├── utility
│   ├── webassembly
│   └── x86
└── README.md

9 directories, 14 files
SETUN-1958/fasmg/fasmg$



Прикрепляю к посту:

Quote:
$ tree -L 1
.
├── build.sh
├── hex.inc
├── setun_1958.inc
├── test.asm
├── test.bin
└── test.hex


Пример test.asm компилируется. В файле setun_1958.inc реализованы макросы. Создаётся бинарный и hex-файлы.

Есть гуру в FASM, чтобы помогли понять формат выходного файла bin и перевод его в формат 9-ричных троичных кодов для эмулятора "Сетунь-1958" на языке С?

9-ричный код в ASCII формате для ввода в ферритовую память:

Code:
101x0
00030
zwwy3
00yz0
zwx31
00xy0
zww33


Attachments:
setun-1958.zip [3.37 KiB]
Downloaded 147 times

_________________
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)
29 May 2022 21:49
Profile WWW
Doomed
User avatar

Joined: 04 Jan 2016 09:15
Posts: 656
Location: Russia, S.- Peterburg
Reply with quote
Разработка ассемблера для "Сетунь-1958"

Перечитываю документацию. Исследую примеры и реализацию ассемблеров для различных микроконтроллеров Intel 8051, Atmel AVR, JVM, Intel x86.

Исходные коды находятся здесь:
1) flat assembler g - examples library - https://github.com/tgrysztar/fasmg

Документация:
2) flat assembler g. User Manual - https://github.com/tgrysztar/fasmg/blob/master/core/docs/manual.txt


В троичной "Сетунь-1958" ферритовая память простирается от FRAM(-121:0:+121).

Задача #1:Сформировать выходной файл в формате симметричной девятеричной системе, которая состоит из операций троичной "Сетунь".


Пример фрагмента дампа зоны ферритовой памяти интерпретатора ИП-5 для чисел повышенной точностью '01_ip5_fram_0_setun.txs'
Quote:
02XZX
0Z00X
0Z1Z0
033ZX
01Y1X
Z1XXX
...


Вот заготовок конвертации из десятичных чисел (-9841,9841) в формат симметричной девятеричной системы (WXYZ01234).

Подробнее об алфавите троичной симметричной системы счисления читайте здесь: http://trinary.su/kb/18153031-8224-4357-a1a3-b839a41632cf.html


Файл txs.inc для fasmg

Code:
define TXS
format binary as 'txs'

; Краткая запись троичных симметричных кодов
; в симметричной девятеричной системе
virtual at 0
   TXS.digits:: db 'WXYZ01234'
end virtual

; Конвертировать INT16 to TXS
macro TXS.byte value
   ;TODO  db
end macro

_________________
"Ученье свет, а неученье — тьма. Дело мастера боится, и коль крестьянин не умеет сохою владеть — хлеб не родится." (С)


31 May 2022 23:59
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 2 posts ] 

Who is online

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