apple2_print_uint16/README.md

85 lines
1.8 KiB
Markdown
Raw Permalink Normal View History

2017-07-05 23:44:21 +00:00
# Print unsigned 16-bit
2017-07-06 23:16:05 +00:00
6502 assembly code to print an unsigned 16-bit in decimal -- 3 versions to pick from.
2017-07-05 23:44:21 +00:00
2017-07-06 03:29:04 +00:00
Features:
2017-07-05 23:57:33 +00:00
2017-07-06 14:58:22 +00:00
* Highly optimized for space
2017-07-06 23:16:05 +00:00
* [Sans zero-page usage](print_uint16_sans_zp.s) 79 ($4F) bytes
* [With zero-page usage](print_uint16_with_zp.s) 67 ($43) bytes
* [With stack var usage](print_uint16_with_sp.s) 83 ($53) bytes
2017-07-06 22:41:49 +00:00
* Only 2 ROM entry points used: PRHEXZ, SCRN2
2017-07-06 00:00:07 +00:00
* Includes 7 byte demo
2017-07-05 23:58:26 +00:00
2017-07-05 23:45:22 +00:00
# Machine Code
2017-07-05 23:57:33 +00:00
Copy/Paste into your favorite emulator.
2017-07-06 14:58:22 +00:00
Sans-Zero-Page version:
2017-07-05 23:46:01 +00:00
```asm
2017-07-05 23:45:22 +00:00
0800:A9 12 A2 34 4C 07 08 8E
2017-07-06 22:41:49 +00:00
0808:55 08 A2 00 8E 52 08 8E
0810:53 08 8E 54 08 A2 10 F8
0818:0E 55 08 2A 48 A0 FD B9
0820:55 07 79 55 07 99 55 07
0828:C8 D0 F4 68 CA D0 E9 D8
0830:A0 03 B9 51 08 20 3F 08
0838:88 D0 F7 8A F0 0E 60 48
0840:20 7B F8 20 49 08 68 29
0848:0F D0 01 CA E8 F0 EF 4C
0850:E5 FD 00 00 00 00
2017-07-05 23:46:01 +00:00
```
2017-07-05 23:45:22 +00:00
2017-07-06 14:58:22 +00:00
With-Zero-Page version:
```asm
0900:A9 12 A2 34 4C 07 09 86
2017-07-06 22:54:01 +00:00
0908:FC A0 00 84 FD 84 FE 84
0910:FF A0 10 F8 06 FC 2A 48
0918:A2 FD B5 00 75 00 95 00
0920:E8 D0 F7 68 88 D0 ED D8
0928:A0 03 B9 FC 00 20 37 09
0930:88 D0 F7 8A F0 0E 60 48
0938:20 7B F8 20 41 09 68 29
0940:0F D0 01 CA E8 F0 EF 4C
0948:E5 FD
2017-07-06 14:58:22 +00:00
```
2017-07-05 23:57:33 +00:00
2017-07-06 19:43:29 +00:00
With-Stack-Page version:
```asm
2017-07-06 20:04:23 +00:00
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
2017-07-06 22:08:39 +00:00
0A38:98 F0 19 60 BD 01 01 7D
2017-07-06 20:04:23 +00:00
0A40:01 01 9D 01 01 E8 60 48
0A48:20 7B F8 20 51 0A 68 29
2017-07-06 22:28:28 +00:00
0A50:0F D0 01 88 C8 F0 E4 4C
0A58:E5 FD
2017-07-06 19:43:29 +00:00
```
2017-07-05 23:47:13 +00:00
# License
[WTFPL](http://www.wtfpl.net/)
2017-07-05 23:57:33 +00:00
2017-07-06 00:01:04 +00:00
# Thanks
2017-07-05 23:57:33 +00:00
* qkumba for great optimization ideas as always
2017-07-06 19:45:49 +00:00
* Gids for a gentle nudge to have a zero-page version
2017-07-06 00:01:04 +00:00
* Everyone on comp.sys.apple2
2017-07-05 23:57:33 +00:00
2017-07-05 23:44:21 +00:00
# References
2017-07-05 23:47:13 +00:00
* [printm](https://github.com/Michaelangel007/apple2_printm)
2017-07-05 23:44:21 +00:00
Apple Monitor: Print Integer?
* https://groups.google.com/forum/m/#!topic/comp.sys.apple2/EQmJAuNz8Vg