📄 trap_rom.txt
字号:
# Trap handler and initialization vector SET R1, R0, 01110 01 00001 00000 0000 0000 0000 0000 ANDI R2, R1, %00000011000000001011 01 00010 00001 0000 0011 0000 0000 BEQ R2, R0, START # No int => must be start0100 11 00010 00000 0000 0000 0000 1101 # Ok, we've got and int, update int counters ANDI R2, R1, %0000001000000000 1011 01 00010 00001 0000 0010 0000 0000 CMP R3, R0, R2 0110 00 00011 00000 00010 000 0000 0000 LW R4, R0, 0 1000 11 00100 00000 0000 0000 0000 0000 ADD R4, R4, R3 # Update for ovewflows 0000 00 00100 00100 00011 000 0000 0000 SW R4, R0, 0 1001 11 00100 00000 0000 0000 0000 0000 ANDI R2, R1, %0000000100000000 1011 01 00010 00001 0000 0001 0000 0000 CMP R3, R0, R2 0110 00 00011 00000 00010 000 0000 0000 LW R4, R0, 1 1000 11 00100 00000 0000 0000 0000 0001 ADD R4, R4, R3 # Update for illegal ops0000 00 00100 00100 00011 000 0000 0000 SW R4, R0, 11001 11 00100 00000 0000 0000 0000 0000 # Remove int traces from psw and jump to pc+4 RESETI R0, R0, %0000001100000000 1111 01 00000 00000 0000 0011 0000 0000 JUMPD R0, R31, 1 0111 11 00000 11111 0000 0000 0000 0001# We end up here after we've started, and never againSTART:# Initialize trap counters SW R0, R0, 0 1001 11 00000 00000 0000 0000 0000 0000 SW R0, R0, 1 1001 11 00000 00000 0000 0000 0000 0001# Load max positive number ADDI R1, R0, -1 0000 01 00001 00000 1111 1111 1111 1111 ADDX R2, R0, %0111111111111111 0000 10 00010 00000 0111 1111 1111 1111 OR R1, R1, R2 1100 00 00001 00001 00010 000 0000 0000 # Add with overflow check, should freak out ADDV R2, R1, R1 0001 00 00010 00001 00001 000 0000 0000 # Try and illegal op IOP 1111 11 11111 11111 11111 111 1111 1111 # Do it again BEQ R0, R0, -5 0100 11 00000 00000 1111 1111 1111 1011 NOP 0000 0000 0000 0000 0000 0000 0000 0000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -