Date: 2018-01-23 20:02 (UTC)
vak: (0)
From: [personal profile] vak
Если будем менять микрокод, то понадобиться еще и кроссассемблер микрокода? Есть ли пример (маленький) микрокода в виде теста? Какой объем памяти микропрограмм?

Кросс-ассемблер микрокода я сделал: https://github.com/besm6/micro-besm/tree/master/microcode/mcasm

Пример микрокода: https://github.com/besm6/micro-besm/blob/master/microcode/melcom.src

Кое-какое описание языка микрокода есть здесь: https://github.com/besm6/micro-besm/wiki/Microcode-Assembler

Объем памяти микропрограмм - 4096 слов по 112 бит. Сейчас занято 2391 слово, то есть 58%.

Трансляция микрокода делается так:
$ cd micro-besm/microcode
$ make
mcasm/mcdef.py define.src
Declarations: 51 fields, 442 constants, 420 symbols
mcasm/mcasm.py b6com.src
Compile: ATX ATXFE STX XTS XTA XTAFE AAX AAXE LOGERG AEX AEXE ARX ARXE AOX AOXE APX APXE AUX AUXE ACX ACXE ANX ANXE ASX ASXE ASN ASNE ATI ATIE STI STIE ITA ITAE ITS ITSE MTJ JDM UTC WTC WTCE VTM UTM UZA UZAPNA UIA UIAPNA JAMP VJM JMEQ JMEQE JMNE JMNEE VLM VLME XTR NTR RTE RMOD WMOD SETR CLRR SEMR SEMW SMON CMON TTX TTA HLT
mcasm/mcasm.py fltcom.src
Compile: ADX ABX XBA AMX AVX A*X A/X EDX EBX EDN EBN YTA YTAPNA
mcasm/mcasm.py intexcom.src
Compile: INT/RE IJP CTWR SC00 SE00 SF00 SE80 SEC0 SEE0 SEE8 SEEC/0 SF80 SFC0 SFE0 SFF0 SFF8 SFFC /CONT1 /CONT2 /CONT3 /CONT4 /CONT5 /CONT6 /CONT7 /CONT8 /CONT9 /CONTA /S4 ADDC INT/IN EXT/ RET
mcasm/mcasm.py melcom.src
Compile: JINIC INIC JMPRAM JOPC JMPOPC LCWPRG A*U A*I A*L A*H A/U A/I A/L A/H
mcasm/mcasm.py nrcom.src
Compile: ADU ABU UBA UTA AAU AEU AOU ACU ANU UTY UTS XTY YAX YEX YOX YTX AAY AEY AOY MCJ MSN JBM VTMH VTMQ VTMB VTMF UTCS MPAC MUNP ADI ABI IBA AAI AEI AOI JMGE JMLT JMLE JMGT VRM UZAS UZSPNA UIAS JOVR JCRY JAGT JAGE JALT JALE JAEQ JANE JMPSZZ RETSZZ ASNA ADL ABL LBA ATH STH HTA HTS ADH ABH HBAC AAH AEH AOH ATQ STQ QTA QTS AEQ AAQ AOQ ATB STB BTA BTS AEB AAB AOB ATF STF FTA FTS AEF AAF AOF SETF CLRF EXTF NTA NTSC AEN AAN AON ATD DTA JMPS RETS
mcasm/mcasm.py rwiocom.src
Compile: RW/IO PSRWIO
mcasm/mclink.py loadcom2.src [%-Z]*.json
Microcode: 2391 words
Instruction map: 2520 opcodes
RW/IO map: 1002 entries
Group map: 32 entries
Interrupt map: 32 entries
mcasm/mcconst.py
Constants: 442 words

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org