问题:查看在汇编程序中的数据段中存储的内容时,为什么内容是在SS段中查看到的?原理是什么?
怀疑的原因可能是:DS只是汇编语言识别的,机器语言并不执行,机器语言只根据CS:IP决定运行到哪儿,但是为什么程序会把它装到SS段中呢?
如果描述不清 根据这个程序说明:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;程序部分
DATAS SEGMENT
DB 'SS&DS'
DATAS ENDS
STACKS SEGMENT
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
MOV AH,4CH
INT 21H
CODES ENDS
END START
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;调试结果
-R
AX=0000 BX=0000 CX=0019 DX=0000 SP=0000 BP=0000 SI=0000 DI=0000
DS=144E ES=144E SS=145E CS=145F IP=0000 NV UP EI PL NZ NA PO NC
145F:0000 B85E14 MOV AX,145E
-D DS:0
144E:0000 CD 20 FF 9F 00 9A F0 FE-1D F0 4F 03 3A 0E 8A 03 . ........O.:...
144E:0010 3A 0E 17 03 3A 0E 29 0E-01 01 01 00 02 FF FF FF :...:.).........
144E:0020 FF FF FF FF FF FF FF FF-FF FF FF FF E7 13 4C 01 ..............L.
144E:0030 FA 12 14 00 18 00 4E 14-FF FF FF FF 00 00 00 00 ......N.........
144E:0040 05 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
144E:0050 CD 21 CB 00 00 00 00 00-00 00 00 00 00 20 20 20 .!...........
144E:0060 20 20 20 20 20 20 20 20-00 00 00 00 00 20 20 20 .....
144E:0070 20 20 20 20 20 20 20 20-00 00 00 00 00 00 00 00 ........
-D SS:0
145E:0000 53 53 26 44 53 00 00 00-00 00 00 00 00 00 00 00 SS&DS...........
145E:0010 B8 5E 14 8E D8 B4 4C CD-21 00 00 00 00 00 00 00 .^....L.!.......
145E:0020 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
145E:0030 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
145E:0040 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
145E:0050 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
145E:0060 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
145E:0070 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................
-
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;疑问部分:查看DS中的内容,为什么在SS中查看
;完毕
请回答 谢谢 不胜感激 |