Created
April 16, 2014 22:30
-
-
Save jamorton/10939170 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@0000 B111 // LLB R1, 0x11 | |
@0001 A111 // LHB R1, 0x11 | |
@0002 B222 // LLB R2, 0x22 | |
@0003 A222 // LHB R2, 0x22 | |
@0004 B333 // LLB R3, 0x33 | |
@0005 A333 // LHB R3, 0x33 | |
@0006 B444 // LLB R4, 0x44 | |
@0007 A444 // LHB R4, 0x44 | |
@0008 B555 // LLB R5, 0x55 | |
@0009 A555 // LHB R5, 0x55 | |
@000a B666 // LLB R6, 0x66 | |
@000b A666 // LHB R6, 0x66 | |
@000c B777 // LLB R7, 0x77 | |
@000d A777 // LHB R7, 0x77 | |
@000e B888 // LLB R8, 0x88 | |
@000f A888 // LHB R8, 0x88 | |
@0010 B999 // LLB R9, 0x99 | |
@0011 A999 // LHB R9, 0x99 | |
@0012 BAAA // LLB R10, 0xaa | |
@0013 AAAA // LHB R10, 0xaa | |
@0014 BBBB // LLB R11, 0xbb | |
@0015 ABBB // LHB R11, 0xbb | |
@0016 BCCC // LLB R12, 0xcc | |
@0017 ACCC // LHB R12, 0xcc | |
@0018 BDDD // LLB R13, 0xdd | |
@0019 ADDD // LHB R13, 0xdd | |
@001a BEEE // LLB R14, 0xee | |
@001b AEEE // LHB R14, 0xee | |
@001c BFFF // LLB R15, 0xff | |
@001d AFFF // LHB R15, 0xff | |
@001e B10F // LLB R1, 0x0F | |
@001f B207 // LLB R2, 0x07 | |
@0020 B3FF // LLB R3, 0xFF | |
@0021 B40B // LLB R4, 0x0B | |
@0022 B501 // LLB R5, 0x01 | |
@0023 B605 // LLB R6, 0x05 | |
@0024 B707 // LLB R7, 0x07 | |
@0025 B809 // LLB R8, 0x09 | |
@0026 2921 // SUB R9, R2, R1 | |
@0027 C603 // B LT, LABEL1 | |
@0028 0115 // ADD R1, R1, R5 | |
@0029 0665 // ADD R6, R6, R5 | |
@002a CFFF // FAILURE: B UNCOND, FAILURE | |
@002b C5FE // LABEL1: B GT, FAILURE | |
@002c 2942 // SUB R9, R4, R2 | |
@002d C402 // B GT, LABEL3 | |
@002e 0118 // ADD R1, R1, R8 | |
@002f 2667 // SUB R6, R6, R7 | |
@0030 C3F9 // LABEL3: B EQ, FAILURE | |
@0031 C001 // B NEQ, LABEL4 | |
@0032 CFF7 // B UNCOND, FAILURE | |
@0033 D003 // LABEL4: JAL FUNC1 | |
@0034 2927 // SUB R9, R2, R7 | |
@0035 CA09 // B LTE, LABEL6 | |
@0036 0887 // ADD R8, R8, R7 | |
@0037 B300 // LLB R3, 0x00 | |
@0038 A380 // LHB R3, 0x80 | |
@0039 0933 // ADD R9, R3, R3 | |
@003a CC01 // B OVFL, LABEL5 | |
@003b CFEE // B UNCOND, FAILURE | |
@003c E0F0 // JR R15 | |
@003d 0113 // ADD R1, R1, R3 | |
@003e CFEB // B UNCOND, FAILURE | |
@003f C802 // B GTE, LABEL7 | |
@0040 0113 // ADD R1, R1, R3 | |
@0041 CFE8 // B UNCOND, FAILURE | |
@0042 D001 // JAL FUNC2 | |
@0043 CE05 // B UNCOND, END | |
@0044 0B0F // FUNC2: ADD R11, R0, R15 | |
@0045 D001 // JAL FUNC3 | |
@0046 E0B0 // JR R11 | |
@0047 E0F0 // JR R15 | |
@0048 0BB3 // ADD R11, R11, R3 | |
@0049 F000 // END: HLT |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
############################################################################### | |
## | |
## Pipeline Test 2 - Branching | |
## 04/08/14 | |
## | |
## Passing Test should result in a HLT instr. A failed test should time out | |
## after reaching the failure loop. | |
## | |
############################################################################### | |
LLB R1, 0x11 | |
LHB R1, 0x11 | |
LLB R2, 0x22 | |
LHB R2, 0x22 | |
LLB R3, 0x33 | |
LHB R3, 0x33 | |
LLB R4, 0x44 | |
LHB R4, 0x44 | |
LLB R5, 0x55 | |
LHB R5, 0x55 | |
LLB R6, 0x66 | |
LHB R6, 0x66 | |
LLB R7, 0x77 | |
LHB R7, 0x77 | |
LLB R8, 0x88 | |
LHB R8, 0x88 | |
LLB R9, 0x99 | |
LHB R9, 0x99 | |
LLB R10, 0xaa | |
LHB R10, 0xaa | |
LLB R11, 0xbb | |
LHB R11, 0xbb | |
LLB R12, 0xcc | |
LHB R12, 0xcc | |
LLB R13, 0xdd | |
LHB R13, 0xdd | |
LLB R14, 0xee | |
LHB R14, 0xee | |
LLB R15, 0xff | |
LHB R15, 0xff | |
LLB R1, 0x0F | |
LLB R2, 0x07 | |
LLB R3, 0xFF | |
LLB R4, 0x0B | |
LLB R5, 0x01 | |
LLB R6, 0x05 | |
LLB R7, 0x07 | |
LLB R8, 0x09 | |
SUB R9, R2, R1 | |
B LT, LABEL1 | |
ADD R1, R1, R5 #should not be executed | |
ADD R6, R6, R5 #should not be executed | |
FAILURE: B UNCOND, FAILURE #get stuck here if failure | |
LABEL1: B GT, FAILURE #should not be taken | |
SUB R9, R4, R2 | |
B GT, LABEL3 | |
ADD R1, R1, R8 | |
SUB R6, R6, R7 | |
LABEL3: B EQ, FAILURE #flags should still be pos | |
B NEQ, LABEL4 | |
B UNCOND, FAILURE | |
LABEL4: JAL FUNC1 | |
SUB R9, R2, R7 | |
B LTE, LABEL6 | |
ADD R8, R8, R7 | |
FUNC1: | |
LLB R3, 0x00 | |
LHB R3, 0x80 | |
ADD R9, R3, R3 | |
B OVFL, LABEL5 | |
B UNCOND, FAILURE | |
LABEL5: | |
JR R15 | |
ADD R1, R1, R3 | |
B UNCOND, FAILURE | |
LABEL6: | |
B GTE, LABEL7 | |
ADD R1, R1, R3 | |
B UNCOND, FAILURE | |
LABEL7: | |
JAL FUNC2 | |
B UNCOND, END | |
FUNC2: ADD R11, R0, R15 | |
JAL FUNC3 | |
JR R11 | |
FUNC3: | |
JR R15 | |
ADD R11, R11, R3 | |
END: HLT # Great Success! | |
########################################## | |
# Single cycle ref output | |
########################################## | |
# | |
# R00000001 = 000f | |
# R00000002 = 0007 | |
# R00000003 = 8000 | |
# R00000004 = 000b | |
# R00000005 = 0001 | |
# R00000006 = 0005 | |
# R00000007 = 0007 | |
# R00000008 = 0009 | |
# R00000009 = 0000 | |
# R0000000a = xxxx | |
# R0000000b = 0025 | |
# R0000000c = xxxx | |
# R0000000d = xxxx | |
# R0000000e = xxxx | |
# R0000000f = 0028 | |
# Time: 300 | |
# Cycles: 30 | |
# PC: 002c |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment