注册 登录
编程论坛 汇编论坛

关于内存的问题

汇编之神 发布于 2008-07-19 18:10, 1310 次点击
小弟初学汇编  
有段程序
ASSUME CS:CODESG

CODESG SEGMENT
START:    MOV AX,0B800H
    MOV DS,AX
    MOV AL,41H
    MOV AH,11000010B
    MOV CX,6
    MOV BX,0

S:      MOV DS:[BX],AX
    ADD BX,2
    INC AX
        LOOP S

    MOV AX,4C00H
    INT 21H    
CODESG ENDS
END START
END

在windows的dos窗口中显示 abcdef

打开 debug  -d b800:0 查看内存信息  是abcdef的ascii马和状态

但是再打开另外一个ms-dos窗口(不关闭当前窗口) 输入 debug  -d b800:0 显示的就不是这些内容了呢?????

原来的窗口中的内容没有变

有谁可以帮我解释一下吗
6 回复
#2
你们都要疼我哦2008-07-19 20:54
16位的啊,不太会.
#3
汇编之神2008-07-20 10:47
那位大大帮个忙啊
#4
ONEPROBLEM2008-07-20 22:42
个人看法:
因为你现在使用的是虚拟的86模式。虚拟的86模式是在保护模式上运行的。而保护模式采用的是分页机制,所以,当你打开两个不同的MS—DOS窗口的时候,其实你看到的内存空间应该是不一样的。
这时候,我觉得我们都被操作系统给“骗”了。
#5
汇编之神2008-07-21 09:27
谢谢上面的大哥了...虽然小弟还是不怎么明白
#6
zklhp2008-07-22 15:19
[bo][un]汇编之神[/un] 在 2008-7-21 09:27 的发言:[/bo]

谢谢上面的大哥了...虽然小弟还是不怎么明白


说白了 两个msdos相当于两个不同的电脑

其实也可以改变设置  让他们在同一进程里的  不过貌似这样不稳定  微软不推荐
#7
lisatisfy2008-07-26 14:53
看不懂
1