鱼C论坛

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

[已解决]第6章汇编问题求大神解答

[复制链接]
发表于 2015-3-17 11:11:40 | 显示全部楼层 |阅读模式

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

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

x
程序6.3assume cs:codesg
codesg sdgment
        dw 0123h,0456h,0789h,0defh,0fedh,0cbah,0987h
        dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0    (16个0)
start: mov ax,cs
         mov ss,ax
         mov sp,30h
         mov bx,0
         mov,cx,8
s:      push cs:[bx]
         add bx,2
          loop s
        mov bx,0
        mov cx,8
s0:    pop cs:[bx]
       add bx,2
        Ioop s0
        mov ax,4c00h
      int 21h
    codesg ends
     end start
检测点6.1(2)
assume cs:codesg
codesg sdgment
        dw 0123h,0456h,0789h,0defh,0fedh,0cbah,0987h
        dw 0,0,0,0,0,0,0,0,0,0       (10个0)
实验五
(1)assume cs:code,ds:data,ss:stack
         data segment
                        dw 0123h,0456h,0789h,0defh,0fedh,0cbah,0987h
          data ends

          stack segment
                          dw 0,0,0,0,0,0,0,0(定义栈段用8个0)
           stack ends

我的问题
(1)dw定义的栈段中的0是字单元还是字节单元?
(2)三个程序在最开始都用dw定义了8个字单元数据,但定义栈的0的个数不一样分别为16个0,10个0,8个0.   请问为什么?
(3)上面前两个程序是不是定义8个0就足够了,不用定义16个0,10个0?比如第一个程序定义了16个0 的内存空间实际上只利用了8个0的内存空间,而剩下的8个0的内存空间就是闲置的浪费的,是不是这样的?
最佳答案
2015-3-17 15:06:38

dw 字型单元  2个字节
它们定义的 都是一个类型单元
定义为零 你可以理解 什么懂没有  (0 嘛!)
个人认为要看你肿么进栈
因为进栈是是字型单元进栈的 比如sp=20 进栈5个字型数据 sp=16 你要进栈5个字节型数据也是16
根据自己实际情况等原因自己设定就可以不要太较真那些问题




想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-3-17 15:06:38 | 显示全部楼层    本楼为最佳答案   

dw 字型单元  2个字节
它们定义的 都是一个类型单元
定义为零 你可以理解 什么懂没有  (0 嘛!)
个人认为要看你肿么进栈
因为进栈是是字型单元进栈的 比如sp=20 进栈5个字型数据 sp=16 你要进栈5个字节型数据也是16
根据自己实际情况等原因自己设定就可以不要太较真那些问题




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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 20:39

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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