鱼C论坛

 找回密码
 立即注册
查看: 2054|回复: 1

[已解决]实验五中的dw疑问

[复制链接]
发表于 2022-5-3 11:39:43 From FishC Mobile | 显示全部楼层 |阅读模式

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

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

x
实验五第六题中数据定义如下:
dw 1,2,3,4,5,6,7,8,9,0,0ah,0bh ,0ch,0dh,0eh,0fh,0ffh
1.为啥sp为16
2.每一个数据实际占用多少字节或内存单元
最佳答案
2022-5-3 12:38:58
本帖最后由 jackz007 于 2022-5-3 15:25 编辑

        用 dw 定义的每个数据项占用的是 1 个 word,也就是 2 个 byte。本例一共定义了 16 个数据项,实际占用 32 个 byte。只有改用 db 定义这 16 个数据项,实际占用的存储空间才是 16 个 byte。
         一定又是 x 爽的教程教的,定义堆栈不用关心 sp 的数值。
stack segment stack para 'stack'
        db 800h dup (0)
stack ends
        这个代码就定义了 800h bytes 字节的堆栈段,该段在编译时可以自动对号入座,根本就不需要初始化 SS 和 SP 的数值。 就上面的代码而言,在程序启动的时候,SP 的数值会自动设定为 800h。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-5-3 12:38:58 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2022-5-3 15:25 编辑

        用 dw 定义的每个数据项占用的是 1 个 word,也就是 2 个 byte。本例一共定义了 16 个数据项,实际占用 32 个 byte。只有改用 db 定义这 16 个数据项,实际占用的存储空间才是 16 个 byte。
         一定又是 x 爽的教程教的,定义堆栈不用关心 sp 的数值。
stack segment stack para 'stack'
        db 800h dup (0)
stack ends
        这个代码就定义了 800h bytes 字节的堆栈段,该段在编译时可以自动对号入座,根本就不需要初始化 SS 和 SP 的数值。 就上面的代码而言,在程序启动的时候,SP 的数值会自动设定为 800h。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 00:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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