После долгого перерыва опять вернулся к FPGA. Точнее, к скрипту, который переделывает листинг в MIF файл. Добил до вариант, прогон которого уже позволяет (правда, пока ещё делается некоторое количество правок руками как в исходном листинге, так и в MIF файле) получившийся результат использовать в синтезе. Как выглядит:
Код:
-- begin_signature
-- m9312l
-- end_signature
WIDTH=16;
DEPTH=256;
ADDRESS_RADIX=UNS;
DATA_RADIX=OCT;
CONTENT BEGIN
0 : 165000; -- 165000 165000 data0: .word data0 ; test data structures
1 : 165000; -- 165002 165000 .word data0 ;
2 : 100000; -- 165004 000 200 data1: .byte 000, 200 ;
3 : 177777; -- 165006 177777 data2: .word 177777 ;
4 : 165006; -- 165010 165006 .word data2 ;
5 : 165006; -- 165012 165006 .word data2 ;
6 : 000500; -- 165014 000500 .word memloc+0 ;
7 : 000501; -- 165016 000501 .word memloc+1 ;
-- ; .=base+20
-- DIAG: ; PRIMARY DIAGNOSTIC ENTRY POINT
8 : 005003; -- 165020 005003 T1: clr r3 ; R3=000000 C=0
9 : 005203; -- 165022 005203 inc r3 ; R3=000001 C=0
10 : 005103; -- 165024 005103 com r3 ; R3=177776 C=1
11 : 006203; -- 165026 006203 asr r3 ; R3=177777 C=0
12 : 006303; -- 165030 006303 asl r3 ; R3=177776 C=1
13 : 006003; -- 165032 006003 ror r3 ; R3=177777 C=0
14 : 005703; -- 165034 005703 tst r3 ; R3=177777 C=0
15 : 005403; -- 165036 005403 neg r3 ; R3=000001 C=1
16 : 005303; -- 165040 005303 dec r3 ; R3=000000 C=1
17 : 005603; -- 165042 005603 sbc r3 ; R3=177777 C=1
18 : 006103; -- 165044 006103 rol r3 ; R3=177777 C=1
19 : 005503; -- 165046 005503 adc r3 ; R3=000000 C=1
20 : 000303; -- 165050 000303 swab r3 ; R3=000000 C=0
21 : 001377; -- 165052 001377 bne . ; br . if FAIL
22 : 012702; -- 165054 012702 T2: mov #data0,r2 ; R2=165000
23 : 165000; -- 165000
--здесь текст вырезал, особого смысле полностью приводит не вижу - всё вырезанное примерно такое же...
250 : 014304; -- 165764 014304 T8D: mov -(r3),r4 ; memory FAIL, put bad data to R4
251 : 010300; -- 165766 010300 mov r3,r0 ; put bad addr to R0
252 : 005006; -- 165770 005006 clr sp ; zap SP
253 : 000000; -- 165772 000000 halt ; and DIE
254 : 040460; -- 165774 060 101 verson: .ascii "0A" ; version ID
255 : 123162; -- 165776 123162 crc16: .word <123162> ; CRC-16 will go here
END;
Работа над ним продолжается