From: user Date: Tue, 15 Aug 2023 21:26:42 +0000 (-0500) Subject: Add more test bytecode and fix zero-flag bug X-Git-Url: https://git.the-white-hart.net/?a=commitdiff_plain;h=ad3207d6d97bc93be80fbb4e3cfc71a2ee89af4d;p=atmega%2Fsiggen.git Add more test bytecode and fix zero-flag bug --- diff --git a/asm_2/interp.asm b/asm_2/interp.asm index aac1514..b3e83de 100644 --- a/asm_2/interp.asm +++ b/asm_2/interp.asm @@ -126,9 +126,17 @@ entry: T_SHL V4, 3 T_SHRL V4, 3 T_MOVI V4, -4 + T_CMP V4, V3 + T_BLT good1 + T_JMP failure +good1: T_CMP V3, V4 T_BLT failure T_MOVI V0, 0xaaaaaaaa + T_CMP V4, V3 + T_BAE good2 + T_JMP failure +good2: T_CMP V3, V4 T_BAE failure T_MOVI V0, 0xbbbbbbbb @@ -139,8 +147,13 @@ entry: T_MOVI V1, 0xdddddddd T_STW V1, SP, 4 T_LDH V1, SP, 4 - T_MOVI VC, const + T_MOVI VC, (const<<1) T_LPW V2, VC, 0 + T_EXT ext_init + T_MOVS V0, 1 + T_DOUT V0, 2 + T_MOVS V0, 0 + T_DOUT V0, 2 T_JMP halt func: T_MOVI V0, 0xcccccccc @@ -150,6 +163,13 @@ failure: halt: T_JMP halt +ext_init: + movw ZL, r24 + ldi r25, 0x7f + out DDRB, r25 + out DDRC, r25 + ijmp + const: .dw 0xcafe, 0xbeef @@ -318,7 +338,7 @@ _dispatch_done_writeback_flags: or r25, r7 or r25, r8 or r25, r9 - breq _no_z + brne _no_z or r14, r24 _no_z: