.SBTTL . DISPLAY CONTENTS OF LOCATION OR REGISTER ; ; ; .MACRO DUMP COMMENT,VALUE,?A,?B,?C,?D,?E ; .IIF EQ LST$$ .LIST BR E ;BYPASS COMMENT STORE AREA ; A: .WORD C-B B: .BYTE 12,15 ;CR LF .ASCII COMMENT .BYTE 40,40,40 ;THREE SPACES C: .EVEN D: .WORD 3 ;THREE CHARACTER .BYTE 40,40,40 ;THREE SPACES .EVEN ; E: MOV R0,-(SP) ;SAVE R0 MOV R1,-(SP) ;SAVE R1 MOV VALUE,R1 ;HOLD VALUE MOV #A,R0 ;HOLD ADDRESS OF MESSAGE STRING CALL V$TX ;DISPLAY MESSAGE MOV R1,R0 ;HOLD MONITOR VALUE CALL R$BDEC ;CONVERT BINARY VALUE TO CHAR STRING CALL V$TX ;DISPLAY VALUE MOV #D,R0 ;HOLD SPACE STRING SEPERATOR CALL V$TX ;DISPLAY CHARS MOV R1,R0 ;HOLD MONITOR VALUE CALL R$BOCT ;CONVERT BINARY VALUE TO OCTAL STRING CALL V$TX ;OUTPUT CHARS MOV (SP)+,R1 ;RESTORE R1 MOV (SP)+,R0 ;RESTORE R0 .IIF EQ LST$$ .NLIST ; .ENDM DUMP ; ; ; ; ; .PAGE .SBTTL DEBUG MACRO ; ; .MACRO DEBUG COMMENT, ERRLAB, LEVEL,?K,?W,?X,?Y,?Z ; .NARG NARG ;DEFAULT SETTING OF LEVEL ; .IF DF DEBUG ;IF DEBUGGER NOT DEFINED GLUE UP NOW .IF EQ DEBUG & 100000 ;IS DEBUGGER STOP BIT SET ; ; .IFNB LEVEL ;IS THIS A CONDITON DEBUG SET NARG=DEBUG&7-LEVEL ;HOLD FIDDLED DEBUG LEVEL .ENDC ;END OF FIDDLE KRUNCH ; .IF GE NARG ;IS TEST LEVEL ACCEPTABLE ; ; THIS LINE HAS BEEN INTENTONALLY LEFT BLANK ; .IF B ERRLAB ;IF BLANK COMMENT ONLY TYPE IFSUCCESS K ;BYPASS COMMENT IF SUCCESS OPERATONS .ENDC ;B STOPPER ; ;ONE MORE GIANT STEP FOR MANKIND ;ONE MORE BUG FOR MACRO .IF EQ DEBUG&40000 ;COMPILE IF COMMENT CHOP DISABLED .IIF EQ LST$$ .LIST BR Z ;BYPASS STRING W: .WORD Y-X ;HOLD STRING LENGTH X: .ASCII COMMENT Y: .EVEN ; ;WE ARE NOW NESTED 5 DEEP Z: MOV R0,-(SP) ;SAVE R0 MOV #W,R0 ;HOLD STRING ADDRESS CALL V$TX ;DISPLAY STRING MOV (SP)+,R0 ;RESTORE R0 .IIF EQ LST$$ .NLIST .ENDC ;I WONDER I WILL EVER GET MORE? ; ; .IF B ERRLAB ;COMPILE ONLY IF ERRLAB ENTERED .EMIT .ENDC ;OR ODD ADDRESS TRAP 4 ; ; ; ; .EMITL ; ; ; ; ; .ENDC ;END OF LEVEL KRUNCH STOPPER .ENDC ;END OF DEBUGGER STOP BIT CONDITONAL .ENDC ;DEFINED DEBUGGER STOP EXIT .ENDM DEBUG ;SOMEHOW I SEEM TO HAVE FINISHED! ; ; ; ; ; .END ; ; ;