# Print unsigned 16-bit 6502 assembly code to print an unsigned 16-bit. Features: * Highly optimized for space * No zero-page usage [version](print_uint16.s) 89 ($59) bytes * With zero-page usage [version](print_uint16_zp.s) 77 ($4D) bytes * With stack var usage [version](print_uint16_sp.s) 91 ($5B) bytes * Only 2 ROM entry points: COUT, SCRN2 * Includes 7 byte demo # Machine Code Copy/Paste into your favorite emulator. Sans-Zero-Page version: ```asm 0800:A9 12 A2 34 4C 07 08 8E 0808:5F 08 48 A2 00 8E 5C 08 0810:8E 5D 08 8E 5E 08 A2 10 0818:F8 0E 5F 08 68 2A 48 A0 0820:FD B9 5F 07 79 5F 07 99 0828:5F 07 C8 D0 F4 CA D0 E9 0830:68 D8 A0 03 B9 5B 08 20 0838:41 08 88 D0 F7 8A F0 0E 0840:60 48 20 7B F8 20 4B 08 0848:68 29 0F D0 01 CA E8 F0 0850:EF C9 0A 90 02 69 06 69 0858:B0 4C ED FD 00 00 00 00 ``` With-Zero-Page version: ```asm 0900:A9 12 A2 34 4C 07 09 86 0908:FC 48 A0 00 84 FD 84 FE 0910:84 FF A0 10 F8 06 FC 68 0918:2A 48 A2 FD B5 00 75 00 0920:95 00 E8 D0 F7 88 D0 ED 0928:68 D8 A0 03 B9 FC 00 20 0930:39 09 88 D0 F7 8A F0 0E 0938:60 48 20 7B F8 20 43 09 0940:68 29 0F D0 01 CA E8 F0 0948:EF C9 0A 90 02 69 06 69 0950:B0 4C ED FD ``` With-Stack-Page version: ```asm 0A00:A9 12 A2 34 4C 07 0A A0 0A08:00 48 DA 5A 5A 5A A0 10 0A10:F8 BA 8E 30 0A 1E 04 01 0A18:3E 05 01 20 3C 0A 20 3C 0A20:0A 20 3C 0A 88 D0 EA D8 0A28:BD 00 01 20 47 0A CA E0 0A30:00 D0 F5 8A 69 04 AA 9A 0A38:98 F0 19 60 BD 01 01 7D 0A40:01 01 9D 01 01 E8 60 48 0A48:20 7B F8 20 51 0A 68 29 0A50:0F D0 01 88 C8 F0 E4 C9 0A58:0A 90 02 69 06 69 B0 4C 0A60:ED FD ``` # License [WTFPL](http://www.wtfpl.net/) # Thanks * qkumba for great optimization ideas as always * Gids for a gentle nudge to have a zero-page version * Everyone on comp.sys.apple2 # References * [printm](https://github.com/Michaelangel007/apple2_printm) Apple Monitor: Print Integer? * https://groups.google.com/forum/m/#!topic/comp.sys.apple2/EQmJAuNz8Vg