鱼C论坛

 找回密码
 立即注册
查看: 2379|回复: 11

大侠版主快来帮我除魔。。【实验5】

[复制链接]
发表于 2013-8-6 04:02:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 老人与狗^ 于 2013-8-6 04:06 编辑

QQ截图20130806035928.png QQ截图20130806035943.png

这两个图片中我有很大的疑问,从而导致我的学习无法向下继续,请各位大神替我除魔。。。

DB1,2,3,4,5,6,7,8

DW 0123H,0456H

这两段分别指的什么意思。

他们貌似最后是在存到哪个地方了。请问这个地方我并没有指定。他放到哪里了。“最疑惑的问题就是这行了。”
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-8-6 04:11:00 | 显示全部楼层
好吧自己的沙发自己坐。

这两个图第一个图我还是不懂,第二个图我倒是看懂了。

请大家帮我解答第一个图中的内容把。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-6 07:32:05 | 显示全部楼层
存内存里啊。

具体的我也不清楚,不过db是8位(00000000)的数据,dw是16位(0000000000000000)

data段的东西,在你运行程序的时候就会被加载进内存,如何加载我就不知到了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-6 07:46:34 | 显示全部楼层
db 1,2,3,4,5,6,7,8 定义了8个字节的数据
dw 0123h,0456h定义了两个字数据

在内存中数据和指令一样,你说是什么就是什么

前面的伪指令如果指定了cs:code,ds:data 那么就存放在cs和ds中

程序中从end后的标号开始,若没有数据段,那么数据和程序存在一个段中,会把数据当做指令执行。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-6 08:23:16 | 显示全部楼层
db = define byte 定义字节型数据  占 1byte
dw = define word 定义字型数据   占  2byte
dd = dfine dword 定义双字型数据  占4byte

楼主没好好看书
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-6 08:34:20 | 显示全部楼层
本帖最后由 琉魂 于 2013-8-6 08:36 编辑

嗯。。这个我有点点忘了。。。不知道说的对不对哈!

图一中'db'是以8字节定义数据,这个具体地址由编译器决定,但可以通过'a'的地址加偏移(8为单位)定位到每个数据;
图二中'dw'是以16字节定义数据,'0123H'就是一个十六进制数,也可以用'date'地址加偏移(16为单位)定位到。

可以这样理解:图一的的'1,2,3,4,5,6,7,8'是8个8字节的数据,即共8*8=64字节;
图二中的'0123H,0456H'是两个16字节数据,即共16*2=32字节。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-6 08:38:33 | 显示全部楼层
define byte    and   define word   好像是这么写的吧。更具体的 楼上的说的都是非常清楚了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-6 16:05:58 | 显示全部楼层
撸主,第二幅图看懂了,第一幅图其实没什么区别。只是把data换成a(代号而已,什么都行),把dw(字占16位)换成db(字节占8位)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-6 18:14:09 | 显示全部楼层
楼上说的非常清楚,我就不做重复了,楼主,挑选满意答案就好。如果还有其他不懂继续提问。{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-8-7 03:01:11 | 显示全部楼层

很感谢 解释得非常清楚。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-7 08:16:13 | 显示全部楼层
他们貌似最后是在存到哪个地方了。请问这个地方我并没有指定。他放到哪里了。“最疑惑的问题就是这行了。”

数据类型上面已经说了,我补充你这个问题,在一般如果没有指令DS段的操作中,上面的指令分别在DS初始化后段地址+10h, 偏移位置在0的位置,为什么要加10H 因为这10H是PSP位置 PSP又在哪? PSP就在DS:0 这个位置的256个空间内(字节) 256换成16进制就是100 而段地址和偏移的组合是要*10H的. 懂了吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-7 08:17:48 | 显示全部楼层
补充一下,如果指定了DS段的话那么就在DS段:0的位置了,因为指定了.就会自动略过PSP
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-29 05:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表