INtime SDK Help
d (SDM)

Displays either the contents of a specified block of memory (first syntax) or the contents of a descriptor table (second syntax).

[count] d [data-type] [source-address] [,]
[count] d table-type [(expression)[.component]]

Parameters

count
The number of command repetitions, in decimal. Each successive repetition is performed on successive items. For descriptor tables, count specifies how many table entries to display, beginning at a specific entry. In this case, expression is a required parameter. For example, 5dgdt (40t) displays 5 entries from the GDT beginning at entry number 40.

If you don't specify count, the default is to display a screen full of entries until you type Q to quit. You can increment the display one screen at a time by typing <Space>, or one line at a time by typing <CR>.

data-type
The format type for displaying the block of memory. The data types and display formats are:
Enter this data type To specify this display format
H Halfword (16 bits, hex)
W Word (32 bits, hex)
I Word integer (16 bits, hex & decimal)
LI Long integer (64 bits, hex & decimal)
LR Long real (64 bits, hex & decimal)
SI Short integer (32 bits, hex & decimal)
SR Short real (32 bits, hex & decimal)
T Binary coded decimal (10 bytes)
TR Temporary real (10 bytes)
X Disassembled instruction

If you omit this parameter, the block of memory is displayed in both byte and ASCII characters. Refer to previous sections in this chapter for more detailed information about data types.

source-address
The address in memory to display.
, (comma)
A comma at the end of the command line displays the block of memory you specified and a dash (-) prompt. Entering another comma displays the next block of memory that is equal in size to the one you specified in the original command. SDM then issues another dash and waits for you to enter another comma, or to terminate the command by entering a carriage return.

Note: You cannot use continuation commas when you are displaying descriptor tables.

table-type
The type of descriptor table you want SDM to display. The table types and the descriptor tables they reference are as follows:
Enter this data type To specify this display format
DT Generic descriptor table. If you use this table type, include an "(expression)" parameter.
GDT Global descriptor table.
IDT Interrupt descriptor table.
LDT Local descriptor table.

If you specify only the table type, SDM displays the entire table.

(expression)
An expression enclosed in parentheses that references the descriptor table entry to display.

If DT is your table-type, use a segment register mnemonic (for example, CS) or selector enclosed in parentheses to designate the entry in the descriptor table to display. SDM uses the selector to decide which descriptor table you are referencing. Therefore, when you are debugging an application and you know the selector, you can examine the entry in the corresponding descriptor table without knowing whether it is a local or global descriptor table.

If GDT, LDT, or IDT is your table type, use sequential entry numbers with a T suffix to specify the table entry.

.component
Component name of the descriptor table entry to display. Include a period (.) before the component name so SDM can recognize the name.

The following lists the descriptor components and the descriptor types that apply to each component:

Component Definition Descriptor Type
.base segment base dseg16, dseg32, eseg16, eseg32, tss286, dtable
.limit segment limit dseg16, dseg32, eseg16, eseg32, tss286, dtable
.wcnt word count callg286, callg386
.ssel segment selector callg286, callg386, trapg286, trapg386, intg286, intg386, taskg, tss286
.soff segment offset callg286, callg386, trapg286, trapg386, intg286, intg386
.dpl descriptor privilege level dseg 16, dseg32, eseg16, eseg32, callg286, callg386, trapg286, trapg386, intg286, intg386, taskg, tss286, tss386, dtable
.ed expand down dseg16, dseg32
.w writable dseg16, dseg32
.a accessed dseg16, dseg32, eseg16, eseg32
.c conforming eseg16, eseg32
.r readable eseg16, eseg32
.p present eseg16, eseg32
.b big dseg32
.g granularity dseg32, eseg32

This lists and describes the descriptor types. SDM uses these abbreviations when it displays the descriptor types.

Descriptor type 32-bit descriptor 16-bit descriptor
Data segment dseg32 dseg16
Executable segment eseg32 eseg16
Call gate callg386 callg286
Trap gate trapg386 trapg286
Interrupt gate intg386 intg286
Task gate taskg
Task state segment tss386 tss286
Descriptor table dtable
See also
Descriptor types, Programmer's Reference Manual for your microprocessor.

Examples

  1. For example, to display fourteen disassembled instructions at the CS:EIP, enter:
    ..14dx
    

    The display is similar to:

    0F00:0000012A 55          PUSH    BP
    0F00:0000012B 8BEC              MOV     BP, SP
    0F00:0000012D 8BF5              MOV     SI, BP
    0F00:0000012F 83C608    ADD     SI, 8
    0F00:00000132 CDB8              INT     0B8H
    0F00:00000134 85C9              TEST    CX,CX
    0F00:00000136 7403              JZ      A = 013BH       [destination offset of 
    0F00:00000138 E82700    CALL    A = 0162H       [near jump and call
    0F00:0000013B C45E04    LES     BX,[BP+04H]
    0F00:0000013E 26890F    MOVES:[BX],CX
    0F00:00000141 5D                POP     BP
    0F00:00000142 C20600    RET     6
    0F00:00000145 C8                ??                      [invalid opcode
    

    The comments preceded by brackets ([) are not part of the display; they are included to help you understand the display.

  2. To display five-word integers at DS:0, enter:
    ..5di
    

    The display is similar to:

    1000:00000000     1ABDH   6845    0929H   2345
    1000:00000004   FFFFH   -1      FBB6H   -1098
    1000:00000008   115CH   4444
    
  3. To display the fourth entry in the global descriptor table, enter:
    ..dgdt(4t)
    

    The display is similar to:

    GDT (4T) ESEG32  BASE=00FFC240 LIMIT=36BB P=1 DPL=0 A=1 C=0 R=1 G=0
    
  4. To display the descriptor table entry which corresponds to the selector in the DS register, enter:
    ..ddt(ds)
    

    The display is similar to:

    LDT (5T) DSEG32  BASE=00000140 LIMIT=03FF P=1 DPL=0 ED=0 W=1 A=1 G=0
    

See Also

Debugging tools, System Debug Monitor (SDM)