diff --git a/src/main/dig/processor/ProcessorTest.dig b/src/main/dig/processor/ProcessorTest.dig index 5eaa1026d..f42284931 100644 --- a/src/main/dig/processor/ProcessorTest.dig +++ b/src/main/dig/processor/ProcessorTest.dig @@ -62,26 +62,28 @@ C X X Label - ADD no carry + ADD Testdata # auto generated, do not modify -Clk Carry R2 +Clk Carry R1 R2 -init R1=3; -init R2=4; +init Carry=0; +init R1=2; +init R2=3; -# add r2,r1 -program(0x221) +# add r1,r2 +program(0x212) -C X X +C X X X # expects # Carry=0 -# R2=7 -0 0 7 +# R1=5 +# R2=3 +0 0 5 3 @@ -93,26 +95,26 @@ C X X Label - ADD carry + ADDI Testdata # auto generated, do not modify -Clk Carry R2 +Clk Carry R1 -init R1=-1; -init R2=-1; +init Carry=0; +init R1=2; -# add r2,r1 -program(0x221) +# addi r1,3 +program(0xc13) C X X # expects -# Carry=1 -# R2=65534 -0 1 65534 +# Carry=0 +# R1=5 +0 0 5 @@ -124,26 +126,28 @@ C X X Label - ADC no carry + ADD C_in Testdata # auto generated, do not modify -Clk Carry R2 +Clk Carry R1 R2 -init R1=3; -init R2=4; +init Carry=1; +init R1=2; +init R2=3; -# adc r2,r1 -program(0x321) +# add r1,r2 +program(0x212) -C X X +C X X X # expects # Carry=0 -# R2=7 -0 0 7 +# R1=5 +# R2=3 +0 0 5 3 @@ -155,27 +159,26 @@ C X X Label - ADC carry + ADDI C_in Testdata # auto generated, do not modify -Clk Carry R2 +Clk Carry R1 -init R1=3; -init R2=4; init Carry=1; +init R1=2; -# adc r2,r1 -program(0x321) +# addi r1,3 +program(0xc13) C X X # expects # Carry=0 -# R2=8 -0 0 8 +# R1=5 +0 0 5 @@ -187,26 +190,28 @@ C X X Label - ADC carry out + ADD C_out Testdata # auto generated, do not modify -Clk Carry R2 +Clk Carry R1 R2 +init Carry=0; init R1=-1; -init R2=-1; +init R2=3; -# adc r2,r1 -program(0x321) +# add r1,r2 +program(0x212) -C X X +C X X X # expects # Carry=1 -# R2=65534 -0 1 65534 +# R1=2 +# R2=3 +0 1 2 3 @@ -218,24 +223,26 @@ C X X Label - ADDI small + ADDI C_out Testdata # auto generated, do not modify -Clk R1 +Clk Carry R1 -init R1=3; +init Carry=0; +init R1=-1; -# addi r1,4 -program(0xc14) +# addi r1,3 +program(0xc13) -C X +C X X # expects -# R1=7 -0 7 +# Carry=1 +# R1=2 +0 1 2 @@ -247,24 +254,28 @@ C X Label - ADDI large + ADD C_in C_out Testdata # auto generated, do not modify -Clk R1 +Clk Carry R1 R2 -init R1=3; +init Carry=1; +init R1=-1; +init R2=3; -# addi r1,20 -program(0x8014,0xb10) +# add r1,r2 +program(0x212) -repeat (2) C X +C X X X # expects -# R1=23 -0 23 +# Carry=1 +# R1=2 +# R2=3 +0 1 2 3 @@ -276,24 +287,26 @@ repeat (2) C X Label - ADCI small + ADDI C_in C_out Testdata # auto generated, do not modify -Clk R1 +Clk Carry R1 -init R1=3; +init Carry=1; +init R1=-1; -# adci r1,4 -program(0xe14) +# addi r1,3 +program(0xc13) -C X +C X X # expects -# R1=7 -0 7 +# Carry=1 +# R1=2 +0 1 2 @@ -305,24 +318,28 @@ C X Label - ADCI large + ADC Testdata # auto generated, do not modify -Clk R1 +Clk Carry R1 R2 -init R1=3; +init Carry=0; +init R1=2; +init R2=3; -# adci r1,20 -program(0x8014,0xd10) +# adc r1,r2 +program(0x312) -repeat (2) C X +C X X X # expects -# R1=23 -0 23 +# Carry=0 +# R1=5 +# R2=3 +0 0 5 3 @@ -334,60 +351,223 @@ repeat (2) C X Label - ADCI small, carry + ADCI Testdata # auto generated, do not modify -Clk R1 +Clk Carry R1 -init R1=3; -init Carry=1; +init Carry=0; +init R1=2; -# adci r1,4 -program(0xe14) +# adci r1,3 +program(0xe13) -C X +C X X # expects -# R1=8 -0 8 +# Carry=0 +# R1=5 +0 0 5 - + Testcase Label - ADCI large, carry + ADC C_in Testdata # auto generated, do not modify -Clk R1 +Clk Carry R1 R2 -init R1=3; init Carry=1; +init R1=2; +init R2=3; -# adci r1,20 -program(0x8014,0xd10) +# adc r1,r2 +program(0x312) -repeat (2) C X +C X X X # expects -# R1=24 -0 24 +# Carry=0 +# R1=6 +# R2=3 +0 0 6 3 - + + + + Testcase + + + Label + ADCI C_in + + + Testdata + + # auto generated, do not modify +Clk Carry R1 + +init Carry=1; +init R1=2; + +# adci r1,3 +program(0xe13) + +C X X + +# expects +# Carry=0 +# R1=6 +0 0 6 + + + + + + + + Testcase + + + Label + ADC C_out + + + Testdata + + # auto generated, do not modify +Clk Carry R1 R2 + +init Carry=0; +init R1=-1; +init R2=3; + +# adc r1,r2 +program(0x312) + +C X X X + +# expects +# Carry=1 +# R1=2 +# R2=3 +0 1 2 3 + + + + + + + + Testcase + + + Label + ADCI C_out + + + Testdata + + # auto generated, do not modify +Clk Carry R1 + +init Carry=0; +init R1=-1; + +# adci r1,3 +program(0xe13) + +C X X + +# expects +# Carry=1 +# R1=2 +0 1 2 + + + + + + + + Testcase + + + Label + ADC C_in C_out + + + Testdata + + # auto generated, do not modify +Clk Carry R1 R2 + +init Carry=1; +init R1=-1; +init R2=3; + +# adc r1,r2 +program(0x312) + +C X X X + +# expects +# Carry=1 +# R1=3 +# R2=3 +0 1 3 3 + + + + + + + + Testcase + + + Label + ADCI C_in C_out + + + Testdata + + # auto generated, do not modify +Clk Carry R1 + +init Carry=1; +init R1=-1; + +# adci r1,3 +program(0xe13) + +C X X + +# expects +# Carry=1 +# R1=3 +0 1 3 + + + + + Testcase @@ -400,56 +580,250 @@ repeat (2) C X Testdata # auto generated, do not modify -Clk Carry R2 +Clk Carry R1 R2 +init Carry=0; init R1=3; -init R2=4; +init R2=2; -# sub r2,r1 -program(0x421) +# sub r1,r2 +program(0x412) -C X X +C X X X # expects # Carry=0 -# R2=1 -0 0 1 +# R1=1 +# R2=2 +0 0 1 2 - + Testcase Label - SUB carry out + SUBI Testdata # auto generated, do not modify -Clk Carry R2 +Clk Carry R1 -init R1=4; +init Carry=0; +init R1=3; + +# subi r1,2 +program(0x1012) + +C X X + +# expects +# Carry=0 +# R1=1 +0 0 1 + + + + + + + + Testcase + + + Label + SUB C_in + + + Testdata + + # auto generated, do not modify +Clk Carry R1 R2 + +init Carry=1; +init R1=3; +init R2=2; + +# sub r1,r2 +program(0x412) + +C X X X + +# expects +# Carry=0 +# R1=1 +# R2=2 +0 0 1 2 + + + + + + + + Testcase + + + Label + SUBI C_in + + + Testdata + + # auto generated, do not modify +Clk Carry R1 + +init Carry=1; +init R1=3; + +# subi r1,2 +program(0x1012) + +C X X + +# expects +# Carry=0 +# R1=1 +0 0 1 + + + + + + + + Testcase + + + Label + SUB C_out + + + Testdata + + # auto generated, do not modify +Clk Carry R1 R2 + +init Carry=0; +init R1=2; init R2=3; -# sub r2,r1 -program(0x421) +# sub r1,r2 +program(0x412) + +C X X X + +# expects +# Carry=1 +# R1=65535 +# R2=3 +0 1 65535 3 + + + + + + + + Testcase + + + Label + SUBI C_out + + + Testdata + + # auto generated, do not modify +Clk Carry R1 + +init Carry=0; +init R1=2; + +# subi r1,3 +program(0x1013) C X X # expects # Carry=1 -# R2=65535 +# R1=65535 0 1 65535 - + + + + Testcase + + + Label + SUB C_in C_out + + + Testdata + + # auto generated, do not modify +Clk Carry R1 R2 + +init Carry=1; +init R1=2; +init R2=3; + +# sub r1,r2 +program(0x412) + +C X X X + +# expects +# Carry=1 +# R1=65535 +# R2=3 +0 1 65535 3 + + + + + + + + Testcase + + + Label + SUBI C_in C_out + + + Testdata + + # auto generated, do not modify +Clk Carry R1 + +init Carry=1; +init R1=2; + +# subi r1,3 +program(0x1013) + +C X X + +# expects +# Carry=1 +# R1=65535 +0 1 65535 + + + + + Testcase @@ -462,233 +836,250 @@ C X X Testdata # auto generated, do not modify -Clk Carry R2 +Clk Carry R1 R2 +init Carry=0; init R1=3; -init R2=4; +init R2=2; -# sbc r2,r1 -program(0x521) +# sbc r1,r2 +program(0x512) -C X X +C X X X # expects # Carry=0 -# R2=1 -0 0 1 - - - - - - - - Testcase - - - Label - SBC carry in - - - Testdata - - # auto generated, do not modify -Clk Carry R2 - -init R1=3; -init R2=5; -init Carry=1; - -# sbc r2,r1 -program(0x521) - -C X X - -# expects -# Carry=0 -# R2=1 -0 0 1 - - - - - - - - Testcase - - - Label - SUBI small - - - Testdata - - # auto generated, do not modify -Clk R1 - -init R1=4; - -# subi r1,2 -program(0x1012) - -C X - -# expects -# R1=2 -0 2 - - - - - - - - Testcase - - - Label - SUBI large - - - Testdata - - # auto generated, do not modify -Clk R1 - -init R1=30; - -# subi r1,20 -program(0x8014,0xf10) - -repeat (2) C X - -# expects -# R1=10 -0 10 - - - - - - - - Testcase - - - Label - SBCI no carry, small - - - Testdata - - # auto generated, do not modify -Clk R1 - -init R1=6; - -# sbci r1,4 -program(0x1214) - -C X - -# expects -# R1=2 -0 2 - - - - - - - - Testcase - - - Label - SBCI no carry, large - - - Testdata - - # auto generated, do not modify -Clk R1 - -init R1=30; - -# sbci r1,20 -program(0x8014,0x1110) - -repeat (2) C X - -# expects -# R1=10 -0 10 - - - - - - - - Testcase - - - Label - SBCI carry in, small - - - Testdata - - # auto generated, do not modify -Clk R1 - -init R1=6; -init Carry=1; - -# sbci r1,4 -program(0x1214) - -C X - -# expects # R1=1 -0 1 +# R2=2 +0 0 1 2 - + Testcase Label - SBCI carry in, large + SBCI Testdata # auto generated, do not modify -Clk R1 +Clk Carry R1 -init R1=30; -init Carry=1; +init Carry=0; +init R1=3; -# sbci r1,20 -program(0x8014,0x1110) +# sbci r1,2 +program(0x1212) -repeat (2) C X +C X X # expects -# R1=9 -0 9 +# Carry=0 +# R1=1 +0 0 1 - + + + + Testcase + + + Label + SBC C_in + + + Testdata + + # auto generated, do not modify +Clk Carry R1 R2 + +init Carry=1; +init R1=3; +init R2=2; + +# sbc r1,r2 +program(0x512) + +C X X X + +# expects +# Carry=0 +# R1=0 +# R2=2 +0 0 0 2 + + + + + + + + Testcase + + + Label + SBCI C_in + + + Testdata + + # auto generated, do not modify +Clk Carry R1 + +init Carry=1; +init R1=3; + +# sbci r1,2 +program(0x1212) + +C X X + +# expects +# Carry=0 +# R1=0 +0 0 0 + + + + + + + + Testcase + + + Label + SBC C_out + + + Testdata + + # auto generated, do not modify +Clk Carry R1 R2 + +init Carry=0; +init R1=2; +init R2=3; + +# sbc r1,r2 +program(0x512) + +C X X X + +# expects +# Carry=1 +# R1=65535 +# R2=3 +0 1 65535 3 + + + + + + + + Testcase + + + Label + SBCI C_out + + + Testdata + + # auto generated, do not modify +Clk Carry R1 + +init Carry=0; +init R1=2; + +# sbci r1,3 +program(0x1213) + +C X X + +# expects +# Carry=1 +# R1=65535 +0 1 65535 + + + + + + + + Testcase + + + Label + SBC C_in C_out + + + Testdata + + # auto generated, do not modify +Clk Carry R1 R2 + +init Carry=1; +init R1=2; +init R2=3; + +# sbc r1,r2 +program(0x512) + +C X X X + +# expects +# Carry=1 +# R1=65534 +# R2=3 +0 1 65534 3 + + + + + + + + Testcase + + + Label + SBCI C_in C_out + + + Testdata + + # auto generated, do not modify +Clk Carry R1 + +init Carry=1; +init R1=2; + +# sbci r1,3 +program(0x1213) + +C X X + +# expects +# Carry=1 +# R1=65534 +0 1 65534 + + + + + Testcase @@ -717,7 +1108,7 @@ C X - + Testcase @@ -746,7 +1137,539 @@ C X - + + + + Testcase + + + Label + AND + + + Testdata + + # auto generated, do not modify +Clk R1 R2 + +init R1=2; +init R2=3; + +# and r1,r2 +program(0x612) + +C X X + +# expects +# R1=2 +# R2=3 +0 2 3 + + + + + + + + Testcase + + + Label + ANDI short + + + Testdata + + # auto generated, do not modify +Clk R1 + +init R1=2; + +# andi r1,3 +program(0x1513) + +C X + +# expects +# R1=2 +0 2 + + + + + + + + Testcase + + + Label + ANDI + + + Testdata + + # auto generated, do not modify +Clk R1 + +init R1=16; + +# andi r1,24 +program(0x8018,0x1410) + +repeat (2) C X + +# expects +# R1=16 +0 16 + + + + + + + + Testcase + + + Label + OR + + + Testdata + + # auto generated, do not modify +Clk R1 R2 + +init R1=2; +init R2=3; + +# or r1,r2 +program(0x712) + +C X X + +# expects +# R1=3 +# R2=3 +0 3 3 + + + + + + + + Testcase + + + Label + ORI short + + + Testdata + + # auto generated, do not modify +Clk R1 + +init R1=2; + +# ori r1,3 +program(0x1713) + +C X + +# expects +# R1=3 +0 3 + + + + + + + + Testcase + + + Label + ORI + + + Testdata + + # auto generated, do not modify +Clk R1 + +init R1=16; + +# ori r1,24 +program(0x8018,0x1610) + +repeat (2) C X + +# expects +# R1=24 +0 24 + + + + + + + + Testcase + + + Label + EOR + + + Testdata + + # auto generated, do not modify +Clk R1 R2 + +init R1=2; +init R2=3; + +# eor r1,r2 +program(0x812) + +C X X + +# expects +# R1=1 +# R2=3 +0 1 3 + + + + + + + + Testcase + + + Label + EORI short + + + Testdata + + # auto generated, do not modify +Clk R1 + +init R1=2; + +# eori r1,3 +program(0x1913) + +C X + +# expects +# R1=1 +0 1 + + + + + + + + Testcase + + + Label + EORI + + + Testdata + + # auto generated, do not modify +Clk R1 + +init R1=16; + +# eori r1,24 +program(0x8018,0x1810) + +repeat (2) C X + +# expects +# R1=8 +0 8 + + + + + + + + Testcase + + + Label + LSL + + + Testdata + + # auto generated, do not modify +Clk R1 + +init R1=8; + +# lsl r1 +program(0x2410) + +C X + +# expects +# R1=16 +0 16 + + + + + + + + Testcase + + + Label + LSR + + + Testdata + + # auto generated, do not modify +Clk R1 + +init R1=8; + +# lsr r1 +program(0x2510) + +C X + +# expects +# R1=4 +0 4 + + + + + + + + Testcase + + + Label + LSR + + + Testdata + + # auto generated, do not modify +Clk R1 + +init R1=65535; + +# lsr r1 +program(0x2510) + +C X + +# expects +# R1=32767 +0 32767 + + + + + + + + Testcase + + + Label + ASR + + + Testdata + + # auto generated, do not modify +Clk R1 + +init R1=8; + +# asr r1 +program(0x2810) + +C X + +# expects +# R1=4 +0 4 + + + + + + + + Testcase + + + Label + ASR + + + Testdata + + # auto generated, do not modify +Clk R1 + +init R1=65535; + +# asr r1 +program(0x2810) + +C X + +# expects +# R1=65535 +0 65535 + + + + + + + + Testcase + + + Label + ROR + + + Testdata + + # auto generated, do not modify +Clk R1 + +init Carry=0; +init R1=8; + +# ror r1 +program(0x2710) + +C X + +# expects +# R1=4 +0 4 + + + + + + + + Testcase + + + Label + ROR + + + Testdata + + # auto generated, do not modify +Clk R1 + +init Carry=1; +init R1=8; + +# ror r1 +program(0x2710) + +C X + +# expects +# R1=32772 +0 32772 + + + + + + + + Testcase + + + Label + ROL + + + Testdata + + # auto generated, do not modify +Clk R1 + +init Carry=0; +init R1=8; + +# rol r1 +program(0x2610) + +C X + +# expects +# R1=16 +0 16 + + + + + + + + Testcase + + + Label + ROL + + + Testdata + + # auto generated, do not modify +Clk R1 + +init Carry=1; +init R1=8; + +# rol r1 +program(0x2610) + +C X + +# expects +# R1=17 +0 17 + + + + + Testcase @@ -764,10 +1687,9 @@ Clk R1 init R1=4660; # swap r1 -# brk -program(0x2910,0x4400) +program(0x2910) -repeat (2) C X +C X # expects # R1=13330 @@ -776,7 +1698,7 @@ repeat (2) C X - + Testcase @@ -805,7 +1727,7 @@ C X - + Testcase @@ -836,7 +1758,7 @@ C X X - + Testcase @@ -864,7 +1786,7 @@ C X - + Testcase @@ -892,7 +1814,7 @@ C X - + Testcase @@ -920,7 +1842,7 @@ repeat (2) C X - + Testcase @@ -948,7 +1870,7 @@ repeat (2) C X - + Testcase @@ -980,7 +1902,7 @@ repeat (2) C X X - + Testcase @@ -1009,7 +1931,7 @@ repeat (2) C X - + Testcase @@ -1039,7 +1961,7 @@ repeat (2) C X - + Testcase @@ -1069,7 +1991,7 @@ repeat (4) C X - + Testcase @@ -1103,7 +2025,7 @@ repeat (2) C X X - + Testcase @@ -1137,7 +2059,7 @@ repeat (4) C X X - + Testcase @@ -1168,7 +2090,7 @@ repeat (2) C X - + Testcase @@ -1203,7 +2125,7 @@ repeat (6) C X X - + Testcase @@ -1234,7 +2156,7 @@ repeat (3) C X - + Testcase @@ -1268,7 +2190,7 @@ repeat (2) C X - + Testcase @@ -1299,7 +2221,7 @@ repeat (3) C X - + Testcase @@ -1334,7 +2256,7 @@ repeat (7) C X X - + Testcase @@ -1366,7 +2288,7 @@ repeat (3) C X - + Testcase @@ -1398,7 +2320,7 @@ repeat (3) C X - + Testcase @@ -1430,7 +2352,7 @@ repeat (3) C X - + Testcase @@ -1462,7 +2384,7 @@ repeat (3) C X - + Testcase @@ -1494,7 +2416,7 @@ repeat (3) C X - + Testcase @@ -1526,7 +2448,7 @@ repeat (3) C X - + Testcase @@ -1558,7 +2480,7 @@ repeat (3) C X - + Testcase @@ -1590,7 +2512,7 @@ repeat (3) C X - + Testcase @@ -1622,7 +2544,7 @@ repeat (3) C X - + Testcase @@ -1654,7 +2576,7 @@ repeat (3) C X - + Testcase @@ -1686,7 +2608,7 @@ repeat (3) C X - + Testcase @@ -1718,7 +2640,7 @@ repeat (3) C X - +