实验五

书P133-137

(1)

反汇编得到程序返回前是执行到0019

 

执行到0019

查看前16个字节的数据

 

1.data中的数据:23 01 56 04 89 07 bc 0a ef 0d ed 0f ba 0c 87 09

2.cs=076c ss=076b ds=076a

3.data段段地址为X-2,stack段段地址为X-1

(2)

1. 数据为23 01 56 04

2.cs=076c ss=076b ds=076a

3.data段地址为X-2,stack段地址为X-1

4. 该段占有的实际空间为((N+15)/16)*16

因为1个字节到16个字节都会被当做一个字节段,是16个字节,超出1个字节,也会用一个字节段存储它。

(3)

1. 数据为23 01 56 04

2.cs=076a ss=076d ds=076e

3.data段地址为X+3,stack段地址为X+4

(4)

只有(3)可以正确执行,因为3的代码段在开头,如果没有start默认从开头执行。

(5)

 

(6)

 

栈中的数据是逆序存放的

实验总结和体会:

这次实验我学会了怎样编写包含多个段的程序,其中要注意的是在进行入栈操作前要指明栈顶的位置

 

转载于:https://www.cnblogs.com/frank0729bao/p/10011727.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值