rendered paste body/************ INCLUDES ******************************************/
.NOLIST
.INCLUDE "..\\include\\ascii.i"
.INCLUDE "..\\include\\jstring.i"
.LIST
/************ CONSTANT DATA *************************************/
.TEXT 1
TestMsg1:
.ASCIZ "This assignment"
TestMsg2:
.ASCIZ "is rediculous"
/************* VARIABLE DATA ************************************/
.DATA
Buffer:
.SPACE 15,0
/************* PROCESS INSTRUCTIONS *****************************/
.TEXT 0
.GLOBAL Driver
Driver:
PEA TestMsg1
PEA TestMsg2
MOVE.B Buffer, -(sp) | Push Buffer
JSR StrCpy
ADD.L #8,SP
JSR PrintMsg
RTS
StrCpy:
MOVEM.L A2/D1-D2,-(SP) | Push to stack
LINK A6,#-10 | Frame pointer
/************* STACK DETAILS ************************************/
SP + 26 = Address of first string
SP + 22 = Address of second string
SP + 20 = Buffer size
SP + 16 = JSR [Address]
SP + 12 =
SP + 8 =
SP + 4 =
SP + 0 = longword for a6
SP - 4 = longword string 1 address
SP - 8 = longword string 2 address
SP - 10 = word for buffer-size
*****************************************************************/