From 9205d0be653102f6ced07660f0ee0731a7c7da16 Mon Sep 17 00:00:00 2001 From: "Markus F.X.J. Oberhumer" Date: Mon, 8 Jan 2001 17:06:04 +0000 Subject: [PATCH] New version. committer: mfx 978973564 +0000 --- src/stub/scripts/app_68k.pl | 37 +++++++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 10 deletions(-) diff --git a/src/stub/scripts/app_68k.pl b/src/stub/scripts/app_68k.pl index 88578166..bdc09c1f 100644 --- a/src/stub/scripts/app_68k.pl +++ b/src/stub/scripts/app_68k.pl @@ -87,6 +87,8 @@ $i = 0; # 2nd pass for $line (@lines) { + last if ($line =~ /^\s*end\b/i); + if ($line =~ /^\s+(b[\w\.]+|db[\w\.]+)\s+(\w*)/) { $label = $2; @@ -110,11 +112,15 @@ for $line (@lines) } } - $line = ";$line" if ($line =~ /^\s+align\b/); - $line = ";$line" if ($line =~ /^\s+even\b/); - $line = ";$line" if ($line =~ /^\s+end\b/); + $line = ";$line" if ($line =~ /^\s+align\b/i); + $line = ";$line" if ($line =~ /^\s+even\b/i); + + if ($line =~ /^;*\s+print_data\b/i) { + &print_data(); + } else { + print OU $line; + } - print OU $line; if ($line =~ /__([A-Z0-9]{8})__/) { print OU "S$1$ilabel:\n"; @@ -127,12 +133,23 @@ for $line (@lines) $i++; } -# print data section -print OU "\n\n\t\tsection_data\n"; -for $d (@data) { - print OU "\t\t$d\n"; -} -print OU "\t\tdc.b\t'UPX9'\n"; +&print_data(); print OU "\t\tend\n"; +exit(0); + + +# /*********************************************************************** +# // +# ************************************************************************/ + +sub print_data { + return if ($#data < 0); + ###print OU "\n\n\t\tsection_data\n"; + local ($d); + for $d (@data) { + print OU "\t\t$d\n"; + } + @data = (); +} # vi:ts=4:et