PJRC.COM Offline Archive, February 07, 2004
Visit this page on the live site

skip navigational linksPJRC
Shopping Cart Checkout Shipping Cost Download Website
Home MP3 Player 8051 Tools All Projects PJRC Store Site Map
You are here: 8051 Tools PAULMON Monitor Manual Extra Commands Search PJRC

PJRC Store
8051 Dev Board, $79
LCD 20x2 Display, $11
Serial Cable, $5
12 Volt Power, $8
More Components...
8051 Tools
Main Page
Software
PAULMON Monitor
Development Board
Code Library
89C2051 Programmer
Other Resources

Extras Package Commands For PAULMON2

Versions of PAULMON2 which are intended for systems with at least 8k of EPROM space (e.g. the 87C52 chip) are built with an "extras" package which includes three additional commands. Versions which fit into only 4k of EPROM (e.g. the 87C51 chip) do not contain these extra commands.
L - List
This command disassembles data from memory to show the code with mnunonics and operands. For example:
PAULMON2 (beta7) Loc:0000 >  List

0000: 02 08 F1      LJMP    08F1
0003: 02 20 03      LJMP    2003
0006: 74 20         MOV     A, #20
0008: 11 6A         ACALL   006A
000A: 22            RET     
000B: 02 20 0B      LJMP    200B
000E: 74 2D         MOV     A, #2D
0010: 11 6A         ACALL   006A
0012: 22            RET     
0013: 02 20 13      LJMP    2013
0016: 02 0A BD      LJMP    0ABD
0019: FF            MOV     R7, A
001A: FF            MOV     R7, A
001B: 02 20 1B      LJMP    201B
001E: FF            MOV     R7, A
001F: FF            MOV     R7, A
0020: FF            MOV     R7, A
0021: FF            MOV     R7, A
0022: FF            MOV     R7, A
0023: 02 20 23      LJMP    2023
Here PAULMON2 shows the actual instructions in its own code. As expected, at location 0003 (an interrupt vector), there is a LJMP instruction to 2003.

S - Single-Step
This command will attempt to run a program in single-step mode. For more information, see the section about single-step.

E - Memory Editor
This command replaces the simple E command which is built into the main PAULMON2 program with a much nicer version. VT100 terminal emulation is required, because this memory editor require cursor positioning control. When run with a VT100 terminal, it should appear like this:
CODE        8051 External Memory Editor, Paul Stoffregen, 1996
ADDR: +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F   ASCII EQUIVILANT
------------------------------------------------------------------------
0000: 02 08 F1 02 20 03 74 20 11 6A 22 02 20 0B 74 2D     q   t  j"   t-
0010: 11 6A 22 02 20 13 02 0A BD FF FF 02 20 1B FF FF    j"     =       
0020: FF FF FF 02 20 23 02 09 F5 FF FF 02 20 2B 21 6E        #  u    +!n
0030: 01 6A 01 62 21 5D 21 7F 21 8C 01 7F 01 C3 01 26    j b!]! !    C &
0040: 01 16 02 09 76 02 0A E3 01 72 02 0A D0 02 0A 06       v  c r  P   
0050: 02 0A 0C 02 0A 4A 02 08 B3 02 08 79 02 08 1B 02        J  3  y    
0060: 07 F1 30 98 FD C2 98 E5 99 22 30 99 FD C2 99 F5    q0 }B e "0 }B u
0070: 99 22 C0 E0 74 0D 11 6A 74 0A 11 6A D0 E0 22 C2    "@`t  jt  jP`"B
0080: D5 11 62 11 16 B4 1B 03 D3 E4 22 B4 0D 05 D2 D5   U b  4  Sd"4  RU
0090: C3 E4 22 FA 31 3F 40 E9 CA 11 6A 11 62 11 16 B4   Cd"z1?@iJ j b  4
00A0: 1B 02 80 E4 B4 0D 03 EA C3 22 B4 08 04 11 6A 80      d4  jC"4   j 
00B0: D0 B4 15 02 80 F7 FB 31 3F 40 E0 CB 11 6A EA C4   P4   w{1?@`K jjD
00C0: 4B C3 22 7A 00 7B 00 7C 04 C2 D5 11 62 11 16 B4   KC"z { | BU b  4
00D0: 1B 07 D3 E4 F5 83 F5 82 22 B4 08 02 80 03 B4 7F     Sdu u "4    4 
00E0: 0C BC 04 02 80 E5 11 6A 31 2E 0C 80 DE B4 0D 10    <   e j1.  ^4  
00F0: 8B 83 8A 82 BC 04 07 E4 F5 83 F5 82 D2 D5 C3 22       <  du u RUC"
------------------------------------------------------------------------
^A=ASCII  ^X=Hex  ^F=Fill  ^G=Goto  ^C=Code  ^D=Data  ^L=Redraw  ^Q=Quit
The memory editor has the following commands:

CTRL-E - Enable/Disable Editing Mode
When in editing mode, typing ordinary characters (without CTRL) will cause the memory to be edited, so by default editing is disabled until CTRL-E is typed. When editing is disabled, the bottom line will not display the ^A=ASCII  ^X=Hex  ^F=Fill and instead will show only ^E-Edit. The screen display always reflects the actual contents of memory (CODE or DATA), so attempting to edit READ-ONLY memory will have no effect, even if editing is enabled.

CTRL-A - Select ASCII Editing Mode
In the ASCII editing mode, and text typed will be written directly into memory starting at the cursor's current position. The word "ASCII" will be highlighed to remind you that ASCII entry is selected.

CTRL-X - Select HEX Editing Mode
In the HEX editing mode, data may be entered as HEX numbers, which will be written into memory starting at the cursor's current position. The word "HEX" will be highlighed to remind you that HEX entry is selected.

CTRL-F - Fill a block of memory
This command fills a block of memory with a particular byte. Prompts will appear asking for the first and last memory locations, and the byte to write. Pressing ESC will abort. Of course, this command is only available if editing is enabled.

CTRL-G - Goto a new memory location
This command allow you to move to another place in memory. A prompt will appear to ask for the new location.

CTRL-C - Display as CODE (MOVC) memory
Force the editor to display memory by reading with as CODE memory. The editor will make all reads using MOVC, which ulitimatly uses the PSEN signal to enable reading memory. The current read setting is shown in the upper left corner of the screen. Even when in CODE memory display mode, all write attempts are preformed with MOVX, because there is no instruction which can write to CODE memory. Editing is not disabled when CODE memory is selected.

CTRL-D - Display as DATA (MOVX) memory
Force the editor to display memory by reading with as DATA memory. The editor will make all reads using MOVX, which ulitimatly uses the RD signal to enable reading memory. The current read setting is shown in the upper left corner of the screen.

CTRL-L - Redraw Screen
Completely redraw the screen... useful with programs that have poor VT100 terminal emulation, or slow PCs with a 16450 or 8250 UART where characters are sometimes lost.

CTRL-Q (or ESC): Quit
Quit the memory editor and return the PAULMON2.

PAULMON2 Documentation, Paul Stoffregen
http://www.pjrc.com/tech/8051/pm2_docs/extras.html
Last updated: November 28, 2003
Status: Finished
Suggestions, comments, bug reports??? <paul@pjrc.com>