User manual
Table Of Contents
- COVER
- TABLE OF CONTENTS
- CHAPTER 1 GENERAL INFORMATION
- CHAPTER 2 DEBUG MONITOR DESCRIPTION
- CHAPTER 3 DEBUG MONITOR COMMANDS
- CHAPTER 4 ASSEMBLER/DISASSEMBLER
- CHAPTER 5 SYSTEM CALLS
- CHAPTER 6 DIAGNOSTIC FIRMWARE GUIDE
- APPENDIX A S-RECORD INFORMATION
- APPENDIX B SELF-TEST ERROR MESSAGES
- APPENDIX C USER CUSTOMIZATION
- LIST OF FIGURES
- LIST OF TABLES
- Table 2-1. Debugger Address Parameter Format
- Table 2-2. CPU32Bug Exception Vectors
- Table 3-1. Debug Monitor Commands
- Table 4-1. CPU32Bug Assembler Addressing Modes
- Table 5-1. CPU32Bug System Call Routines
- Table 6-1. MCU CPU Diagnostic Tests
- Table 6-2. Memory Diagnostic Tests
- Table B-1. Self-Test Error Messages
- Table C-1. CPU32Bug Customization Area
- Table C-2. MCU SCI Communication Formats
- Table C-3. Rev. A Chip Selection Summary
- Table C-4. Rev. B Chip Selection Summary
- Table C-5. BCC Rev. C Chip Selection Summary
- Table C-6. PFB Rev. C Compatibility
- CHAPTER 1 GENERAL INFORMATION
- CHAPTER 2 DEBUG MONITOR DESCRIPTION
- CHAPTER 3 DEBUG MONITOR COMMANDS
- 3.1 INTRODUCTION
- 3.2 BLOCK OF MEMORY COMPARE
- 3.3 BLOCK OF MEMORY FILL
- 3.4 BLOCK OF MEMORY MOVE
- 3.5 BREAKPOINT INSERT/DELETE
- 3.6 BLOCK OF MEMORY SEARCH
- 3.7 BLOCK OF MEMORY VERIFY
- 3.8 DATA CONVERSION
- 3.9 DUMP S-RECORDS
- 3.10 GO DIRECT (IGNORE BREAKPOINTS)
- 3.11 GO TO NEXT INSTRUCTION
- 3.12 GO EXECUTE USER PROGRAM
- 3.13 GO TO TEMPORARY BREAKPOINT
- 3.14 HELP
- 3.15 LOAD S-RECORDS FROM HOST
- 3.16 MACRO DEFINE/DISPLAY/DELETE
- 3.17 MACRO EDIT
- 3.18 MACRO EXPANSION LISTING ENABLE/DISABLE
- 3.19 MEMORY DISPLAY
- 3.20 MEMORY MODIFY
- 3.21 MEMORY SET
- 3.22 OFFSET REGISTERS DISPLAY/MODIFY
- 3.23 PRINTER ATTACH/DETACH
- 3.24 PORT FORMAT
- 3.25 REGISTER DISPLAY
- 3.26 COLD/WARM RESET
- 3.27 REGISTER MODIFY
- 3.28 REGISTER SET
- 3.29 SWITCH DIRECTORIES
- 3.30 TRACE
- 3.31 TRACE ON CHANGE OF CONTROL FLOW
- 3.32 TRANSPARENT MODE
- 3.33 TRACE TO TEMPORARY BREAKPOINT
- 3.34 VERIFY S-RECORDS AGAINST MEMORY
- CHAPTER 4 ASSEMBLER/DISASSEMBLER
- CHAPTER 5 SYSTEM CALLS
- 5.1 INTRODUCTION
- 5.2 SYSTEM CALL ROUTINES
- 5.2.1 Calculate BCD Equivalent Specified Binary Number
- 5.2.2 Parse Value, Assign to Variable
- 5.2.3 Check for Break
- 5.2.4 Timer Delay Function
- 5.2.5 Unsigned 32 x 32 Bit Divide
- 5.2.6 Erase Line
- 5.2.7 Input Character Routine
- 5.2.8 Input Line Routine
- 5.2.9 Input Serial Port Status
- 5.2.10 Unsigned 32 x 32 Bit Multiply
- 5.2.11 Output Character Routine
- 5.2.12 Output String Using Pointers
- 5.2.13 Print Carriage Return and Line Feed
- 5.2.14 Read Line to Fixed-Length Buffer
- 5.2.15 Read String Into Variable-Length Buffer
- 5.2.16 Return to CPU32Bug
- 5.2.17 Send Break
- 5.2.18 Compare Two Strings
- 5.2.19 Timer Initialization
- 5.2.20 Read Timer
- 5.2.21 Start Timer at T=0
- 5.2.22 Output String with Data
- 5.2.23 Output String Using Character Count
- CHAPTER 6 DIAGNOSTIC FIRMWARE GUIDE
- 6.1 INTRODUCTION
- 6.2 DIAGNOSTIC MONITOR
- 6.2.1 Monitor Start-Up
- 6.2.2 Command Entry and Directories
- 6.2.3 Help (HE)
- 6.2.4 Self Test (ST)
- 6.2.5 Switch Directories (SD)
- 6.2.6 Loop-On-Error Mode (LE)
- 6.2.7 Stop-On-Error Mode (SE)
- 6.2.8 Loop-Continue Mode (LC)
- 6.2.9 Non-Verbose Mode (NV)
- 6.2.10 Display Error Counters (DE)
- 6.2.11 Clear (Zero) Error Counters (ZE)
- 6.2.12 Display Pass Count (DP)
- 6.2.13 Zero Pass Count (ZP)
- 6.3 UTILITIES
- 6.4 CPU TESTS FOR THE MCU
- 6.5 MEMORY TESTS (MT)
- 6.6 BUS ERROR TEST
- APPENDIX A S-RECORD INFORMATION
- APPENDIX B SELF-TEST ERROR MESSAGES
- APPENDIX C USER CUSTOMIZATION

