#!perl # $Id$ use warnings; use strict; use CPU::Z80::Assembler; $CPU::Z80::Assembler::verbose = 1 if $ENV{DEBUG}; use Test::More tests => 3; ok my $bin1 = z80asm(' MACRO MUL8x8 target, r1, r2 { ; takes three reg parms, multiplies r1 PUSH HL ; and r2 with result into target PUSH AF PUSH BC PUSH DE LD B, r1 LD E, r2 LD HL, 0 LD D, 0 mulloop ADD HL, DE DJNZ mulloop LD (mulstore), HL JR mulexit mulstore DEFW 0 mulexit POP DE POP BC POP AF POP HL LD target, (mulstore) } MUL8x8 HL, C, E '), "macro"; ok my $bin2 = z80asm(' PUSH HL PUSH AF PUSH BC PUSH DE LD B, C LD E, E LD HL, 0 LD D, 0 mulloop ADD HL, DE DJNZ mulloop LD (mulstore), HL JR mulexit mulstore DEFW 0 mulexit POP DE POP BC POP AF POP HL LD HL, (mulstore) '), "expanded macro"; is $bin1, $bin2, "macro expansion OK";