diff --git a/tools/bin2asm/icudata.c b/tools/bin2asm/icudata.c
new file mode 100644
index 0000000..ecd1b4b
--- /dev/null
+++ b/tools/bin2asm/icudata.c
@@ -0,0 +1,72 @@
+/*
+ * Convert a data file into a .S file suitable for assembly.
+ * This reads from stdin and writes to stdout and takes a single
+ * argument for the name of the symbol in the assembly file.
+ */
+
+#include <stdio.h>
+
+int main(int argc, char *argv[]) {
+    unsigned char buf[4096];
+    size_t amt;
+    size_t i;
+    int col = 0;
+    char *name;
+
+    if (argc != 2) {
+        fprintf(stderr, "usage: %s NAME < DAT_FILE > ASM_FILE\n", argv[0]);
+        for (i=0; i<argc; i++) {
+            fprintf(stderr, " '%s'", argv[i]);
+        }
+        fprintf(stderr, "\n");
+        return 1;
+    }
+    
+    name = argv[1];
+
+    printf("\
+#ifdef __APPLE_CC__\n\
+/*\n\
+ * The mid-2007 version of gcc that ships with Macs requires a\n\
+ * comma on the .section line, but the rest of the world thinks\n\
+ * that's a syntax error. It also wants globals to be explicitly\n\
+ * prefixed with \"_\" as opposed to modern gccs that do the\n\
+ * prefixing for you.\n\
+ */\n\
+.globl _%s\n\
+	.section .rodata,\n\
+	.align 8\n\
+_%s:\n\
+#else\n\
+.globl %s\n\
+	.section .rodata\n\
+	.align 8\n\
+%s:\n\
+#endif\n\
+", name, name, name, name);
+    
+    while (! feof(stdin)) {
+        amt = fread(buf, 1, sizeof(buf), stdin);
+        for (i = 0; i < amt; i++) {
+            if (col == 0) {
+                printf(".byte ");
+            }
+            printf("0x%02x", buf[i]);
+            col++;
+            if (col == 16) {
+                printf("\n");
+                col = 0;
+            } else if (col % 4 == 0) {
+                printf(", ");
+            } else {
+                printf(",");
+            }
+        }
+    }
+
+    if (col != 0) {
+        printf("\n");
+    }
+
+    return 0;
+}
