未解的疑惑
本帖最后由 s0512 于 2013-5-22 12:22 编辑代码如下:
assume cs:code,ds:data
data segment
db 'BaSic'
db 'INfoRMatION'
data ends
code segment
xf: mov ax,data
mov ds,ax ; 程序执行到这里就已经为定义的数据开辟好空间(应该是加载入内存就有了数据)后面只要指向就好!!!
mov bx,0
mov cx,5
s:mov al,ds:
and al,11011111B ;转为大写
mov ds:,al
inc bx
loop s
mov bx,5
mov cx,11
s1: mov al,ds:
or al,00100000b ;转为小写
mov ds:,al
inc bx
loop s1
mov ax,4c00H
int 21h
code ends
end xf
进入DEBUG模式:
R命令查看寄存器的信息,
D CS:0 查看内存的值
为什么我在DS中定义的数据会在CS中查看到(还没有执行或单步执行)???
虽然段是自己定义的但还是不能给自己一个合理的解释.......
楼主,我把你的代码copy了一下,跑了一下,我这边没有出现你说的情况呢,截图如下:
好像自己在调试一遍疑惑就没有了是!还是THANKS 熊文杰 发表于 2013-5-22 01:16 static/image/common/back.gif
楼主,我把你的代码copy了一下,跑了一下,我这边没有出现你说的情况呢,截图如下:
定义的数据在接着PSP后面的开始处!!!!
页:
[1]