ASSEMBLER/DISASSEMBLER
M68CPU32BUG/D 4-10
EXAMPLES DESCRIPTION
00010022 04D2 DC.W 1234 Decimal number
00010024 AAFE DC.W &AAFE Hexadecimal number
00010026 4142 DC.W ’AB’ ASCII String
00010028 5443 DC.W ’TB’+1 Expression
0001002A 0043 DC.W ’C’ ASCII character is right justified
4.2.4 System Call Directive (SYSCALL)
This directive aids the user in making the TRAP #15 calls to the system functions. The format for
this directive is:
SYSCALL <function name>
For example, the following two pieces of code produce identical results.
TRAP #$F
DC.W 0
or
SYSCALL .INCHR
The CPU32Bug input default is hexadecimal, while other assemblers default to decimal. When
programming a CPU32Bug assembler TRAP function it is best to use the SYSCALL directive
and let CPU32Bug make the conversion. Refer to Chapter 5 (SYSTEM CALLS), for a complete
listing of all the functions provided.
4.3 ENTERING AND MODIFYING SOURCE PROGRAM
User programs are entered into memory using the one-line assembler/disassembler. The program
is entered in assembly language statements on a line-by-line basis. The source code is not saved
as it is converted immediately upon entry into machine code. This imposes several restrictions on
the type of source line that can be entered.
Symbols and labels, other than the defined instruction mnemonics, are not allowed. The
assembler has no means of storing the associated values of the symbols and labels in look-up
tables. This forces the programmer to use memory addresses and to enter data directly rather than
use labels.
Also, editing is accomplished by retyping an entirely new source line. Add or delete lines by
moving a block of memory data to free up or delete the appropriate number of locations (refer to
the BM command).
ASSEMBLER/DISASSEMBLER
M68CPU32BUG/D 4-7
Table 4-1 summarizes the CPU32Bug one-line assembler addressing modes.
Table 4-1. CPU32Bug Assembler Addressing Modes
Format Description
Dn Data register direct
An Address register direct
(An) Address register indirect
(An)+ Address register indirect with post-increment
-(An) Address register indirect with pre-decrement
d(An) Address register indirect with displacement
d(An,Xi) Address register indirect with index, 8-bit displacement
(bd,An,Xi) Address register indirect with index, base displacement
ADDR(PC) Program counter indirect with displacement
ADDR(PC,Xi) Program counter indirect with index, 8-bit displacement
(ADDR,PC,Xi) Program counter indirect with index, base displacement
(xxxx).W Absolute word address
(xxxx).L Absolute long address
#xxxx Immediate data
The user may use an expression in any numeric field of these addressing modes. The assembler
has a built in expression evaluator that supports the following operand types and operators:
Binary numbers (%10 )
Octal numbers (@76543210)
Decimal numbers (&9876543210)
Hexadecimal numbers ($FEDCBA9876543210)
String literals (’CHAR’ )
Offset registers (R0-R7)
Program counter (*)
Fr
eescale S
emiconduct
or
, I
Freescale Semiconductor, Inc.
For More Information On This Product,
Go to: www.freescale.com
nc...