.globl T32_DataTrace_Data8 .globl T32_DataTrace_Data16 .globl T32_DataTrace_Data32 .globl T32_DataTrace_Write8 .globl T32_DataTrace_Write16 .globl T32_DataTrace_Write32 T32_DataTrace_Read8: mflr r0 # get return address mtctr r0 # save in CTR register clrrwi r0,r3,8 clrlwi r4,r4,24 or r4,r4,r0 # insert address bits in data value clrlwi. r0,r4,30 beq T32_DataTrace_Read8_D0 cmpwi r0,2 beq T32_DataTrace_Read8_D2 cmpwi r0,1 beq T32_DataTrace_Read8_D1 T32_DataTrace_Read8_D3: mtlr r4 # show data to trace b T32_DataTrace_Address T32_DataTrace_Read8_D2: mtlr r4 # show data to trace b T32_DataTrace_Address T32_DataTrace_Read8_D1: mtlr r4 # show data to trace b T32_DataTrace_Address T32_DataTrace_Read8_D0: mtlr r4 # show data to trace b T32_DataTrace_Address T32_DataTrace_Read16: mflr r0 # get return address mtctr r0 # save in CTR register clrrwi r0,r3,8 clrlwi r4,r4,24 or r4,r4,r0 # insert address bits in data value clrlwi. r0,r4,30 beq T32_DataTrace_Read16_D0 cmpwi r0,2 beq T32_DataTrace_Read16_D2 cmpwi r0,1 beq T32_DataTrace_Read16_D1 T32_DataTrace_Read16_D3: mtlr r4 # show data to trace b T32_DataTrace_Address T32_DataTrace_Read16_D2: mtlr r4 # show data to trace b T32_DataTrace_Address T32_DataTrace_Read16_D1: mtlr r4 # show data to trace b T32_DataTrace_Address T32_DataTrace_Read16_D0: mtlr r4 # show data to trace b T32_DataTrace_Address T32_DataTrace_Read32: mflr r0 # get return address mtctr r0 # save in CTR register clrlwi. r0,r4,30 beq T32_DataTrace_Read32_D0 cmpwi r0,2 beq T32_DataTrace_Read32_D2 cmpwi r0,1 beq T32_DataTrace_Read32_D1 T32_DataTrace_Read32_D3: mtlr r4 # show data to trace b T32_DataTrace_Address T32_DataTrace_Read32_D2: mtlr r4 # show data to trace b T32_DataTrace_Address T32_DataTrace_Read32_D1: mtlr r4 # show data to trace b T32_DataTrace_Address T32_DataTrace_Read32_D0: mtlr r4 # show data to trace b T32_DataTrace_Address T32_DataTrace_Write8: mflr r0 # get return address mtctr r0 # save in CTR register clrrwi r0,r3,8 clrlwi r4,r4,24 or r4,r4,r0 # insert address bits in data value clrlwi. r0,r4,30 beq T32_DataTrace_Write8_D0 cmpwi r0,2 beq T32_DataTrace_Write8_D2 cmpwi r0,1 beq T32_DataTrace_Write8_D1 T32_DataTrace_Write8_D3: mtlr r4 # show data to trace b T32_DataTrace_Address T32_DataTrace_Write8_D2: mtlr r4 # show data to trace b T32_DataTrace_Address T32_DataTrace_Write8_D1: mtlr r4 # show data to trace b T32_DataTrace_Address T32_DataTrace_Write8_D0: mtlr r4 # show data to trace b T32_DataTrace_Address T32_DataTrace_Write16: mflr r0 # get return address mtctr r0 # save in CTR register clrrwi r0,r3,8 clrlwi r4,r4,24 or r4,r4,r0 # insert address bits in data value clrlwi. r0,r4,30 beq T32_DataTrace_Write16_D0 cmpwi r0,2 beq T32_DataTrace_Write16_D2 cmpwi r0,1 beq T32_DataTrace_Write16_D1 T32_DataTrace_Write16_D3: mtlr r4 # show data to trace b T32_DataTrace_Address T32_DataTrace_Write16_D2: mtlr r4 # show data to trace b T32_DataTrace_Address T32_DataTrace_Write16_D1: mtlr r4 # show data to trace b T32_DataTrace_Address T32_DataTrace_Write16_D0: mtlr r4 # show data to trace b T32_DataTrace_Address T32_DataTrace_Write32: mflr r0 # get return address mtctr r0 # save in CTR register clrlwi. r0,r4,30 beq T32_DataTrace_Write32_D0 cmpwi r0,2 beq T32_DataTrace_Write32_D2 cmpwi r0,1 beq T32_DataTrace_Write32_D1 T32_DataTrace_Write32_D3: mtlr r4 # show data to trace b T32_DataTrace_Address T32_DataTrace_Write32_D2: mtlr r4 # show data to trace b T32_DataTrace_Address T32_DataTrace_Write32_D1: mtlr r4 # show data to trace b T32_DataTrace_Address T32_DataTrace_Write32_D0: mtlr r4 # show data to trace T32_DataTrace_Address: clrlwi. r0,r3,30 bne T32_DataTrace_Address1 T32_DataTrace_Address_A0: mtlr r3 # show address to trace bctr T32_DataTrace_Address1: cmpwi r0,2 bne T32_DataTrace_Address2 T32_DataTrace_Address_A2: mtlr r3 # show address to trace bctr T32_DataTrace_Address2: cmpwi r0,1 bne T32_DataTrace_Address_A3 T32_DataTrace_Address_A1: mtlr r3 # show address to trace bctr T32_DataTrace_Address_A3: mtlr r3 # show address to trace bctr