summaryrefslogtreecommitdiff
path: root/jpg/conv3
diff options
context:
space:
mode:
Diffstat (limited to 'jpg/conv3')
-rwxr-xr-xjpg/conv341
1 files changed, 41 insertions, 0 deletions
diff --git a/jpg/conv3 b/jpg/conv3
new file mode 100755
index 0000000..43e4422
--- /dev/null
+++ b/jpg/conv3
@@ -0,0 +1,41 @@
+#! /usr/bin/perl
+
+@f = (<>);
+
+$ofs = 0;
+
+for (@f) {
+ if(/^(\S*):/) {
+ $symbol = $1;
+ next;
+ }
+
+ if(/^\s*\.space\s+(\d+),\s*(\d+)/) {
+ $symbol{$symbol} = $ofs;
+ $ofs += $1;
+ undef $_;
+ }
+}
+
+
+for (@f) {
+ if(/^(\S*):/) {
+ $symbol = $1;
+
+ if(defined $symbol{$symbol}) {
+ undef $_;
+
+ if(!$datasize) {
+ $datasize = 1;
+ $size = "\t\tjpg_data_size\tequ $ofs\n";
+ }
+
+ $_ = "\t.equ\t$symbol, $symbol{$symbol}\n"
+ }
+ next;
+ }
+}
+
+print @f;
+
+print STDERR $size;