请教一个汇编初始化字符串问题

巴顿 发布于 2013/06/16 22:18
阅读 372
收藏 0

最近在看王爽的汇编语言

里面有个将字符串初始化到内存中,然后通过-d指令去查看的例子

我照着敲了一遍,如下

assume cs:codesg,ds:datasg
datasg segment
	db 'BaSic'
	db 'iNfOrMaTiOn'
datasg ends
codesg segment
	start:
	codesg ends
end start
然后在cmd上运行查看如下


G:\masm>debug test.exe
-r
AX=0000  BX=0000  CX=0010  DX=0000  SP=0000  BP=0000  SI=0000  DI=0000
DS=0BD2  ES=0BD2  SS=0BE2  CS=0BE3  IP=0000   NV UP EI PL NZ NA PO NC
0BE3:0000 5E            POP     SI
-d 0bd2:0
0BD2:0000  CD 20 FF 9F 00 9A F0 FE-1D F0 4F 03 C1 05 8A 03   . ........O.....
0BD2:0010  C1 05 17 03 C1 05 B0 05-01 01 01 00 02 FF FF FF   ................
0BD2:0020  FF FF FF FF FF FF FF FF-FF FF FF FF 6E 0B 4C 01   ............n.L.
0BD2:0030  81 0A 14 00 18 00 D2 0B-FF FF FF FF 00 00 00 00   ................
0BD2:0040  05 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
0BD2:0050  CD 21 CB 00 00 00 00 00-00 00 00 00 00 20 20 20   .!...........
0BD2:0060  20 20 20 20 20 20 20 20-00 00 00 00 00 20 20 20           .....
0BD2:0070  20 20 20 20 20 20 20 20-00 00 00 00 00 00 00 00           ........

没看到字符串被载入。

这是神马原因呢?

加载中
0
divl
divl

codesg segment 

    start:

mov ax,datasg

mov ds,ax

mov es,ax 

  codesg ends 
end start

把数据段基址载入段寄存器

0
巴顿
巴顿
刚刚自己解决这个问题了,一直以为assume就可以指定自定义的段和系统段的关系了,才知道还要将地址给过去的。
返回顶部
顶部