/************ 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 *****************************************************************/