После долгого перерыва опять вернулся к 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;![]()




Ответить с цитированием