Building serialtest.dsa [/home/zxq5/Projects/HardwareDev/dsa2/dsa_resources/serialtest.dsa] Tokenising serialtest.dsa Parsing serialtest.dsa Resolving Deps serialtest.dsa Expanding Pseudo-ops serialtest.dsa Including serial.dsa Building serial.dsa [/home/zxq5/Projects/HardwareDev/dsa2/dsa_resources/serial.dsa] Tokenising serial.dsa Parsing serial.dsa Resolving Deps serial.dsa Expanding Pseudo-ops serial.dsa Including idt.dsa Building idt.dsa [/home/zxq5/Projects/HardwareDev/dsa2/dsa_resources/idt.dsa] Tokenising idt.dsa Parsing idt.dsa Resolving Deps idt.dsa Expanding Pseudo-ops idt.dsa Including print.dsa Building print.dsa [/home/zxq5/Projects/HardwareDev/dsa2/dsa_resources/print.dsa] Tokenising print.dsa Parsing print.dsa Resolving Deps print.dsa Expanding Pseudo-ops print.dsa Including serial.dsa Including print.dsa PRE LINK Node { symbol: None, opcode: Segment, tokens: [Immediate(3193829041)] } Node { symbol: None, opcode: Include, tokens: [Symbol(Symbol { name: "serial", module: Resolved(10077013596335634097) }), StringLit("./serial.dsa")] } Node { symbol: None, opcode: Include, tokens: [Symbol(Symbol { name: "idt", module: Resolved(10077013596335634097) }), StringLit("./idt.dsa")] } Node { symbol: None, opcode: Include, tokens: [Symbol(Symbol { name: "print", module: Resolved(10077013596335634097) }), StringLit("./print.dsa")] } Node { symbol: Some(Symbol { name: "stack", module: Resolved(10077013596335634097) }), opcode: Data, tokens: [Immediate(65536)] } Node { symbol: Some(Symbol { name: "_init", module: Resolved(10077013596335634097) }), opcode: Lli, tokens: [Symbol(Symbol { name: "stack", module: Resolved(10077013596335634097) }), Register(Bpr)] } Node { symbol: None, opcode: Lui, tokens: [Symbol(Symbol { name: "stack", module: Resolved(10077013596335634097) }), Register(Bpr)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Bpr), Register(Bpr), Immediate(0)] } Node { symbol: None, opcode: Mov, tokens: [Register(Bpr), Register(Spr)] } Node { symbol: None, opcode: Call, tokens: [Symbol(Symbol { name: "setup_base", module: Resolved(2519286859380657757) })] } Node { symbol: None, opcode: Call, tokens: [Symbol(Symbol { name: "setup_io", module: Resolved(2519286859380657757) })] } Node { symbol: None, opcode: Call, tokens: [Symbol(Symbol { name: "serial_init", module: Resolved(12290222962602515901) })] } Node { symbol: Some(Symbol { name: "hello", module: Resolved(10077013596335634097) }), opcode: Data, tokens: [Immediate(1953719636)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1936026912)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1701273971)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1701322796)] } Node { symbol: None, opcode: Data, tokens: [Immediate(544173164)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1819438967)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1952784484)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1952784483)] } Node { symbol: None, opcode: Data, tokens: [Immediate(11875)] } Node { symbol: Some(Symbol { name: "main", module: Resolved(10077013596335634097) }), opcode: Lli, tokens: [Symbol(Symbol { name: "SERIAL_BUFFER", module: Resolved(12290222962602515901) }), Register(Rg0)] } Node { symbol: None, opcode: Lui, tokens: [Symbol(Symbol { name: "SERIAL_BUFFER", module: Resolved(12290222962602515901) }), Register(Rg0)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg0)] } Node { symbol: None, opcode: Call, tokens: [Symbol(Symbol { name: "print", module: Resolved(11993558320162734964) })] } Node { symbol: None, opcode: Pop, tokens: [Register(Zero)] } Node { symbol: None, opcode: Hlt, tokens: [] } Node { symbol: None, opcode: Jmp, tokens: [Symbol(Symbol { name: "main", module: Resolved(10077013596335634097) }), Register(Zero)] } Node { symbol: None, opcode: Segment, tokens: [Immediate(138780093)] } Node { symbol: Some(Symbol { name: "UART", module: Resolved(12290222962602515901) }), opcode: Data, tokens: [Immediate(262144)] } Node { symbol: Some(Symbol { name: "SERIAL_BUFFER", module: Resolved(12290222962602515901) }), opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: Some(Symbol { name: "SER_READ_PTR", module: Resolved(12290222962602515901) }), opcode: Data, tokens: [Immediate(0)] } Node { symbol: Some(Symbol { name: "SER_WRITE_PTR", module: Resolved(12290222962602515901) }), opcode: Data, tokens: [Immediate(0)] } Node { symbol: Some(Symbol { name: "serial_init", module: Resolved(12290222962602515901) }), opcode: Push, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Mov, tokens: [Register(Spr), Register(Bpr)] } Node { symbol: None, opcode: Lli, tokens: [Symbol(Symbol { name: "SERIAL_BUFFER", module: Resolved(12290222962602515901) }), Register(Rg0)] } Node { symbol: None, opcode: Lui, tokens: [Symbol(Symbol { name: "SERIAL_BUFFER", module: Resolved(12290222962602515901) }), Register(Rg0)] } Node { symbol: None, opcode: Lli, tokens: [Symbol(Symbol { name: "SER_READ_PTR", module: Resolved(12290222962602515901) }), Register(Acc)] } Node { symbol: None, opcode: Lui, tokens: [Symbol(Symbol { name: "SER_READ_PTR", module: Resolved(12290222962602515901) }), Register(Acc)] } Node { symbol: None, opcode: Stw, tokens: [Register(Rg0), Register(Acc), Immediate(0)] } Node { symbol: None, opcode: Lli, tokens: [Symbol(Symbol { name: "SER_WRITE_PTR", module: Resolved(12290222962602515901) }), Register(Acc)] } Node { symbol: None, opcode: Lui, tokens: [Symbol(Symbol { name: "SER_WRITE_PTR", module: Resolved(12290222962602515901) }), Register(Acc)] } Node { symbol: None, opcode: Stw, tokens: [Register(Rg0), Register(Acc), Immediate(0)] } Node { symbol: None, opcode: Mov, tokens: [Register(Bpr), Register(Spr)] } Node { symbol: None, opcode: Pop, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Ret, tokens: [] } Node { symbol: Some(Symbol { name: "serial_isr", module: Resolved(12290222962602515901) }), opcode: Push, tokens: [Register(Rg0)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg1)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg2)] } Node { symbol: None, opcode: Lli, tokens: [Symbol(Symbol { name: "UART", module: Resolved(12290222962602515901) }), Register(Rg0)] } Node { symbol: None, opcode: Lui, tokens: [Symbol(Symbol { name: "UART", module: Resolved(12290222962602515901) }), Register(Rg0)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Rg0), Register(Rg0), Immediate(0)] } Node { symbol: None, opcode: Ldb, tokens: [Register(Rg0), Register(Rg1), Immediate(2)] } Node { symbol: None, opcode: Jez, tokens: [Register(Rg1), Symbol(Symbol { name: "_serial_isr_end", module: Resolved(12290222962602515901) }), Register(Zero)] } Node { symbol: None, opcode: Ldb, tokens: [Register(Rg0), Register(Rg1), Immediate(3)] } Node { symbol: None, opcode: Stb, tokens: [Register(Zero), Register(Rg0), Immediate(2)] } Node { symbol: None, opcode: Lli, tokens: [Symbol(Symbol { name: "SER_WRITE_PTR", module: Resolved(12290222962602515901) }), Register(Rg2)] } Node { symbol: None, opcode: Lui, tokens: [Symbol(Symbol { name: "SER_WRITE_PTR", module: Resolved(12290222962602515901) }), Register(Rg2)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Rg2), Register(Rg2), Immediate(0)] } Node { symbol: None, opcode: Stb, tokens: [Register(Rg1), Register(Rg2), Immediate(0)] } Node { symbol: None, opcode: AddI, tokens: [Register(Rg2), Immediate(1), Register(Rg2)] } Node { symbol: None, opcode: Lli, tokens: [Symbol(Symbol { name: "SERIAL_BUFFER", module: Resolved(12290222962602515901) }), Register(Rg0)] } Node { symbol: None, opcode: Lui, tokens: [Symbol(Symbol { name: "SERIAL_BUFFER", module: Resolved(12290222962602515901) }), Register(Rg0)] } Node { symbol: None, opcode: AddI, tokens: [Register(Rg0), Immediate(1024), Register(Rg1)] } Node { symbol: None, opcode: Ine, tokens: [Register(Rg1), Register(Rg2), Register(Rg1)] } Node { symbol: None, opcode: Jnz, tokens: [Register(Rg1), Symbol(Symbol { name: "_serial_isr_nowrap", module: Resolved(12290222962602515901) }), Register(Zero)] } Node { symbol: None, opcode: Lli, tokens: [Symbol(Symbol { name: "SERIAL_BUFFER", module: Resolved(12290222962602515901) }), Register(Rg2)] } Node { symbol: None, opcode: Lui, tokens: [Symbol(Symbol { name: "SERIAL_BUFFER", module: Resolved(12290222962602515901) }), Register(Rg2)] } Node { symbol: Some(Symbol { name: "_serial_isr_nowrap", module: Resolved(12290222962602515901) }), opcode: Lli, tokens: [Symbol(Symbol { name: "SER_WRITE_PTR", module: Resolved(12290222962602515901) }), Register(Acc)] } Node { symbol: None, opcode: Lui, tokens: [Symbol(Symbol { name: "SER_WRITE_PTR", module: Resolved(12290222962602515901) }), Register(Acc)] } Node { symbol: None, opcode: Stw, tokens: [Register(Rg2), Register(Acc), Immediate(0)] } Node { symbol: Some(Symbol { name: "_serial_isr_end", module: Resolved(12290222962602515901) }), opcode: Pop, tokens: [Register(Rg2)] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg1)] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg0)] } Node { symbol: None, opcode: IRet, tokens: [] } Node { symbol: None, opcode: Segment, tokens: [Immediate(78745181)] } Node { symbol: None, opcode: Include, tokens: [Symbol(Symbol { name: "print", module: Resolved(2519286859380657757) }), StringLit("./print.dsa")] } Node { symbol: None, opcode: Include, tokens: [Symbol(Symbol { name: "serial", module: Resolved(2519286859380657757) }), StringLit("./serial.dsa")] } Node { symbol: Some(Symbol { name: "idt", module: Resolved(2519286859380657757) }), opcode: Data, tokens: [Immediate(4294901760)] } Node { symbol: Some(Symbol { name: "setup_base", module: Resolved(2519286859380657757) }), opcode: Push, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Mov, tokens: [Register(Spr), Register(Bpr)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg0)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg1)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg2)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg3)] } Node { symbol: None, opcode: Lli, tokens: [Symbol(Symbol { name: "idt", module: Resolved(2519286859380657757) }), Register(Idr)] } Node { symbol: None, opcode: Lui, tokens: [Symbol(Symbol { name: "idt", module: Resolved(2519286859380657757) }), Register(Idr)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Idr), Register(Idr), Immediate(0)] } Node { symbol: None, opcode: Lli, tokens: [Symbol(Symbol { name: "_guard", module: Resolved(2519286859380657757) }), Register(Rg1)] } Node { symbol: None, opcode: Lui, tokens: [Symbol(Symbol { name: "_guard", module: Resolved(2519286859380657757) }), Register(Rg1)] } Node { symbol: None, opcode: AddI, tokens: [Register(Idr), Immediate(1024), Register(Rg2)] } Node { symbol: Some(Symbol { name: "_loop_start", module: Resolved(2519286859380657757) }), opcode: Stw, tokens: [Register(Rg1), Register(Rg2), Immediate(0)] } Node { symbol: None, opcode: SubI, tokens: [Register(Rg2), Immediate(4), Register(Rg2)] } Node { symbol: None, opcode: Ieq, tokens: [Register(Rg2), Register(Idr), Register(Rg3)] } Node { symbol: None, opcode: Jez, tokens: [Register(Rg3), Symbol(Symbol { name: "_loop_start", module: Resolved(2519286859380657757) }), Register(Zero)] } Node { symbol: None, opcode: Lli, tokens: [Symbol(Symbol { name: "_handle_invalid_interrupt", module: Resolved(2519286859380657757) }), Register(Rg0)] } Node { symbol: None, opcode: Lui, tokens: [Symbol(Symbol { name: "_handle_invalid_interrupt", module: Resolved(2519286859380657757) }), Register(Rg0)] } Node { symbol: None, opcode: Stw, tokens: [Register(Rg0), Register(Idr), Immediate(0)] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg3)] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg2)] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg1)] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg0)] } Node { symbol: None, opcode: Mov, tokens: [Register(Bpr), Register(Spr)] } Node { symbol: None, opcode: Pop, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Ret, tokens: [] } Node { symbol: Some(Symbol { name: "setup_io", module: Resolved(2519286859380657757) }), opcode: Push, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Mov, tokens: [Register(Spr), Register(Bpr)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg0)] } Node { symbol: None, opcode: Lli, tokens: [Symbol(Symbol { name: "serial_isr", module: Resolved(12290222962602515901) }), Register(Rg0)] } Node { symbol: None, opcode: Lui, tokens: [Symbol(Symbol { name: "serial_isr", module: Resolved(12290222962602515901) }), Register(Rg0)] } Node { symbol: None, opcode: Stw, tokens: [Register(Rg0), Register(Idr), Immediate(128)] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg0)] } Node { symbol: None, opcode: Mov, tokens: [Register(Bpr), Register(Spr)] } Node { symbol: None, opcode: Pop, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Ret, tokens: [] } Node { symbol: Some(Symbol { name: "_invalid_int", module: Resolved(2519286859380657757) }), opcode: Data, tokens: [Immediate(1096040774)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1226848844)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1818326638)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1226859625)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1919251566)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1953527154)] } Node { symbol: None, opcode: Data, tokens: [Immediate(33)] } Node { symbol: Some(Symbol { name: "_handle_invalid_interrupt", module: Resolved(2519286859380657757) }), opcode: Call, tokens: [Symbol(Symbol { name: "reset", module: Resolved(11993558320162734964) })] } Node { symbol: None, opcode: Lli, tokens: [Symbol(Symbol { name: "_invalid_int", module: Resolved(2519286859380657757) }), Register(Rg0)] } Node { symbol: None, opcode: Lui, tokens: [Symbol(Symbol { name: "_invalid_int", module: Resolved(2519286859380657757) }), Register(Rg0)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg0)] } Node { symbol: None, opcode: Call, tokens: [Symbol(Symbol { name: "print", module: Resolved(11993558320162734964) })] } Node { symbol: None, opcode: Pop, tokens: [Register(Zero)] } Node { symbol: None, opcode: Hlt, tokens: [] } Node { symbol: Some(Symbol { name: "_err", module: Resolved(2519286859380657757) }), opcode: Data, tokens: [Immediate(1096040774)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1226848844)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1919251566)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1953527154)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1851877408)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1919249508)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1935767328)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1953459744)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1952805664)] } Node { symbol: None, opcode: Data, tokens: [Immediate(33)] } Node { symbol: Some(Symbol { name: "_guard", module: Resolved(2519286859380657757) }), opcode: Call, tokens: [Symbol(Symbol { name: "reset", module: Resolved(11993558320162734964) })] } Node { symbol: None, opcode: Lli, tokens: [Symbol(Symbol { name: "_err", module: Resolved(2519286859380657757) }), Register(Rg0)] } Node { symbol: None, opcode: Lui, tokens: [Symbol(Symbol { name: "_err", module: Resolved(2519286859380657757) }), Register(Rg0)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg0)] } Node { symbol: None, opcode: Call, tokens: [Symbol(Symbol { name: "print", module: Resolved(11993558320162734964) })] } Node { symbol: None, opcode: Pop, tokens: [Register(Zero)] } Node { symbol: None, opcode: Hlt, tokens: [] } Node { symbol: None, opcode: Segment, tokens: [Immediate(1648034676)] } Node { symbol: Some(Symbol { name: "display", module: Resolved(11993558320162734964) }), opcode: Data, tokens: [Immediate(131072)] } Node { symbol: Some(Symbol { name: "current", module: Resolved(11993558320162734964) }), opcode: Data, tokens: [Immediate(131072)] } Node { symbol: Some(Symbol { name: "print", module: Resolved(11993558320162734964) }), opcode: Push, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Mov, tokens: [Register(Spr), Register(Bpr)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg0)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg1)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg2)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg3)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Bpr), Register(Rg0), Immediate(8)] } Node { symbol: None, opcode: Lli, tokens: [Symbol(Symbol { name: "current", module: Resolved(11993558320162734964) }), Register(Rg1)] } Node { symbol: None, opcode: Lui, tokens: [Symbol(Symbol { name: "current", module: Resolved(11993558320162734964) }), Register(Rg1)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Rg1), Register(Rg1), Immediate(0)] } Node { symbol: Some(Symbol { name: "_print_loop", module: Resolved(11993558320162734964) }), opcode: Ldb, tokens: [Register(Rg0), Register(Rg2), Immediate(0)] } Node { symbol: None, opcode: Ieq, tokens: [Register(Rg2), Register(Zero), Register(Rg3)] } Node { symbol: None, opcode: Jnz, tokens: [Register(Rg3), Symbol(Symbol { name: "_print_end", module: Resolved(11993558320162734964) }), Register(Zero)] } Node { symbol: None, opcode: Stb, tokens: [Register(Rg2), Register(Rg1), Immediate(0)] } Node { symbol: None, opcode: AddI, tokens: [Register(Rg0), Immediate(1), Register(Rg0)] } Node { symbol: None, opcode: AddI, tokens: [Register(Rg1), Immediate(1), Register(Rg1)] } Node { symbol: None, opcode: Jmp, tokens: [Symbol(Symbol { name: "_print_loop", module: Resolved(11993558320162734964) }), Register(Zero)] } Node { symbol: Some(Symbol { name: "_print_end", module: Resolved(11993558320162734964) }), opcode: Lli, tokens: [Symbol(Symbol { name: "current", module: Resolved(11993558320162734964) }), Register(Acc)] } Node { symbol: None, opcode: Lui, tokens: [Symbol(Symbol { name: "current", module: Resolved(11993558320162734964) }), Register(Acc)] } Node { symbol: None, opcode: Stw, tokens: [Register(Rg1), Register(Acc), Immediate(0)] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg3)] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg2)] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg1)] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg0)] } Node { symbol: None, opcode: Mov, tokens: [Register(Bpr), Register(Spr)] } Node { symbol: None, opcode: Pop, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Ret, tokens: [] } Node { symbol: Some(Symbol { name: "print_byte", module: Resolved(11993558320162734964) }), opcode: Push, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Mov, tokens: [Register(Spr), Register(Bpr)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg0)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg1)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Bpr), Register(Rg0), Immediate(8)] } Node { symbol: None, opcode: Lli, tokens: [Symbol(Symbol { name: "current", module: Resolved(11993558320162734964) }), Register(Rg1)] } Node { symbol: None, opcode: Lui, tokens: [Symbol(Symbol { name: "current", module: Resolved(11993558320162734964) }), Register(Rg1)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Rg1), Register(Rg1), Immediate(0)] } Node { symbol: None, opcode: Stb, tokens: [Register(Rg0), Register(Rg1), Immediate(0)] } Node { symbol: None, opcode: AddI, tokens: [Register(Rg1), Immediate(1), Register(Rg1)] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg1)] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg0)] } Node { symbol: None, opcode: Jmp, tokens: [Symbol(Symbol { name: "_end", module: Resolved(11993558320162734964) }), Register(Zero)] } Node { symbol: Some(Symbol { name: "print_hex_byte", module: Resolved(11993558320162734964) }), opcode: Push, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Mov, tokens: [Register(Spr), Register(Bpr)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Bpr), Register(Rg0), Immediate(8)] } Node { symbol: None, opcode: Lli, tokens: [Symbol(Symbol { name: "current", module: Resolved(11993558320162734964) }), Register(Rg1)] } Node { symbol: None, opcode: Lui, tokens: [Symbol(Symbol { name: "current", module: Resolved(11993558320162734964) }), Register(Rg1)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Rg1), Register(Rg1), Immediate(0)] } Node { symbol: None, opcode: Call, tokens: [Symbol(Symbol { name: "_print_hex_byte", module: Resolved(11993558320162734964) })] } Node { symbol: None, opcode: Jmp, tokens: [Symbol(Symbol { name: "_end", module: Resolved(11993558320162734964) }), Register(Zero)] } Node { symbol: Some(Symbol { name: "_print_hex_byte", module: Resolved(11993558320162734964) }), opcode: Lli, tokens: [Immediate(15), Register(Rg2)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg0)] } Node { symbol: None, opcode: Shr, tokens: [Register(Rg0), Register(Zero), Immediate(4), Register(Rg0)] } Node { symbol: None, opcode: And, tokens: [Register(Rg0), Register(Rg2), Register(Rg0)] } Node { symbol: None, opcode: Call, tokens: [Symbol(Symbol { name: "_print_hex_nibble", module: Resolved(11993558320162734964) })] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg0)] } Node { symbol: None, opcode: And, tokens: [Register(Rg0), Register(Rg2), Register(Rg0)] } Node { symbol: None, opcode: Call, tokens: [Symbol(Symbol { name: "_print_hex_nibble", module: Resolved(11993558320162734964) })] } Node { symbol: None, opcode: Ret, tokens: [] } Node { symbol: Some(Symbol { name: "_print_hex_nibble", module: Resolved(11993558320162734964) }), opcode: Lli, tokens: [Immediate(10), Register(Rg3)] } Node { symbol: None, opcode: Ilt, tokens: [Register(Rg0), Register(Rg3), Register(Rg4)] } Node { symbol: None, opcode: Jnz, tokens: [Register(Rg4), Symbol(Symbol { name: "_print_hex_nibble_number", module: Resolved(11993558320162734964) }), Register(Zero)] } Node { symbol: None, opcode: AddI, tokens: [Register(Rg0), Immediate(55), Register(Rg0)] } Node { symbol: None, opcode: Stb, tokens: [Register(Rg0), Register(Rg1), Immediate(0)] } Node { symbol: None, opcode: AddI, tokens: [Register(Rg1), Immediate(1), Register(Rg1)] } Node { symbol: None, opcode: Ret, tokens: [] } Node { symbol: Some(Symbol { name: "_print_hex_nibble_number", module: Resolved(11993558320162734964) }), opcode: AddI, tokens: [Register(Rg0), Immediate(48), Register(Rg0)] } Node { symbol: None, opcode: Stb, tokens: [Register(Rg0), Register(Rg1), Immediate(0)] } Node { symbol: None, opcode: AddI, tokens: [Register(Rg1), Immediate(1), Register(Rg1)] } Node { symbol: None, opcode: Ret, tokens: [] } Node { symbol: Some(Symbol { name: "print_whitespace", module: Resolved(11993558320162734964) }), opcode: Push, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Mov, tokens: [Register(Spr), Register(Bpr)] } Node { symbol: None, opcode: Lli, tokens: [Symbol(Symbol { name: "current", module: Resolved(11993558320162734964) }), Register(Rg1)] } Node { symbol: None, opcode: Lui, tokens: [Symbol(Symbol { name: "current", module: Resolved(11993558320162734964) }), Register(Rg1)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Rg1), Register(Rg1), Immediate(0)] } Node { symbol: None, opcode: Lli, tokens: [Immediate(32), Register(Rg0)] } Node { symbol: None, opcode: Stb, tokens: [Register(Rg0), Register(Rg1), Immediate(0)] } Node { symbol: None, opcode: AddI, tokens: [Register(Rg1), Immediate(1), Register(Rg1)] } Node { symbol: None, opcode: Jmp, tokens: [Symbol(Symbol { name: "_end", module: Resolved(11993558320162734964) }), Register(Zero)] } Node { symbol: Some(Symbol { name: "newline", module: Resolved(11993558320162734964) }), opcode: Push, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Mov, tokens: [Register(Spr), Register(Bpr)] } Node { symbol: None, opcode: Lli, tokens: [Symbol(Symbol { name: "display", module: Resolved(11993558320162734964) }), Register(Rg0)] } Node { symbol: None, opcode: Lui, tokens: [Symbol(Symbol { name: "display", module: Resolved(11993558320162734964) }), Register(Rg0)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Rg0), Register(Rg0), Immediate(0)] } Node { symbol: None, opcode: Lli, tokens: [Symbol(Symbol { name: "current", module: Resolved(11993558320162734964) }), Register(Rg1)] } Node { symbol: None, opcode: Lui, tokens: [Symbol(Symbol { name: "current", module: Resolved(11993558320162734964) }), Register(Rg1)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Rg1), Register(Rg1), Immediate(0)] } Node { symbol: None, opcode: Sub, tokens: [Register(Rg1), Register(Rg0), Register(Rg2)] } Node { symbol: None, opcode: Lli, tokens: [Immediate(80), Register(Rg3)] } Node { symbol: Some(Symbol { name: "_newline_mod", module: Resolved(11993558320162734964) }), opcode: Ilt, tokens: [Register(Rg2), Register(Rg3), Register(Rg4)] } Node { symbol: None, opcode: Jnz, tokens: [Register(Rg4), Symbol(Symbol { name: "_newline_done", module: Resolved(11993558320162734964) }), Register(Zero)] } Node { symbol: None, opcode: Sub, tokens: [Register(Rg2), Register(Rg3), Register(Rg2)] } Node { symbol: None, opcode: Jmp, tokens: [Symbol(Symbol { name: "_newline_mod", module: Resolved(11993558320162734964) }), Register(Zero)] } Node { symbol: Some(Symbol { name: "_newline_done", module: Resolved(11993558320162734964) }), opcode: Sub, tokens: [Register(Rg1), Register(Rg2), Register(Rg1)] } Node { symbol: None, opcode: AddI, tokens: [Register(Rg1), Immediate(80), Register(Rg1)] } Node { symbol: None, opcode: Jmp, tokens: [Symbol(Symbol { name: "_end", module: Resolved(11993558320162734964) }), Register(Zero)] } Node { symbol: Some(Symbol { name: "reset", module: Resolved(11993558320162734964) }), opcode: Push, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Mov, tokens: [Register(Spr), Register(Bpr)] } Node { symbol: None, opcode: Lli, tokens: [Symbol(Symbol { name: "display", module: Resolved(11993558320162734964) }), Register(Rg1)] } Node { symbol: None, opcode: Lui, tokens: [Symbol(Symbol { name: "display", module: Resolved(11993558320162734964) }), Register(Rg1)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Rg1), Register(Rg1), Immediate(0)] } Node { symbol: None, opcode: Jmp, tokens: [Symbol(Symbol { name: "_end", module: Resolved(11993558320162734964) }), Register(Zero)] } Node { symbol: Some(Symbol { name: "clear", module: Resolved(11993558320162734964) }), opcode: Push, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Mov, tokens: [Register(Spr), Register(Bpr)] } Node { symbol: None, opcode: Lli, tokens: [Immediate(500), Register(Rg0)] } Node { symbol: None, opcode: Lli, tokens: [Symbol(Symbol { name: "display", module: Resolved(11993558320162734964) }), Register(Rg1)] } Node { symbol: None, opcode: Lui, tokens: [Symbol(Symbol { name: "display", module: Resolved(11993558320162734964) }), Register(Rg1)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Rg1), Register(Rg1), Immediate(0)] } Node { symbol: Some(Symbol { name: "_clear_loop", module: Resolved(11993558320162734964) }), opcode: SubI, tokens: [Register(Rg0), Immediate(1), Register(Rg0)] } Node { symbol: None, opcode: Stw, tokens: [Register(Zero), Register(Rg1), Immediate(0)] } Node { symbol: None, opcode: AddI, tokens: [Register(Rg1), Immediate(4), Register(Rg1)] } Node { symbol: None, opcode: Igt, tokens: [Register(Rg0), Register(Zero), Register(Rg4)] } Node { symbol: None, opcode: Jnz, tokens: [Register(Rg4), Symbol(Symbol { name: "_clear_loop", module: Resolved(11993558320162734964) }), Register(Zero)] } Node { symbol: None, opcode: Jmp, tokens: [Symbol(Symbol { name: "_end", module: Resolved(11993558320162734964) }), Register(Zero)] } Node { symbol: Some(Symbol { name: "_end", module: Resolved(11993558320162734964) }), opcode: Lli, tokens: [Symbol(Symbol { name: "current", module: Resolved(11993558320162734964) }), Register(Acc)] } Node { symbol: None, opcode: Lui, tokens: [Symbol(Symbol { name: "current", module: Resolved(11993558320162734964) }), Register(Acc)] } Node { symbol: None, opcode: Stw, tokens: [Register(Rg1), Register(Acc), Immediate(0)] } Node { symbol: None, opcode: Mov, tokens: [Register(Bpr), Register(Spr)] } Node { symbol: None, opcode: Pop, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Ret, tokens: [] } Generating assembly output... Node { symbol: None, opcode: Jmp, tokens: [Immediate(1172), Register(Zero)] } Node { symbol: None, opcode: Segment, tokens: [Immediate(0)] } Node { symbol: Some(Symbol { name: "stack", module: Resolved(10077013596335634097) }), opcode: Data, tokens: [Immediate(65536)] } Node { symbol: Some(Symbol { name: "hello", module: Resolved(10077013596335634097) }), opcode: Data, tokens: [Immediate(1953719636)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1936026912)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1701273971)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1701322796)] } Node { symbol: None, opcode: Data, tokens: [Immediate(544173164)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1819438967)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1952784484)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1952784483)] } Node { symbol: None, opcode: Data, tokens: [Immediate(11875)] } Node { symbol: Some(Symbol { name: "UART", module: Resolved(12290222962602515901) }), opcode: Data, tokens: [Immediate(262144)] } Node { symbol: Some(Symbol { name: "SERIAL_BUFFER", module: Resolved(12290222962602515901) }), opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: None, opcode: Data, tokens: [Immediate(0)] } Node { symbol: Some(Symbol { name: "SER_READ_PTR", module: Resolved(12290222962602515901) }), opcode: Data, tokens: [Immediate(0)] } Node { symbol: Some(Symbol { name: "SER_WRITE_PTR", module: Resolved(12290222962602515901) }), opcode: Data, tokens: [Immediate(0)] } Node { symbol: Some(Symbol { name: "idt", module: Resolved(2519286859380657757) }), opcode: Data, tokens: [Immediate(4294901760)] } Node { symbol: Some(Symbol { name: "_invalid_int", module: Resolved(2519286859380657757) }), opcode: Data, tokens: [Immediate(1096040774)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1226848844)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1818326638)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1226859625)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1919251566)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1953527154)] } Node { symbol: None, opcode: Data, tokens: [Immediate(33)] } Node { symbol: Some(Symbol { name: "_err", module: Resolved(2519286859380657757) }), opcode: Data, tokens: [Immediate(1096040774)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1226848844)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1919251566)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1953527154)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1851877408)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1919249508)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1935767328)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1953459744)] } Node { symbol: None, opcode: Data, tokens: [Immediate(1952805664)] } Node { symbol: None, opcode: Data, tokens: [Immediate(33)] } Node { symbol: Some(Symbol { name: "display", module: Resolved(11993558320162734964) }), opcode: Data, tokens: [Immediate(131072)] } Node { symbol: Some(Symbol { name: "current", module: Resolved(11993558320162734964) }), opcode: Data, tokens: [Immediate(131072)] } Node { symbol: None, opcode: Segment, tokens: [Immediate(3193829041)] } Node { symbol: Some(Symbol { name: "_init", module: Resolved(10077013596335634097) }), opcode: Lli, tokens: [Immediate(8), Register(Bpr)] } Node { symbol: None, opcode: Lui, tokens: [Immediate(8), Register(Bpr)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Bpr), Register(Bpr), Immediate(0)] } Node { symbol: None, opcode: Mov, tokens: [Register(Bpr), Register(Spr)] } Node { symbol: None, opcode: Call, tokens: [Immediate(1404)] } Node { symbol: None, opcode: Call, tokens: [Immediate(1508)] } Node { symbol: None, opcode: Call, tokens: [Immediate(1232)] } Node { symbol: Some(Symbol { name: "main", module: Resolved(10077013596335634097) }), opcode: Lli, tokens: [Immediate(52), Register(Rg0)] } Node { symbol: None, opcode: Lui, tokens: [Immediate(52), Register(Rg0)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg0)] } Node { symbol: None, opcode: Call, tokens: [Immediate(1608)] } Node { symbol: None, opcode: Pop, tokens: [Register(Zero)] } Node { symbol: None, opcode: Hlt, tokens: [] } Node { symbol: None, opcode: Jmp, tokens: [Immediate(1200), Register(Zero)] } Node { symbol: None, opcode: Segment, tokens: [Immediate(138780093)] } Node { symbol: Some(Symbol { name: "serial_init", module: Resolved(12290222962602515901) }), opcode: Push, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Mov, tokens: [Register(Spr), Register(Bpr)] } Node { symbol: None, opcode: Lli, tokens: [Immediate(52), Register(Rg0)] } Node { symbol: None, opcode: Lui, tokens: [Immediate(52), Register(Rg0)] } Node { symbol: None, opcode: Lli, tokens: [Immediate(1080), Register(Acc)] } Node { symbol: None, opcode: Lui, tokens: [Immediate(1080), Register(Acc)] } Node { symbol: None, opcode: Stw, tokens: [Register(Rg0), Register(Acc), Immediate(0)] } Node { symbol: None, opcode: Lli, tokens: [Immediate(1084), Register(Acc)] } Node { symbol: None, opcode: Lui, tokens: [Immediate(1084), Register(Acc)] } Node { symbol: None, opcode: Stw, tokens: [Register(Rg0), Register(Acc), Immediate(0)] } Node { symbol: None, opcode: Mov, tokens: [Register(Bpr), Register(Spr)] } Node { symbol: None, opcode: Pop, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Ret, tokens: [] } Node { symbol: Some(Symbol { name: "serial_isr", module: Resolved(12290222962602515901) }), opcode: Push, tokens: [Register(Rg0)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg1)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg2)] } Node { symbol: None, opcode: Lli, tokens: [Immediate(48), Register(Rg0)] } Node { symbol: None, opcode: Lui, tokens: [Immediate(48), Register(Rg0)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Rg0), Register(Rg0), Immediate(0)] } Node { symbol: None, opcode: Ldb, tokens: [Register(Rg0), Register(Rg1), Immediate(2)] } Node { symbol: None, opcode: Jez, tokens: [Register(Rg1), Immediate(1384), Register(Zero)] } Node { symbol: None, opcode: Ldb, tokens: [Register(Rg0), Register(Rg1), Immediate(3)] } Node { symbol: None, opcode: Stb, tokens: [Register(Zero), Register(Rg0), Immediate(2)] } Node { symbol: None, opcode: Lli, tokens: [Immediate(1084), Register(Rg2)] } Node { symbol: None, opcode: Lui, tokens: [Immediate(1084), Register(Rg2)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Rg2), Register(Rg2), Immediate(0)] } Node { symbol: None, opcode: Stb, tokens: [Register(Rg1), Register(Rg2), Immediate(0)] } Node { symbol: None, opcode: AddI, tokens: [Register(Rg2), Immediate(1), Register(Rg2)] } Node { symbol: None, opcode: Lli, tokens: [Immediate(52), Register(Rg0)] } Node { symbol: None, opcode: Lui, tokens: [Immediate(52), Register(Rg0)] } Node { symbol: None, opcode: AddI, tokens: [Register(Rg0), Immediate(1024), Register(Rg1)] } Node { symbol: None, opcode: Ine, tokens: [Register(Rg1), Register(Rg2), Register(Rg1)] } Node { symbol: None, opcode: Jnz, tokens: [Register(Rg1), Immediate(1372), Register(Zero)] } Node { symbol: None, opcode: Lli, tokens: [Immediate(52), Register(Rg2)] } Node { symbol: None, opcode: Lui, tokens: [Immediate(52), Register(Rg2)] } Node { symbol: Some(Symbol { name: "_serial_isr_nowrap", module: Resolved(12290222962602515901) }), opcode: Lli, tokens: [Immediate(1084), Register(Acc)] } Node { symbol: None, opcode: Lui, tokens: [Immediate(1084), Register(Acc)] } Node { symbol: None, opcode: Stw, tokens: [Register(Rg2), Register(Acc), Immediate(0)] } Node { symbol: Some(Symbol { name: "_serial_isr_end", module: Resolved(12290222962602515901) }), opcode: Pop, tokens: [Register(Rg2)] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg1)] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg0)] } Node { symbol: None, opcode: IRet, tokens: [] } Node { symbol: None, opcode: Segment, tokens: [Immediate(78745181)] } Node { symbol: Some(Symbol { name: "setup_base", module: Resolved(2519286859380657757) }), opcode: Push, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Mov, tokens: [Register(Spr), Register(Bpr)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg0)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg1)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg2)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg3)] } Node { symbol: None, opcode: Lli, tokens: [Immediate(1088), Register(Idr)] } Node { symbol: None, opcode: Lui, tokens: [Immediate(1088), Register(Idr)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Idr), Register(Idr), Immediate(0)] } Node { symbol: None, opcode: Lli, tokens: [Immediate(1576), Register(Rg1)] } Node { symbol: None, opcode: Lui, tokens: [Immediate(1576), Register(Rg1)] } Node { symbol: None, opcode: AddI, tokens: [Register(Idr), Immediate(1024), Register(Rg2)] } Node { symbol: Some(Symbol { name: "_loop_start", module: Resolved(2519286859380657757) }), opcode: Stw, tokens: [Register(Rg1), Register(Rg2), Immediate(0)] } Node { symbol: None, opcode: SubI, tokens: [Register(Rg2), Immediate(4), Register(Rg2)] } Node { symbol: None, opcode: Ieq, tokens: [Register(Rg2), Register(Idr), Register(Rg3)] } Node { symbol: None, opcode: Jez, tokens: [Register(Rg3), Immediate(1452), Register(Zero)] } Node { symbol: None, opcode: Lli, tokens: [Immediate(1548), Register(Rg0)] } Node { symbol: None, opcode: Lui, tokens: [Immediate(1548), Register(Rg0)] } Node { symbol: None, opcode: Stw, tokens: [Register(Rg0), Register(Idr), Immediate(0)] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg3)] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg2)] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg1)] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg0)] } Node { symbol: None, opcode: Mov, tokens: [Register(Bpr), Register(Spr)] } Node { symbol: None, opcode: Pop, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Ret, tokens: [] } Node { symbol: Some(Symbol { name: "setup_io", module: Resolved(2519286859380657757) }), opcode: Push, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Mov, tokens: [Register(Spr), Register(Bpr)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg0)] } Node { symbol: None, opcode: Lli, tokens: [Immediate(1284), Register(Rg0)] } Node { symbol: None, opcode: Lui, tokens: [Immediate(1284), Register(Rg0)] } Node { symbol: None, opcode: Stw, tokens: [Register(Rg0), Register(Idr), Immediate(128)] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg0)] } Node { symbol: None, opcode: Mov, tokens: [Register(Bpr), Register(Spr)] } Node { symbol: None, opcode: Pop, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Ret, tokens: [] } Node { symbol: Some(Symbol { name: "_handle_invalid_interrupt", module: Resolved(2519286859380657757) }), opcode: Call, tokens: [Immediate(1984)] } Node { symbol: None, opcode: Lli, tokens: [Immediate(1092), Register(Rg0)] } Node { symbol: None, opcode: Lui, tokens: [Immediate(1092), Register(Rg0)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg0)] } Node { symbol: None, opcode: Call, tokens: [Immediate(1608)] } Node { symbol: None, opcode: Pop, tokens: [Register(Zero)] } Node { symbol: None, opcode: Hlt, tokens: [] } Node { symbol: Some(Symbol { name: "_guard", module: Resolved(2519286859380657757) }), opcode: Call, tokens: [Immediate(1984)] } Node { symbol: None, opcode: Lli, tokens: [Immediate(1120), Register(Rg0)] } Node { symbol: None, opcode: Lui, tokens: [Immediate(1120), Register(Rg0)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg0)] } Node { symbol: None, opcode: Call, tokens: [Immediate(1608)] } Node { symbol: None, opcode: Pop, tokens: [Register(Zero)] } Node { symbol: None, opcode: Hlt, tokens: [] } Node { symbol: None, opcode: Segment, tokens: [Immediate(1648034676)] } Node { symbol: Some(Symbol { name: "print", module: Resolved(11993558320162734964) }), opcode: Push, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Mov, tokens: [Register(Spr), Register(Bpr)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg0)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg1)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg2)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg3)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Bpr), Register(Rg0), Immediate(8)] } Node { symbol: None, opcode: Lli, tokens: [Immediate(1164), Register(Rg1)] } Node { symbol: None, opcode: Lui, tokens: [Immediate(1164), Register(Rg1)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Rg1), Register(Rg1), Immediate(0)] } Node { symbol: Some(Symbol { name: "_print_loop", module: Resolved(11993558320162734964) }), opcode: Ldb, tokens: [Register(Rg0), Register(Rg2), Immediate(0)] } Node { symbol: None, opcode: Ieq, tokens: [Register(Rg2), Register(Zero), Register(Rg3)] } Node { symbol: None, opcode: Jnz, tokens: [Register(Rg3), Immediate(1676), Register(Zero)] } Node { symbol: None, opcode: Stb, tokens: [Register(Rg2), Register(Rg1), Immediate(0)] } Node { symbol: None, opcode: AddI, tokens: [Register(Rg0), Immediate(1), Register(Rg0)] } Node { symbol: None, opcode: AddI, tokens: [Register(Rg1), Immediate(1), Register(Rg1)] } Node { symbol: None, opcode: Jmp, tokens: [Immediate(1648), Register(Zero)] } Node { symbol: Some(Symbol { name: "_print_end", module: Resolved(11993558320162734964) }), opcode: Lli, tokens: [Immediate(1164), Register(Acc)] } Node { symbol: None, opcode: Lui, tokens: [Immediate(1164), Register(Acc)] } Node { symbol: None, opcode: Stw, tokens: [Register(Rg1), Register(Acc), Immediate(0)] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg3)] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg2)] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg1)] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg0)] } Node { symbol: None, opcode: Mov, tokens: [Register(Bpr), Register(Spr)] } Node { symbol: None, opcode: Pop, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Ret, tokens: [] } Node { symbol: Some(Symbol { name: "print_byte", module: Resolved(11993558320162734964) }), opcode: Push, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Mov, tokens: [Register(Spr), Register(Bpr)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg0)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg1)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Bpr), Register(Rg0), Immediate(8)] } Node { symbol: None, opcode: Lli, tokens: [Immediate(1164), Register(Rg1)] } Node { symbol: None, opcode: Lui, tokens: [Immediate(1164), Register(Rg1)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Rg1), Register(Rg1), Immediate(0)] } Node { symbol: None, opcode: Stb, tokens: [Register(Rg0), Register(Rg1), Immediate(0)] } Node { symbol: None, opcode: AddI, tokens: [Register(Rg1), Immediate(1), Register(Rg1)] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg1)] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg0)] } Node { symbol: None, opcode: Jmp, tokens: [Immediate(2056), Register(Zero)] } Node { symbol: Some(Symbol { name: "print_hex_byte", module: Resolved(11993558320162734964) }), opcode: Push, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Mov, tokens: [Register(Spr), Register(Bpr)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Bpr), Register(Rg0), Immediate(8)] } Node { symbol: None, opcode: Lli, tokens: [Immediate(1164), Register(Rg1)] } Node { symbol: None, opcode: Lui, tokens: [Immediate(1164), Register(Rg1)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Rg1), Register(Rg1), Immediate(0)] } Node { symbol: None, opcode: Call, tokens: [Immediate(1800)] } Node { symbol: None, opcode: Jmp, tokens: [Immediate(2056), Register(Zero)] } Node { symbol: Some(Symbol { name: "_print_hex_byte", module: Resolved(11993558320162734964) }), opcode: Lli, tokens: [Immediate(15), Register(Rg2)] } Node { symbol: None, opcode: Push, tokens: [Register(Rg0)] } Node { symbol: None, opcode: Shr, tokens: [Register(Rg0), Register(Zero), Immediate(4), Register(Rg0)] } Node { symbol: None, opcode: And, tokens: [Register(Rg0), Register(Rg2), Register(Rg0)] } Node { symbol: None, opcode: Call, tokens: [Immediate(1836)] } Node { symbol: None, opcode: Pop, tokens: [Register(Rg0)] } Node { symbol: None, opcode: And, tokens: [Register(Rg0), Register(Rg2), Register(Rg0)] } Node { symbol: None, opcode: Call, tokens: [Immediate(1836)] } Node { symbol: None, opcode: Ret, tokens: [] } Node { symbol: Some(Symbol { name: "_print_hex_nibble", module: Resolved(11993558320162734964) }), opcode: Lli, tokens: [Immediate(10), Register(Rg3)] } Node { symbol: None, opcode: Ilt, tokens: [Register(Rg0), Register(Rg3), Register(Rg4)] } Node { symbol: None, opcode: Jnz, tokens: [Register(Rg4), Immediate(1864), Register(Zero)] } Node { symbol: None, opcode: AddI, tokens: [Register(Rg0), Immediate(55), Register(Rg0)] } Node { symbol: None, opcode: Stb, tokens: [Register(Rg0), Register(Rg1), Immediate(0)] } Node { symbol: None, opcode: AddI, tokens: [Register(Rg1), Immediate(1), Register(Rg1)] } Node { symbol: None, opcode: Ret, tokens: [] } Node { symbol: Some(Symbol { name: "_print_hex_nibble_number", module: Resolved(11993558320162734964) }), opcode: AddI, tokens: [Register(Rg0), Immediate(48), Register(Rg0)] } Node { symbol: None, opcode: Stb, tokens: [Register(Rg0), Register(Rg1), Immediate(0)] } Node { symbol: None, opcode: AddI, tokens: [Register(Rg1), Immediate(1), Register(Rg1)] } Node { symbol: None, opcode: Ret, tokens: [] } Node { symbol: Some(Symbol { name: "print_whitespace", module: Resolved(11993558320162734964) }), opcode: Push, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Mov, tokens: [Register(Spr), Register(Bpr)] } Node { symbol: None, opcode: Lli, tokens: [Immediate(1164), Register(Rg1)] } Node { symbol: None, opcode: Lui, tokens: [Immediate(1164), Register(Rg1)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Rg1), Register(Rg1), Immediate(0)] } Node { symbol: None, opcode: Lli, tokens: [Immediate(32), Register(Rg0)] } Node { symbol: None, opcode: Stb, tokens: [Register(Rg0), Register(Rg1), Immediate(0)] } Node { symbol: None, opcode: AddI, tokens: [Register(Rg1), Immediate(1), Register(Rg1)] } Node { symbol: None, opcode: Jmp, tokens: [Immediate(2056), Register(Zero)] } Node { symbol: Some(Symbol { name: "newline", module: Resolved(11993558320162734964) }), opcode: Push, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Mov, tokens: [Register(Spr), Register(Bpr)] } Node { symbol: None, opcode: Lli, tokens: [Immediate(1160), Register(Rg0)] } Node { symbol: None, opcode: Lui, tokens: [Immediate(1160), Register(Rg0)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Rg0), Register(Rg0), Immediate(0)] } Node { symbol: None, opcode: Lli, tokens: [Immediate(1164), Register(Rg1)] } Node { symbol: None, opcode: Lui, tokens: [Immediate(1164), Register(Rg1)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Rg1), Register(Rg1), Immediate(0)] } Node { symbol: None, opcode: Sub, tokens: [Register(Rg1), Register(Rg0), Register(Rg2)] } Node { symbol: None, opcode: Lli, tokens: [Immediate(80), Register(Rg3)] } Node { symbol: Some(Symbol { name: "_newline_mod", module: Resolved(11993558320162734964) }), opcode: Ilt, tokens: [Register(Rg2), Register(Rg3), Register(Rg4)] } Node { symbol: None, opcode: Jnz, tokens: [Register(Rg4), Immediate(1972), Register(Zero)] } Node { symbol: None, opcode: Sub, tokens: [Register(Rg2), Register(Rg3), Register(Rg2)] } Node { symbol: None, opcode: Jmp, tokens: [Immediate(1956), Register(Zero)] } Node { symbol: Some(Symbol { name: "_newline_done", module: Resolved(11993558320162734964) }), opcode: Sub, tokens: [Register(Rg1), Register(Rg2), Register(Rg1)] } Node { symbol: None, opcode: AddI, tokens: [Register(Rg1), Immediate(80), Register(Rg1)] } Node { symbol: None, opcode: Jmp, tokens: [Immediate(2056), Register(Zero)] } Node { symbol: Some(Symbol { name: "reset", module: Resolved(11993558320162734964) }), opcode: Push, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Mov, tokens: [Register(Spr), Register(Bpr)] } Node { symbol: None, opcode: Lli, tokens: [Immediate(1160), Register(Rg1)] } Node { symbol: None, opcode: Lui, tokens: [Immediate(1160), Register(Rg1)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Rg1), Register(Rg1), Immediate(0)] } Node { symbol: None, opcode: Jmp, tokens: [Immediate(2056), Register(Zero)] } Node { symbol: Some(Symbol { name: "clear", module: Resolved(11993558320162734964) }), opcode: Push, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Mov, tokens: [Register(Spr), Register(Bpr)] } Node { symbol: None, opcode: Lli, tokens: [Immediate(500), Register(Rg0)] } Node { symbol: None, opcode: Lli, tokens: [Immediate(1160), Register(Rg1)] } Node { symbol: None, opcode: Lui, tokens: [Immediate(1160), Register(Rg1)] } Node { symbol: None, opcode: Ldw, tokens: [Register(Rg1), Register(Rg1), Immediate(0)] } Node { symbol: Some(Symbol { name: "_clear_loop", module: Resolved(11993558320162734964) }), opcode: SubI, tokens: [Register(Rg0), Immediate(1), Register(Rg0)] } Node { symbol: None, opcode: Stw, tokens: [Register(Zero), Register(Rg1), Immediate(0)] } Node { symbol: None, opcode: AddI, tokens: [Register(Rg1), Immediate(4), Register(Rg1)] } Node { symbol: None, opcode: Igt, tokens: [Register(Rg0), Register(Zero), Register(Rg4)] } Node { symbol: None, opcode: Jnz, tokens: [Register(Rg4), Immediate(2032), Register(Zero)] } Node { symbol: None, opcode: Jmp, tokens: [Immediate(2056), Register(Zero)] } Node { symbol: Some(Symbol { name: "_end", module: Resolved(11993558320162734964) }), opcode: Lli, tokens: [Immediate(1164), Register(Acc)] } Node { symbol: None, opcode: Lui, tokens: [Immediate(1164), Register(Acc)] } Node { symbol: None, opcode: Stw, tokens: [Register(Rg1), Register(Acc), Immediate(0)] } Node { symbol: None, opcode: Mov, tokens: [Register(Bpr), Register(Spr)] } Node { symbol: None, opcode: Pop, tokens: [Register(Bpr)] } Node { symbol: None, opcode: Ret, tokens: [] } INFO: Assembly Successful ✅ Compilation Successful