3.3.9 Examining Data and Registers

DUMP
DU

Dump MIX registers and memory contents. The output format is described below.

DUMP MEMORY [from [to]]
DM [from [to]]

Dump MIX memory. When used without arguments, dumps entire address space. When used with one argument, dumps the memory contents starting from location from. When used with two arguments, dumps the contents of memory between the locations from and to, inclusive. Both locations are rounded to the nearest word boundary.

The output is formatted in blocks, each one containing 5 machine words. Each block is preceded by the location of its first word. Each word is printed in three forms, located in rows. The first row is the decimal value of the word, the second row is its representation in instruction format (TAOCP, 1.3.1, p.124, Instruction format), and the last one gives its printable representation. For example, the words ‘3000--3004’ of ‘hello.mix’ code look as follows:

 
3000 +0000787219621 +0000786695330 +0000000000133 
     +3003 00 18 37 +3001 00 18 34 +0000 00 02 05 
     '*d Q7'        '*b Q4'        '   BE'

     +0000135582544 +0000687973395
     +0517 13 13 16 +2624 26 16 19
     'HELLO'        ', WOR'
    

The above example is split in two groups due to printing restrictions.

If several blocks of memory contain the same data, only first of them is displayed, the rest being replaced by a message, similar to the following:

 
    Lines 3015 to 3995 are the same.
DUMP REGISTERS
DR

Dump contents of MIX registers. The following example illustrates the output format:

 
Registers A/X    +00000000000 +00041363636
                 +          0 +    8775582

Index Registers  +00000  +00000  +05670  +00000  +00000  +00000
                 +    0  +    0  + 3000  +    0  +    0  +    0

Jump Register    +00015     Overflow toggle:      OFF
                 +   13     Comparison Indicator: EQUAL

Clock = 262436 u. Location = 3001, M 3003, I 0, F 18, C 37,
inst = + 5673002245
DISASSEMBLE [from [to]]
UNASM [from [to]]
U [from [to]]

Dump a range of memory fromto as MIX instructions. If to is not given, disassemble first five words starting at from. If no arguments are given, disassemble first five words starting from the current instruction pointer:

 
MIX> disassemble 0
0       IN    16(16)
1       IN    29(16)
2       LD1   0(0:0)
3       JBUS  *(16)
4       LDA   30