ok those commands worked. trace-mem itself does not, and show ds does not, but show "DS" does.
here is another bochs dump, this time showing ds before and after lidt, and it also shows the results of trace-mem which at least to me indicate that memory is being written as it should, but it just wont stick, indicating that maybe there is something wrong in bochs. The instructions execute properly, they just do not seem to be copying any actual memory
Code: Select all
[CPU0 WR]: LIN 0x00000176 PHY 0x00000176 (len=2, pl=0): 0x0010
[CPU0 WR]: LIN 0x0000017c PHY 0x0000017c (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x0000017e PHY 0x0000017e (len=2, pl=0): 0x0012
[CPU0 WR]: LIN 0x00000184 PHY 0x00000184 (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x00000186 PHY 0x00000186 (len=2, pl=0): 0x0014
[CPU0 WR]: LIN 0x0000018c PHY 0x0000018c (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x0000018e PHY 0x0000018e (len=2, pl=0): 0x0016
[CPU0 WR]: LIN 0x00000194 PHY 0x00000194 (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x00000196 PHY 0x00000196 (len=2, pl=0): 0x0018
[CPU0 WR]: LIN 0x0000019c PHY 0x0000019c (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x0000019e PHY 0x0000019e (len=2, pl=0): 0x001A
[CPU0 WR]: LIN 0x000001a4 PHY 0x000001a4 (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x000001a6 PHY 0x000001a6 (len=2, pl=0): 0x001C
[CPU0 WR]: LIN 0x000001ac PHY 0x000001ac (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x000001ae PHY 0x000001ae (len=2, pl=0): 0x001E
[CPU0 WR]: LIN 0x000001b4 PHY 0x000001b4 (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x000001b6 PHY 0x000001b6 (len=2, pl=0): 0x0020
[CPU0 WR]: LIN 0x000001bc PHY 0x000001bc (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x000001be PHY 0x000001be (len=2, pl=0): 0x0022
[CPU0 WR]: LIN 0x000001c4 PHY 0x000001c4 (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x000001c6 PHY 0x000001c6 (len=2, pl=0): 0x0024
[CPU0 WR]: LIN 0x000001cc PHY 0x000001cc (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x000001ce PHY 0x000001ce (len=2, pl=0): 0x0026
[CPU0 WR]: LIN 0x000001d4 PHY 0x000001d4 (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x000001d6 PHY 0x000001d6 (len=2, pl=0): 0x0028
[CPU0 WR]: LIN 0x000001dc PHY 0x000001dc (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x000001de PHY 0x000001de (len=2, pl=0): 0x002A
[CPU0 WR]: LIN 0x000001e4 PHY 0x000001e4 (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x000001e6 PHY 0x000001e6 (len=2, pl=0): 0x002C
[CPU0 WR]: LIN 0x000001ec PHY 0x000001ec (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x000001ee PHY 0x000001ee (len=2, pl=0): 0x002E
[CPU0 WR]: LIN 0x000001f4 PHY 0x000001f4 (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x000001f6 PHY 0x000001f6 (len=2, pl=0): 0x0030
[CPU0 WR]: LIN 0x000001fc PHY 0x000001fc (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x000001fe PHY 0x000001fe (len=2, pl=0): 0x0032
[CPU0 WR]: LIN 0x00000204 PHY 0x00000204 (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x00000206 PHY 0x00000206 (len=2, pl=0): 0x0034
[CPU0 WR]: LIN 0x0000020c PHY 0x0000020c (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x0000020e PHY 0x0000020e (len=2, pl=0): 0x0036
[CPU0 WR]: LIN 0x00000214 PHY 0x00000214 (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x00000216 PHY 0x00000216 (len=2, pl=0): 0x0038
[CPU0 WR]: LIN 0x0000021c PHY 0x0000021c (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x0000021e PHY 0x0000021e (len=2, pl=0): 0x003A
[CPU0 WR]: LIN 0x00000224 PHY 0x00000224 (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x00000226 PHY 0x00000226 (len=2, pl=0): 0x003C
[CPU0 WR]: LIN 0x0000022c PHY 0x0000022c (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x0000022e PHY 0x0000022e (len=2, pl=0): 0x003E
[CPU0 WR]: LIN 0x00000234 PHY 0x00000234 (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x00000236 PHY 0x00000236 (len=2, pl=0): 0x0040
[CPU0 WR]: LIN 0x0000023c PHY 0x0000023c (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x0000023e PHY 0x0000023e (len=2, pl=0): 0x0042
[CPU0 WR]: LIN 0x00000244 PHY 0x00000244 (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x00000246 PHY 0x00000246 (len=2, pl=0): 0x0044
[CPU0 WR]: LIN 0x0000024c PHY 0x0000024c (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x0000024e PHY 0x0000024e (len=2, pl=0): 0x0046
[CPU0 WR]: LIN 0x00000254 PHY 0x00000254 (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x00000256 PHY 0x00000256 (len=2, pl=0): 0x0048
[CPU0 WR]: LIN 0x0000025c PHY 0x0000025c (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x0000025e PHY 0x0000025e (len=2, pl=0): 0x004A
[CPU0 WR]: LIN 0x00000264 PHY 0x00000264 (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x00000266 PHY 0x00000266 (len=2, pl=0): 0x004C
[CPU0 WR]: LIN 0x0000026c PHY 0x0000026c (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x0000026e PHY 0x0000026e (len=2, pl=0): 0x004E
[CPU0 WR]: LIN 0x00000274 PHY 0x00000274 (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x00000276 PHY 0x00000276 (len=2, pl=0): 0x0050
[CPU0 WR]: LIN 0x0000027c PHY 0x0000027c (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x0000027e PHY 0x0000027e (len=2, pl=0): 0x0052
[CPU0 WR]: LIN 0x00000284 PHY 0x00000284 (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x00000286 PHY 0x00000286 (len=2, pl=0): 0x0054
[CPU0 WR]: LIN 0x0000028c PHY 0x0000028c (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x0000028e PHY 0x0000028e (len=2, pl=0): 0x0056
[CPU0 WR]: LIN 0x00000294 PHY 0x00000294 (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x00000296 PHY 0x00000296 (len=2, pl=0): 0x0058
[CPU0 WR]: LIN 0x0000029c PHY 0x0000029c (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x0000029e PHY 0x0000029e (len=2, pl=0): 0x005A
[CPU0 WR]: LIN 0x000002a4 PHY 0x000002a4 (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x000002a6 PHY 0x000002a6 (len=2, pl=0): 0x005C
[CPU0 WR]: LIN 0x000002ac PHY 0x000002ac (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x000002ae PHY 0x000002ae (len=2, pl=0): 0x005E
[CPU0 WR]: LIN 0x000002b4 PHY 0x000002b4 (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x000002b6 PHY 0x000002b6 (len=2, pl=0): 0x0060
[CPU0 WR]: LIN 0x000002bc PHY 0x000002bc (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x000002be PHY 0x000002be (len=2, pl=0): 0x0062
[CPU0 WR]: LIN 0x000002c4 PHY 0x000002c4 (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x000002c6 PHY 0x000002c6 (len=2, pl=0): 0x0064
[CPU0 WR]: LIN 0x000002cc PHY 0x000002cc (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x000002ce PHY 0x000002ce (len=2, pl=0): 0x0066
[CPU0 WR]: LIN 0x000002d4 PHY 0x000002d4 (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x000002d6 PHY 0x000002d6 (len=2, pl=0): 0x0068
[CPU0 WR]: LIN 0x000002dc PHY 0x000002dc (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x000002de PHY 0x000002de (len=2, pl=0): 0x006A
[CPU0 WR]: LIN 0x000002e4 PHY 0x000002e4 (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x000002e6 PHY 0x000002e6 (len=2, pl=0): 0x006C
[CPU0 WR]: LIN 0x000002ec PHY 0x000002ec (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x000002ee PHY 0x000002ee (len=2, pl=0): 0x006E
[CPU0 WR]: LIN 0x000002f4 PHY 0x000002f4 (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x000002f6 PHY 0x000002f6 (len=2, pl=0): 0x0070
[CPU0 WR]: LIN 0x000002fc PHY 0x000002fc (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x000002fe PHY 0x000002fe (len=2, pl=0): 0x0072
[CPU0 WR]: LIN 0x00000304 PHY 0x00000304 (len=2, pl=0): 0x0000
[CPU0 WR]: LIN 0x00000107 PHY 0x00000107 (len=4, pl=0): 0x00000076
[CPU0 WR]: LIN 0x00000105 PHY 0x00000105 (len=2, pl=0): 0x0198
(0) Breakpoint 2, 0x00100612 in ?? ()
Next at t=171041923
(0) [0x00100612] 0008:00000612 (unk. ctxt): lidt ds:0x5 ; 0f011d05000000
<bochs:12> show "DS"
show param name: <DS>
DS =
selector = 0x10 (hex number)
base = 0x100 (hex number)
limit = 0xffff (hex number)
limit_scaled = 0xffff (hex number)
ar_byte = 0x93 (hex number)
granularity = false (boolean)
d_b = false (boolean)
avl = false (boolean)
<bochs:13> s
[CPU0 RD]: LIN 0x00000107 PHY 0x00000107 (len=4, pl=0): 0x00000076
[CPU0 RD]: LIN 0x00000105 PHY 0x00000105 (len=2, pl=0): 0x0198
Next at t=171041924
(0) [0x00100619] 0008:00000619 (unk. ctxt): mov al, 0x11 ; b011
<bochs:14> show "DS"
show param name: <DS>
DS =
selector = 0x10 (hex number)
base = 0x100 (hex number)
limit = 0xffff (hex number)
limit_scaled = 0xffff (hex number)
ar_byte = 0x93 (hex number)
granularity = false (boolean)
d_b = false (boolean)
avl = false (boolean)
Im probably wrong, but at this point all i can think is bochs is screwing up. My ds segment allows for writing.