博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实验二
阅读量:5870 次
发布时间:2019-06-19

本文共 546 字,大约阅读时间需要 1 分钟。

实验二

1.使用Debug,将下面的程序段写入内存,逐条执行,根据指令执行之后的实际运行情况填空。

(1)使用e命令修改0021:0~0021:f的数据

(2)使用a命令输入p74的指令,其中的 mov ax, ffff → 改为 mov ax, 0021

运行结果如下

2.仔细观察图中实验,然后分析:为什么2000:0~2000:f中的内容会发生改变

 

 

前三行汇编指令的功能是用ax设置栈段地址设为SS=2000H,和栈顶的偏移地址SP=0010H

mov sp,10即是初始化栈顶。栈顶2000:0010,栈底2000:000F,此栈为空栈。

总结

本次实验学习了mov,add,sub等指令的使用。mov指令改变寄存器或内存中的内容、add指令加和内存或寄存器中的内容。

以及对t指令的新认识。一般情况下,用t命令执行一条指令后,会停止继续执行,显示出当前CPU各个寄存器的状态和下一步要执行的指令,但t命令执行mov ss,ax的时候,不会做到这一点。所以Debug的t命令在执行修改寄存器ss的指令时,下一条指令也紧接着被执行。

对栈有了初步的认识。对它先进先出的特征有了一定的了解。

转载于:https://www.cnblogs.com/cmhwy/p/9849045.html

你可能感兴趣的文章
PL/SQL Developer使用技巧、快捷键
查看>>
js解析格式化json日期
查看>>
ID3DXEffect接口的几种使用方法……
查看>>
字符流拷贝图片,丢失数据的原因?
查看>>
SSH整合之 网盘上传下载系统(问题积累)
查看>>
请求乱码和响应编码的解决方案
查看>>
Java探索之旅(11)——抽象类与接口
查看>>
yarn一直在跑一个用户为dr.who的application
查看>>
linux中shell变量$#,$@,$0,$1,$2的含义解释
查看>>
测试调用接口
查看>>
CPU 实模式 保护模式 和虚拟8086模式
查看>>
Selenium获取input值的两种方法:WebElement.getAttribute("value")和WebElement.getText()
查看>>
南邮CTF--md5_碰撞
查看>>
mysqldump默认参数add-drop-table
查看>>
python第十一周:RabbitMQ、Redis
查看>>
构造函数
查看>>
ARCGIS中怎么去除重复的面?(转)
查看>>
[转载]你知道我今天为什么来公司上班吗?
查看>>
jenkins 和 git 的每日构建
查看>>
《Java技术》第九次作业
查看>>