汇编实验2(又是作业emm)
实验任务:学会使用debug
1.使用Debug,将程序段写入内存:
首先对0021:0000~0021:000F的内存赋值
这里我赋的值是 11 12 13 14 15 16 17 18
输入mov ds,as时打错了。。。问题不大,重新输入一次
实验结果:
在内存0021:0000处创建了一个长度为FH的栈结构,对AX赋值后压栈
逐步运行后,观察数据结果并填空
2.观察如下例子,分析
分析为何一开始2000:0~2000:000F所有元素为0,而之后发生改变(如下图)
2000:0~2000:000F的元素发生变化
对于每一项指令进行操作d查看内存元素
我们可以发现,执行mov ss,ax后,并没有改变2000:0~2000:000F的元素,而进一步对ax赋值产生了改变
给ax赋值后压栈前,用d命令观察2000:00内存,都是00,创建栈结构指向这段内存时,有些数据改变了
仔细观察,不难发现,从2000:000F到2000:0000, 倒序现实各元素为 01 A3 07 3F 01 08 00 00 20 00 00 00 00 00 00 00, 显然存在着CS(07 3F),IP(01 08),AX(20 00)的值 因此,我猜测可能与寄存器栈操作时会将一些寄存器变量如地址压入栈中! 我在网上查阅了相关资料,发现是t命令实际是引发了单步中断,执行中断例程时,CPU会将一些中断例程使用的的寄存器变量自动压栈到栈中。 这是以后学习的内容emm汇编实验2(又是作业emm)的更多相关文章
- 汇编实验1(又是作业emm)
实验任务:学会使用debug 1.使用Debug,将程序段写入内存: 机器码: b8 20 4e 05 16 14 bb 00 20 01 d8 89 c3 01 d8 b8 1a 00 bb 26 ...
- 实验十一 团队作业7—团队项目设计完善&编码测试
实验十一 团队作业7—团队项目设计完善&编码测试 实验时间 2018-6-8 Deadline: 2018-6-20 10:00,以团队随笔博文提交至班级博客的时间为准. 评分标准: 按时交 ...
- 汇编实验15:安装新的int 9中断例程
汇编实验15:安装新的int 9中断例程 任务 安装一个新的int 9中断例程,功能:在DOS下,按下“A”键后,除非不在松开,一旦松开后,就显示满屏幕的“A”,其他键照常处理. 预备知识概要 这次实 ...
- 汇编实验14:访问CMOS RAM
汇编实验14:访问CMOS RAM 任务 编程,以“年/月/日 时:分:秒”的格式,显示当前的日期,时间. 预备知识 CMOS存储当前时间的信息:年.月.日.时.分.秒.这六个信息的长度均为1个字节, ...
- 实验十三 团队作业9:Beta冲刺与团队项目验收
实验十三 团队作业9:Beta冲刺与团队项目验收 实验时间 2019-6-20(21) Deadline: [6.20-6.26]之间任选连续3天的23:00,以团队随笔博文提交时间为准. 评分标准: ...
- 实验十一 团队作业7:团队项目设计完善&编码
实验十一 团队作业7:团队项目设计完善&编码 实验时间 2019-6-6 Deadline: 2019-6-12 10:00,以团队随笔博文提交至班级博客的时间为准. 评分标准: 按时交 – ...
- 《CoderXiaoban团队》实验十 团队作业6:团队项目系统设计改进与详细设计
实验十 团队作业6:团队项目系统设计改进与详细设计 项目 内容 这个作业属于哪个课程 任课教师博客主页链接 这个作业的要求在哪里 实验十 团队作业6:团队项目系统设计改进与详细设计 团队名称 Code ...
- ICS2019-Linux汇编实验指导
ICS2019-Linux汇编实验指导 环境配好了? 开始调试 一. 首先安装NASM 1. 先判断系统是否已经安装了nasm 打开终端,执行 whereis nasm :如果显示nasm: /us ...
- 《ABCD组》实验十一 团队作业7:团队项目设计完善&编码
<ABCD组>实验十一 团队作业7:团队项目设计完善&编码 项目 内容 这个作业属于哪个课程 http://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在 ...
随机推荐
- net core 随笔
UseApplicationInsights 这个有用到azure 才有用, 平时没用的话可以去掉. 遥测. 上下文指的是 进程间占有的资源空间. 当一个进程时间片到了或者资缺的时候就会让出CPU ...
- LeakCanary 来检查 Android 内存泄漏
LeakCanary 来检查 Android 内存泄漏
- Oracle数据库表的一些宏处理
比如现在,有个数据库表,我想要知道这个数据库已经建了多少张表?每个表有多少条数据?每个表都有哪些字段?以及字段的说明? 下面就用SQL一一解决上面的问题: --所有已存在的表名和说明 select t ...
- 如何将Excel转换成Markdown表格[转]
在这篇文章中,我将告诉你如何快速的将Excel转换为markdown表格,以及如何将Google Docs,Numbers,网页中的表格或其他类似Excel的程序数据转换为Markdown表格 你可能 ...
- vue安装遇到vue不是内部变量
配置path系统变量 打开我的电脑-->右键属性-->高级系统设置-->环境变量-->Path-->添加获得npm的位置(搜索vue.cmd 可以找到该位置) 全局安装位 ...
- poj1947(树形背包)
题目链接:http://poj.org/problem?id=1947 Rebuilding Roads Time Limit: 1000MS Memory Limit: 30000K Total ...
- Fiddler Mock长度变化的response不成功
使用Fiddler的AutoResponder的功能来mock一个接口,目的是mock返回更多的数据.结果我发现如果只修改response data的内容而不改变长度可以mock成功,一旦改变resp ...
- SQL Server实现读写分离提高系统并发
转自:http://www.canway.net/Lists/CanwayOriginalArticels/DispForm.aspx?ID=666 在一些大型的网站或者应用中,单台的SQL Serv ...
- 如何开发微信小程序学习
文件中 project.config.json是开发者工具为我们自动生成的一个开发者工具的配置文件,主要是保存了一些我们对开发者工具的个性化配置. 一个微信小程序应用至少要有两个文件 一个是app.j ...
- JS的call与apply的用法
call与apply的第一个参数都是需要调用的函数对象,在函数体内这个参数就是this的值,剩余的参数是需要传递给函数的值,call与apply的不同就是call传的值可以是任意的,而apply传的剩 ...