2021-06-05 21:40:51 -04:00

150 lines
4.2 KiB
NASM

*``````````````````````````````*
* MAC.CONVERT.ASM *
* *
* THIS COLLECTION HOLDS MACROS *
* USED FOR CONVERTING VARIABLE *
* TYPES. *
* *
* AUTHOR: NATHAN RIGGS *
* CONTACT: NATHAN.RIGGS@ *
* OUTLOOK.COM *
* *
* DATE: 05-JUN-2021 *
* ASSEMBLER: MERLIN 8 PRO *
* OS: DOS 3.3 *
* *
* SUBROUTINE FILES NEEDED *
* *
* SUB.BINASC2HEX *
* SUB.HEX2BINASC *
* SUB.HEX2HEXASC *
* SUB.HEX2INTASC *
* SUB.HEXASC2HEX *
* SUB.INTASC2HEX *
* *
* LIST OF MACROS *
* *
* I2STR: INTEGER TO STRING *
* STR2I: STRING TO INTEGER *
* H2STR: HEXADECIMAL TO STRING *
* STR2H: STRING TO HEXADECIMAL *
* B2STR: BINARY TO STRING *
* STR2B: STRING TO BINARY *
*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*
*
*``````````````````````````````*
* I2STR *
* *
* CONVERTS A 16BIT INTEGER TO *
* ITS STRING EQUIVALENT. *
* *
* PARAMETERS: *
* *
* ]1 = VALUE TO CONVERT *
* *
* CYCLES: 290+ *
* SIZE: 15 BYTES *
*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*
*
I2STR MAC
_MLIT ]1;ZPW1 ; {16C12B}
JSR HEX2INTASC ; {274C3B}
<<<
*
*``````````````````````````````*
* STR2I *
* *
* CONVERTS A STRING TO A 16BIT *
* NUMBER EQUIVALENT. *
* *
* PARAMETERS: *
* *
* ]1 = STRING OR ITS ADDRESS *
* *
* CYCLES: 415+ *
* SIZE: 15 BYTES *
*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*
*
STR2I MAC
_MSTR ]1;ZPW1 ; {16C12B}
JSR INTASC2HEX ; {399C3B}
<<<
*
*``````````````````````````````*
* H2STR *
* *
* CONVERTS A HEX BYTE INTO AN *
* EQUIVALENT STRING IN HEX. *
* *
* PARAMETERS: *
* *
* ]1 = HEX VALUE TO CONVERT *
* OR THE ADDRESS *
* *
* CYCLES: 97+ *
* SIZE: 6 BYTES *
*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*
*
H2STR MAC
LDA ]1 ; {4C3B}
JSR HEX2HEXASC ; {93C3B}
<<<
*
*``````````````````````````````*
* STR2H *
* *
* CONVERTS A HEX STRING TO ITS *
* EQUIVALENT HEX BYTE. *
* *
* PARAMETERS: *
* *
* ]1 = STRING OR ITS ADDRESS *
* *
* CYCLES: 116+ *
* SIZE: 15 BYTES *
*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*
*
STR2H MAC
_MSTR ]1;ZPW1 ; {16C12B}
JSR HEXASC2HEX ; {100C3B}
<<<
*
*``````````````````````````````*
* B2STR *
* *
* CONVERTS A HEX VALUE TO ITS *
* EQUIVALENT BINARY STRING. *
* *
* PARAMETERS: *
* *
* ]1 = HEX VALUE OR ADDRESS *
* *
* CYCLES: 262+ *
* SIZE: 8 BYTES *
*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*
*
B2STR MAC
LDA ]1 ; {4C3B}
STA ZPB1 ; {3C2B}
JSR HEX2BINASC ; {255C3B}
<<<
*
*``````````````````````````````*
* STR2B *
* *
* CONVERTS A BINARY STRING TO *
* EQUIVALENT HEX VALUE. *
* *
* PARAMETERS: *
* *
* ]1 = STRING OR ITS ADDRESS *
* *
* CYCLES: 501+ *
* SIZE: 15 BYTES *
*,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*
*
STR2B MAC
_MSTR ]1;ZPW1 ; {16C12B}
JSR BINASC2HEX ; {485C3B}
<<<