diff options
| author | Duncan Smith | 2010-11-12 22:34:36 -0800 |
|---|---|---|
| committer | Duncan Smith | 2010-11-12 22:34:36 -0800 |
| commit | dd0e4224c93c1b94b7b9fd06e9ab08105e19845f (patch) | |
| tree | 6912aebda42970c0e3130cc6d2f16c5353c79d57 | |
| parent | 2164cc7b99ab44b9efe03d5f4dc2392fc34791f3 (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 |
