sm:
pop hl
.db 1 ; ld bc,
-
-dispatch_l5m1: ; pc in de
+dispatch_l5: ; tos in hl, pc in de
ex de,hl
-dispatch_l5: ; pc in hl
pop de
-dispatch_l6: ; tos in de, pc in hl, b clobbered
- ld b,>esc
-dispatch_l7: ; tos in de, pc in hl, b = >esc
+dispatch_l6: ; tos in de, pc in hl
rst 0x28 ; print hl
- ld c,(hl)
- inc hl
- rst 0x10 ; ex bc,hl
+ ld c,l
+ ld b,h
+ inc bc
+ ld l,(hl)
+ ld h,>esc
rst 0x28 ; print hl
rst 0x30 ; print stack
jp (hl)
jmp_i: ; same as imm_w, jmp
rst 8 ; ld hl,(bc)+
- jr dispatch_l7
+ jr dispatch_l6
jz_i: ; same as imm_w, jz
rst 8 ; ld hl,(bc)+
ld a,l
or h
jr nz,dispatch_mm1
- jr dispatch_l5m1
+ jr dispatch_l5
jnz_i: ; same as imm_w, jnz
rst 8 ; ld hl,(bc)+
ld a,l
or h
jr z,dispatch_mm1
- jr dispatch_l5m1
-
-;jmp_x: ; same as xchg_w, jmp
-; pop hl
-; jr dispatch_l6
+ jr dispatch_l5
xchg_w:
pop hl