diff options
| author | Astrid Smith | 2010-11-12 22:34:36 -0800 |
|---|---|---|
| committer | Astrid Smith | 2010-11-12 22:34:36 -0800 |
| commit | fef8e437581e649d4bbc867d28f7e6ef98617bd4 (patch) | |
| tree | 3a74c5c7c1447fc0f71d7dc58b85d857b4f9efa7 | |
| parent | 7306a2d260594efefe5761fc617a4e2aba97c41f (diff) | |
Added support for local labels in opcodes
I tried to use A68k's local label support, but I believe it was
broken. Now I can use it, finally. :)
| -rw-r--r-- | opcodes.asm.m4 | 4 | ||||
| -rw-r--r-- | opcodes.inc.m4 | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/opcodes.asm.m4 b/opcodes.asm.m4 index 9f3a3fe..9e22715 100644 --- a/opcodes.asm.m4 +++ b/opcodes.asm.m4 @@ -332,14 +332,14 @@ OPCODE(10,` HOLD_INTS LOHI ebc subq.b #1,ebc - beq.s end_10 ; slooooow + beq.s local(end) ; slooooow FETCHBI d1 move.l epc,a0 bsr underef add.w d1,d0 ; ??? Can I avoid underef/deref cycle? bsr deref move.l a0,epc -end_10: +local(end): HILO ebc CONTINUE_INTS ') ;nok diff --git a/opcodes.inc.m4 b/opcodes.inc.m4 index d7343e8..cbaafb9 100644 --- a/opcodes.inc.m4 +++ b/opcodes.inc.m4 @@ -2,6 +2,10 @@ dnl # change the comments to match the assembler. Prevents/reduces dnl # confusion, since m4 likes to use ' as a quoting character. changecom(;)dnl define(`OPCODE',` START +dnl # This little bit of trickery lets me define a local label. +dnl # Calling local(end) inside of OPCODE(10, ...) will expand to +dnl # end_10, and is undefined everywhere else. +define(`local',$`'1_``$1'')dnl `emu_op_'$1`:' $2 TIME $3 |
