#!perl # $Id$ use warnings; use strict; use CPU::Z80::Assembler; # $CPU::Z80::Assembler::verbose =1; use Test::More tests => 7; is z80asm(' ORG 0x1234 start JP start '), "\xC3\x34\x12", "ORG as first instruction"; is z80asm(' ; hello ORG 0x1234 start JP start '), "\xC3\x34\x12", "ORG after comment"; is z80asm(' NOP ORG 1 start JP start '), "\x00\xC3\x01\x00", "ORG after some code"; is z80asm(' ORG 3 NOP ORG 4 start JP start '), "\x00\xC3\x04\x00", "two contiguous ORGs"; $CPU::Z80::Assembler::fill_byte = 0xFF; is z80asm(' ORG 3 NOP ORG 5 start JP start '), "\x00\xFF\xC3\x05\x00", "two non-contiguous ORGs"; $CPU::Z80::Assembler::fill_byte = 0x1F; is z80asm(' ORG 2 NOP ORG 5 start JP start '), "\x00\x1F\x1F\xC3\x05\x00", "two non-contiguous ORGs"; eval { z80asm(' ORG 0x10 DEFB 0x30, 0x31, 0x32, 0x33, 0x34 ORG 0x11 DEFB 0x35, 0x36, 0x37, 0x38, 0x39 ') }; is $@, "-(5) : error: segments overlap, previous ends at 0x0015, next starts at 0x0011\n", "segment overlap";