汇编网首页登录博客注册
ryan1779的学习博客
博客首页博客互动【做检测题】论坛求助

我的博客

个人首页 |  我的文章 |  我的相册 |  我的好友 |  最新访客 |  文章收藏 |  论坛提问 |  友情链接 |  给我留言  
图片载入中
学习动态
最新留言
文章收藏
友情链接

[2009-07-14 17:56] 实验5.2

assume cs:code,ds:data,ss:stack

data segment
   dw 0123h,0456h
data ends

stack segment
   dw 0,0
stack ends

code segment

start:mov ax,stack
      mov ss,ax
      mov sp,16

      mov ax,data
      mov ds,ax

      push ds:[0]
      push ds:[2]
      pop ds:[2]
      pop ds:[0]

      mov ax,4c00h
      int 21h

code ends

end start
①、CPU执行程序,程序返回前,data段中的数据为多少?
答:不变
②、CPU执行程序,程序返回前,cs=[0b84],ss=[0b83],ds=[0b82]
③、设程序加载后,code段的段地址为X,则data段的段地址为[X-2],
stack段的段地址为[X-1]。
④对于如下定义的段:
name segment
 …
name ends
如果段中的数据占N字节,则程序加载后,该段实际占有的空间为[N字节].
评论次数(2)  |  浏览次数(562)  |  类型(汇编作业) |  收藏此文  | 

[  游客   发表于  2009-07-15 14:07  ]

第(4)小题说的不对。你在前面的题目中也应该看到了,定义的数据的字节数并不是最终占用的空间数。
博主在观察一下,思考一下吧。

[  ryan1779   发表于  2009-07-19 15:52  ]

现在的理解是,16字节内的(包括16字节,算一个段,10H),超出16字节,但不超出32字节的,也算一个段,算20H。。

 
 请输入验证码  (提示:点击验证码输入框,以获取验证码