mirror of
https://github.com/nathanriggs/AppleIIAsm-Collection.git
synced 2024-06-08 16:29:35 +00:00
00ed4c7146
This is a preliminary update to all disks in the library, along with documentation up to the hires collection. This is simply to make sure the library is backed up; the complete rewrite of the library will be coming after the speaker routines are finished along with the rest of the documentation.
1.9 KiB
1.9 KiB
Disk #7: Conversion
The Conversion Collection contains macros and subroutines for converting between different data types. This currently includes macros for converting a:
- numeric value to an integer string
- integer string to a numeric value
- numeric value to a hexadecimal string
- hexadecimal string to a numeric value
- numeric value to a binary string
- binary string to a numeric value
In future revisions, other conversions will include:
- string type conversions (preceding length byte, null-terminated, etc.)
- string to array
- array to string
Note that some of these subroutines are redundant due to the fact that some conversions are already available in the ROM. However, for the sake of understanding how these conversions work, they are provided here if for nothing more than illustration.
MACRO | DEPENDENCY | PARAMETERS | ACTION | DESTROYS | CYCLES | BYTES |
---|---|---|---|---|---|---|
I2STR |
SUB.HEX2INTASC.ASM | ]1 = Value to convert or address | Convert numeric value to integer string | NZCV | 290 | 172 |
STR2I |
SUB.INTASC2HEX.ASM | ]1 = String address | Convert integer string to numeric value | NZCV | 415 | 196 |
H2STR |
SUB.HEX2HEXASC.ASM | ]1 = Value to convert or address | Convert numeric value to hexadecimal string | NZCV | 97 | 59 |
STR2H |
SUB.HEXASC2HEX.ASM | ]1 = String address | Convert hexadecimal string to numeric value | NZCV | 116 | 71 |
B2STR |
SUB.HEX2BINASC.ASM | ]1 = Value to convert or address | Convert numeric value to binary string | NZCV | 262 | 167 |
STR2B |
SUB.BINASC2HEX.ASM | ]1 = String address | Convert binary string to numeric value | NZCV | 501 | 331 |