开发日记-20190914 关键词 汇编语言王爽版 第四章
第四章 第一个程序
4.1 一个源程序从写出到执行的过程
第一步:编写汇编源程序
使用文本编辑器,用汇编语言编写汇编源程序
这一步工作的结果是产生一个储存源程序的文本文件.
第二步:对源程序进行编译程序
使用汇编语言编译程序对源程序文件中的源程序进行编译,产生目标文件;再用链接程序对目标文件进行链接,生成可在操作系统中直接运行的可执行文件.
可执行文件包括两部分内容:
- 程序(从源程序中的汇编指令翻译过来的机器码)和数据(原程序中定义的数据)
- 相关的描述信息(比如,程序有多大,要占用多少内存空间等)
这一步工作的结果:产生了一个可在操作系统中运行的可执行文件.
第三步:执行可执行文件的程序.
在操作系统中,执行可执行文件中的程序.
操作系统依照可执行文件中的描述信息,将库执行文件中的机器码和数据加载入内存(比如设置CS:IP指向第一条要执行的指令),然后由CPU执行程序.
开发日记-20190914 关键词 汇编语言王爽版 第四章相关推荐
- 开发日记-20190914 关键词 汇编语言王爽版 第七章第八章
第七章 更灵活的定位内存地址的方法 7.1 and和or指令 (1)and指令:逻辑与指令,按位进行与运算 (2)or指令:逻辑或指令,按位进行或运算 7.2 关于ASCII码 一个文本编辑过程中,就 ...
- 开发日记-20190914 关键词 汇编语言王爽版 第六章
第六章 包含多个段的程序 前面的程序中,只有一个代码段.现在有一个问题是,如果程序需要用其他空间来存放数据,使用哪里呢?在第五章中,我们说0:200~0:2FF是相对安全的,可这段空间的容量只有256 ...
- 开发日记-20190914 关键词 汇编语言王爽版 第五章
第五章 [BX]和loop指令 5.2 Loop指令 loop指令的格式是:loop标号,CPU执行loop指令的时候,要进行两步操作, (cx)=(cx)-1 判断cx中的值,不为零则转至标号处执行 ...
- 开发日记-20190914 关键词 汇编语言王爽版 第三章
第三章 寄存器(内存访问) 3.1 内存中字的存储 CPU中,用16位寄存器来存储一个字.高8位存放高位字节,低八位存放低位字节.在内存存储时,由于内存单元是字节单元(一个单元存放一个字节),则一个字 ...
- 开发日记-20190914 关键词 汇编语言王爽版 第二章
第二章 寄存器 一个典型的CPU由运算器,控制器,寄存器(CPU工作原理)等器件构成,这些器件靠内部总线相连.前一章所说的总线,相对于CPU内部来说是外部总线.内部中心实现CPU内部各个器件之间的联系 ...
- 开发日记-20190915 关键词 汇编语言王爽版 第十一章
第十一章 标志寄存器 CPU内部的寄存器中,有一种特殊的寄存器(对于不同的处理器,个数和结构都可能不同)具有以下三种作用. (1)用来存储相关的指令的某些执行结果 (2)用来为CPU执行相关的指令提供 ...
- 开发日记-20190915 关键词 汇编语言王爽版 第十三章
第十二章 内中断 任何一个通用的CPU,比如8086,都具备一种能力,可以在执行完当前正在执行的指令之后,检测到从CPU外部传送过来或内部产生的一种特殊信息,并且可以立即对所接收的信息进行处理.这种特 ...
- 开发日记-20190915 关键词 汇编语言王爽版 第十章
第十章 CALL和RET指令 call 和ret指令都是转移指令,他们都修改IP,或同时修改CS和IP.他们经常被共同用来实现子程序的设计. 10.1 ret和retf ret指令用栈中的数据,修改I ...
- 开发日记-20190915 关键词 汇编语言王爽版 第九章
第九章 转移指令的原理 可以修改IP或同事修改CS和IP和指令统称为转移指令.概括地讲,转移指令就是可以控制CPU执行内存中某处代码的指令. 8086CPU的转移行为有以下几类: 只修改IP时,称为段 ...
最新文章
- 扫盲 docker 常用命令
- 【转】MATLAB的polar函数 极坐标绘制最大半径怎样设置
- 计算机专业英语第五版卢川英pdf,《德意志意识形态》中的“现实的个人”及其自由全面发展.pdf...
- RPNet++:人脸对齐faceAlignment和基于CNN的三维人脸恢复
- ×××技术详解(全)
- mysql 安装gbk字符_mysql安装后添加gbk字符集的方法
- bzoj 1597: [Usaco2008 Mar]土地购买【斜率优化】
- 不染用计算机数字,2013年计算机等级考试一级B知识预测题(6)
- Core Data持久化数据存储(1)
- GraphEmbedding - Node2vec 图文详解
- Android 隐私数据_Android安全警告:10亿台安卓设备不再支持安全更新
- codevs 2832 6个朋友 并查集 解题报告
- php 按位与运算,PHP 按位与()运算符应用实践
- 正在连接192.168.56.101...无法打开到主机的连接。 在端口 1521: 连接失败
- 腾讯音乐赴美IPO仅11亿美元,疑受科技股抛售和中美贸易战影响
- c++ map 查找性能测试
- php 编译mcrypt,linux php7.2.1 编译安装mcrypt
- 24v转5v电源芯片模块,220v转5v隔离芯片模块,220v转5v电源芯片模块,制作220v转5v电源芯片,模块原理图220v转5v变压器芯片,20w220v转5v电源芯片
- 第四届“蓝帽杯”全国大学生网络安全 技能大赛 Writeup
- 【数据结构-树图】树和图的性质
热门文章
- 网易 for linux,NetEaseMusic
- Java中非法参数的异常_Java中的异常
- python语音程序设计基础篇_【笔记】python自学笔记(基础篇)——字典操作
- python为啥这么受欢迎_Python为什么这么受欢迎?原因竟在于它的10个知识点
- jar包反编译成源代码_IntelliJ IDEA 如何设置自动下载源代码和文档
- java qq音乐接口 api,QQ音乐解析API接口更新:支持HQ,ape,flac无损音质,缓存功能
- java中random的头文件_JAVA中的Random()函數
- java cell报错_有一个小小点问题,现在我想从eclipse上读取Excel表
- php mysql商品管理_PHP基础示例:商品信息管理系统v1.1[转]
- composer报错:received xxx bytes out of the 以及composer手动引入扩展包