关于各种s的问题
以下是部分程序代码
assume cs:code,ds:data,ss:stack
data segment
dw 0123H,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
data ends
stack segment
dw 0,2,0,0,0,0,0,0
stack ends
code segment
start: mov ax,stack
;mov ds:[0],2
mov ss,ax
mov sp,16
以下是debug 后使用各种命令查看的结果
-r
AX=0000 BX=0000 CX=0042 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=0B44 ES=0B44 SS=0B54 CS=0B56 IP=0000 NV UP EI PL NZ NA PO NC
0B56:0000 B8550B MOV AX,0B55
-d ds:0 1f
0B44:0000 CD 20 FF 9F 00 9A F0 FE-1D F0 4F 03 5C 05 8A 03 . ........O.\...
0B44:0010 5C 05 17 03 5C 05 4B 05-01 01 01 00 02 FF FF FF \...\.K.........
-d 0b54:0 1f
0B54:0000 23 01 56 04 89 07 BC 0A-EF 0D ED 0F BA 0C 87 09 #.V.............
0B54:0010 00 00 02 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
-u cs:0 f
0B56:0000 B8550B MOV AX,0B55
0B56:0003 8ED0 MOV SS,AX
0B56:0005 BC1000 MOV SP,0010
0B56:0008 B8540B MOV AX,0B54
0B56:000B 8ED8 MOV DS,AX
0B56:000D FF360000 PUSH [0000]
-
我初学汇编,有些概念错误,以下是我的观点,请高人指点
1、 ds:0 (0B44:0) 开始处应该是存放的数据,为什么它是从0B54:0出开始
2、 (ds)+10h=0B54 从这里 0B54:0 处应该是程序指令代码,即现在0B56:0处的指令
3、0B56:0之前到0B54:1f 这里面是什么?