aboutsummaryrefslogtreecommitdiff
path: root/procsizes.pl
diff options
context:
space:
mode:
authorB. Watson <yalhcru@gmail.com>2016-02-28 02:56:41 -0500
committerB. Watson <yalhcru@gmail.com>2016-02-28 02:56:41 -0500
commit8889d0f1bb00b3bb52afb92a1069112817ddbb81 (patch)
tree5200ddcb3d06cf87332b7f8117fbc147c642d317 /procsizes.pl
parent9d60dc2142964aa7cb0e18049170455036a7b1d1 (diff)
downloadtaipan-8889d0f1bb00b3bb52afb92a1069112817ddbb81.tar.gz
add procsizes target, rewrite get_item in asm, combine some functions, 7808 bytes free
Diffstat (limited to 'procsizes.pl')
-rw-r--r--procsizes.pl24
1 files changed, 24 insertions, 0 deletions
diff --git a/procsizes.pl b/procsizes.pl
new file mode 100644
index 0000000..287cf46
--- /dev/null
+++ b/procsizes.pl
@@ -0,0 +1,24 @@
+#!/usr/bin/perl -w
+
+open IN, "<taipan.lst" or die $!;
+
+while(<IN>) {
+ (/^([0-9A-F]{6})/) && (eval "\$addr = 0x$1");
+ if(/\.proc\s+_(\w+)/) {
+ $proc = $1;
+ $start{$proc} = $addr;
+ } elsif(/\.endproc/) {
+ $end{$proc} = $addr - 1;
+ $proc = "";
+ }
+}
+
+for(sort keys %start) {
+ $len{$_} = $end{$_} - $start{$_} + 1;
+}
+
+for(sort { $len{$a} <=> $len{$b} } keys %len) {
+ printf "% 32s % d\n", $_, $len{$_};
+ $total += $len{$_};
+}
+printf "% 32s % d\n", "Total:", $total;