汇编语言第二章戳中笑点

在CPU中,有四种主要的部件。运算器,控制器,寄存器,内部总线。这里的内部总线用于CPU内部进行各种信息的传递,与第一章所讲的控制总线,数据总线,地址总线不同,第一章所描述的总线属于外部总线,作为CPU与外部期间进行信息传递的通路。运算器用于各种信息的处理,寄存器用于信息的处理,控制器用于控制信息的处理。对于利用汇编编程来说,寄存器是主要操作的部件,不同的CPU中寄存器的个数和种类是不同的,8086CPU寄存器个数为14个AX,BX,CX,DX,CS,SS,DS,ES,SI,DI,SP,BP,IP,PSW。

2.1通用寄存器和字在寄存器中的存储

8086CPU所有的寄存器均为16位,其中AX,BX,CX,DX这四个寄存器一般作为通用的寄存器使用,用于存储一般的数据。16位寄存器能存储的最大值为2^16=65536,在8086CPU寄存器之前有很多8位的寄存器的CPU,为了和以前在8位寄存器下写的程序相兼容,8086CPU将16位寄存器可分为高八位和低八位的寄存器使用。

以AX寄存器为例,其逻辑结构如下图所示,从做到右依次为高位到低位。

比如我们存储一个数据2000H(后缀H,hex代表16进制),其二进制位10000000000000B(B,binary代表二进制),我们将该数据存入AX中为:

0|0|1|0|0|0|0|0|0|0|0|0|0|0|0|0

当我们将AX分为两个8位寄存器的时候为:AH(AXHigh8-BIT),AL(AXLow-BIT)。

类似的BX,CX,DX分成8位寄存器为:BH和BL,CH和CL,DH和DL

一个字节代表8位二进制位,一个字代表两个字节即16位二进制位。当存储一个字节的时候可以将其存储在寄存器的高8位或者低8位,当存储一个字的时候需要将该字的高字节存储在寄存器的高8位,将该字的低字节存储在寄存器的低8位。

2.2一些汇编指令和物理地址

(1)movax,12h与MOVAX,12H是一样的效果,汇编指令不区分大小写

(2)若ax和bx当前存储的值都是8226H,当执行addax,bx的时候其结果应该为1044CH,但是存储结果的寄存器ax为16位

而1044CH位20位,所以进位的1不能存储(当可以影响进位标识寄存器),相加后的ax存储的值为044CH

(3)指令addal,93h,执行器al中的数据为C5H,相加之后为158H。但是你会以为在al中存储58H,同时将最高位的1存储在ah中,那么这样理解你就错了,因为当汇编指令使用8位寄存器的时候,是作为独立的寄存器使用与其高位寄存器是无关的。所以ax中的值为0058h.

(4)在进行运算和数据传送的时候。寄存器的位数必须一致,不能出现movax,bl或者addbh,ax之类的指令。

(5)在第一章已经介绍过,计算机内的所有存储区都是通过进行统一进行编制的,其寻址是通过地址总线进行寻址,每个存储区单元都有唯一的地址进行寻址,这个地址我们称为物理地址。

2.316位机和8086进行寻址的方法

16位机代表CPU内部进行运算和寄存的位数为16位,即CPU内部的运算器一次性能进行16位数据的运算,CPU内部的寄存器最大能存储16位数据单元。8086CPU有20条地址总线进行寻址,那么问题来了,CPU在进行寻址的时候地址信息会先存储在CPU内部,但是8086CPU内部最大可以存储16位地址信息,那么怎么来对20位地址进行存储呢。

其解决办法是在内部通过一个加法器将两个16位地址合成20位地址来进行存储区寻址。其示意图如下:

8086CPU内部的寄存器提供两个16位的地址,通过地址加法器合成一个20位的地址,进而通过输入输出电路将20位地址经由地址总线传送到外部存储区进行寻址。

两个16位地址通过地址加法器合成20位地址的示意图如下:

地址加法器计算公式:20位物理地址=16位段地址*16+16位偏移地址。这里简单解释一下,对于二进制数据来讲当进行移位操作的时候,左移动一位相当于*2,地址1230H*16即向左移位4位,变为12300H。这时候再加上偏移地址00C8H,结果为123C8H,该地址即为我们合成后的20位物理地址。

举个例子来说明这一问题,学校,体育馆,图书馆位于一条直线上,学校位于这条线的起点。示意图如下:

如果路人问路,图书馆在哪儿,那么可以有如下两种方式回答:

1.从学校直走2826m即可达到图书馆

2.从学校直走2000m到达体育馆,再直走826m达到图书馆

第一种方法是直接给出图书馆的物理地址(直接地址),第二种方式是通过体育馆作为中介间隔告诉图书馆的位置。

进一步来想,如果只能通过纸条告诉路人图书馆得位置。但是只有两张可以写三位数的纸条,此时怎么办呢,那么我们可以在第一张纸条上写上200作为段地址,第二张纸条写上826作为偏移地址。那么我们可以通过:段地址200*10+偏移地址826=2826来获知图书馆的位置。

2.4段的概念和段寄存器

首先要明确一个概念,内存并没有分段,是CPU在寻址的时候进行分段的,如图所示:

我们可以认为10000H-100FFH组成一个段,该段的起始地址为10000H,段地址为1000H,大小为100H,我们也可以认为10000H-1007FH和10080H-100FFH位两个段,两个段的起始地址分别为10000H和10080H,段地址为1000H和1008H,段的大小为80H。如果一个段的偏移地址长度为N位,那么这个段的大小为2^N。

前面讲过CPU内部提供两个16位的地址通过加法器合成20位物理地址,那么提供16位段地址的部件是什么呢,显然是CPU内部的寄存器啦,8086CPU内部有四个段寄存器分别为CS,SS,DS,ES

2.5CS和IP

CS和IP作为两个非常重要寄存器,其中CS为代码段寄存器,IP为偏移量,通过公式CS*16+IP便可合成CPU当前要读取指令的物理地址。比如当前CS中存储为M,IP存储为N,那么CPU将从M*16+N的合成地址中取一条指令执行。

通过CS和IP合成当前指令并取指令的逻辑图如上图所示。主要步骤如下:

(1)将CS和IP送入地址加法器合成20位物理地址为2000H*16+0000H=20000H

(2)通过输入输出控制电路将20位物理地址送到地址总线进行寻址

(3)将寻址到的汇编指令movax,0123H对应的机器码0123B8H依次通过数据总线传输到CPU中的指令缓冲器中。

(4)执行指令,此时IP=IP+执行指令的长度,跳转步骤1.

说明一点,8086CPU加点复位后,CS和IP分别被设置为CS=FFFFH,IP=0000H,即开机后的第一条执行指令地址为FFFF0H。

2.6修改CS和IP,代码段的介绍

CS与IP组成CPU当前执行指令的位置,可以通过修改CS与IP改变CPU执行指令的顺序。然而问题来了,如何改变CS与IP的值呢,这里要注意的是不能使用MOV指令改变CS和IP寄存器的值,因为8086CPU没有提供这样的功能。其实修改CS与IP的值方式有很多种,这里仅介绍jmp。jmp段地址:偏移地址可改变CS与IP寄存器中的值,从而完成CPU执行指令顺序的跳转。比如jmp12:34这里CS=0012HIP=0034H执行jmp12:34之后将直接跳转到00154H处取指令执行。若仅仅想改变IP的值不改变CS的值,可以使用jmp某一个合法寄存器

代码段为存放代码的一段内存区域,比如如下一段汇编代码:

movax,0000

addax,123H

movbx,ax

jmpbx

以上一段代码段存储在内存为123B0H-123B9H这段内存区域中,共十个字节,那么我们可以成为这段内存区域为代码段,前面已经介绍过要执行这段代码要把CS:IP指向movax,0000的内存区域即可。

THE END
1.图书馆3.0来了,这些功能你知道吗?2017年初,全国第六次县级以上公共图书馆评估定级工作正式启动。此次评估定级是为了贯彻落实《中共中央办公厅、国务院办公厅关于加快构建现代公共文化服务体系的意见》精神,发挥以评促建、以评促管、以评促用的作用,促进全国公共图书馆事业发展,能够引导公共图书馆从第二代图https://mp.weixin.qq.com/s?__biz=MzIyMTU4MjYzMw==&mid=2247484701&idx=2&sn=e3a276b422e3c5a2599162f1b22cd579&chksm=e83bc15bdf4c484d923ea449dab9ed9a1beada3902565f4465f2756ccd2bc990bf1a6036ed81&scene=27
2.高校图书馆的定义高校图书馆的定义 为高等学校教学和科学研究服务的图书馆称为高校图书馆。图书馆是高校非常重要的建筑之一,图书馆的好坏是考察一个学校的重要标准之一,高校图书馆是服务于老师和学生的,是教学研究和科学研究重要的知识保障,所以根据相关规定,高校图书馆每周必须有60个小时的营业时间,网络服务更是要做到24小时不间断https://baijiahao.baidu.com/s?id=1719205312630318655&wfr=spider&for=pc
3.智慧图书馆的概念以及特点是什么?智慧图书馆是以先进的物联网、云计算、大数据等技术为基础,整合图书馆用户、图书馆资源、图书馆设备,通过智能方式改变用户、图书馆、图书资源等的交互方式,提高图书馆的信息反馈速度、管理水平以及服务的针对性和智慧性,使用户在获取知识时不受时间、空间以及使用方式的限制。 https://www.tuya.com/cn/industry-details/Kaqzfy3tvpmb2
4.图书馆中的几个概念3、来过您的“图书馆首页”并且收藏过您的文章的馆友。 理解“最近谁来过”概念的关键是:必须是来过您的“图书馆的首页”的馆友。 二、“最近谁转藏”模块中显示的馆友“昵称”,包括下列三种情况: 1、在“您的图书馆”中转藏过您的文章的馆友; http://www.360doc.com/content/11/1024/15/5846940_158700156.shtml
5.图书馆藏书的概念是什么?锲而不舍落实中央八项规定精神,抓住“关键少数”以上率下,持续深化纠治“四风”,重点纠治享乐主义、奢靡之风,坚决破除特权思想和特权行为。() 锲而不舍落实中央八项规定精神,抓住“关键少数”以上率下,持续深化纠治“四风”,重点纠治享乐主义、奢靡之风,坚决破除特权思想和特权行为。()https://www.shuashuati.com/ti/dc024dc0541d48d7b927b40dcc76653f.html
6.图书馆资源的概念及构成辨析内容提要】本文对图书馆资源的概念及构成的诸多观点进行了分析、论证,认为图书馆资源是指图书馆为了利用而组织起来的相互联系的多种资源的动态有机整体,它由信息资源、人力资源、设施资源三方面构成。 【摘 要 题】理论探索 【关 键 词】图书馆资源/信息资源/人力资源/信息设施资源…… https://www.unjs.com/lunwen/jiaoyu/20080120140124_17198.html
7.图书馆教育与技术概念中的少妇,坐在膝上型计算下载编号28745635“图书馆教育与技术概念中的少妇,坐在膝上型计算机前”,是由设计师“Ingimage”在2023-03-23 15:35:06上传,该设计师是经过我图网实名认证合作5年卖家。 关于版权 未经权利人“Ingimage”许可,任何人不得随意使用“图书馆教育与技术概念中的少妇,坐在膝上型计算机前”(含预览图),否则将按照我国著作权法的相https://weili.ooopic.com/weili_28745635.html
8.加强图书馆文化建设的思考图书馆网站馆务公开当下图书馆文化的概念随着社会发展也在不断丰富,通过不断的建设实践和经验总结,人们深刻认识到图书馆文化的概念不是“图书馆”和“文化”这两个概念简单组合,而是受社会政治、经济、文化等因素共同作用和影响,简言之就是指图书馆在长期为读者服务的管理活动过程中,在一定社会历史环境下逐渐形成和建立起来的,以图书馆http://www.nanao.gov.cn/na/zdly/whjgxxgk/tsgwzgwgk/content/post_1734540.html
9.谈图书馆地方文献的概念及采访试想:所有的北京出版地的文献,均定为首都图书馆的地方文献;沈阳出版地的文献均定为沈阳市图书馆的地方文献,岂不过于繁杂,而淹没了地方文献应有的面目了吗?地质出版社在北京,它出版的《河南西峡白垩纪蛋化石》一书,按广义论者,因出版地为北京;定为北京的地方文献,是明显的不适宜地扩大了地方文献的概念。https://www.fwsir.com/ligong/HTML/ligong_20070525084330_36813.html
10.图书馆的uml概念类图怎么画UML科普文,一篇文章掌握14种UML图支持更高层次的开发概念,如协作,框架,模式和组件。 整合最佳的工作方法 (Best Practices)。 UML图有哪些? UML图分为结构图和行为图。 结构图分为类图、轮廓图、组件图、组合结构图、对象图、部署图、包图。 行为图又分活动图、用例图、状态机图和交互图。 https://blog.csdn.net/weixin_39737368/article/details/110382655
11.图书馆概念,Libraryconcepts,音标,读音,翻译,英文例句,英语词典2) concept of great library 大图书馆概念3) Library idea 图书馆理念4) library concept 图书馆观念 1. But as the impact by the new technologic revolution,traditional library conception and modern library conception are collided. 但随着新技术革命带来的冲击 ,传统与现代图书馆观念发生了碰撞。 http://dictall.com/indu/206/20545569AD2.htm
12."图书馆自由"概念之内涵——以日本《图书馆宣言》为例期刊摘要:阐述了图书馆自由概念的发展历程,并以日本《图书馆自由宣言》为例,从六个方面对其做了分析说明,得出结论:图书馆自由实际上是建立在将其视为一"思想之自由市场"的重要公共空间基础之上,经由资讯传送者与其接受者自由及平等的利用,以作为图书馆所担负维系自由民主社会之存在的自律性权利.在图书馆的活动领域,国家https://d.wanfangdata.com.cn/periodical/tsgllysj200702046
13.学科服务品牌形象的塑造高校图书馆生存与发展的环境日益复杂化,普遍面临不可逆的转型升级新态势,学科服务作为研究型服务模式必然是高校图书馆战略转型中的要点,本文将品牌这一现代经济市场竞争中的利器与学科服务相结合,沿着“一点”—“三维”—“一体”的运动轨迹塑造山东师范大学图书馆学科服务“互”概念品牌形象,为学科服务品牌形象的构建https://www.zhangqiaokeyan.com/academic-journal-cn_popular-literature_thesis/0201241141698.html
14.图书馆生态位概念及基本原理研究图书馆生态位概念及基本原理研究 [摘要]生态位理论对所有的生命现象具有普适性,在研究图书馆生态位逻辑出发点的基础上,指出图书馆生态位是一种基于图书馆与环境互动的客观存在,其描述图书馆与环境互动所形成的一种共存均衡状态;同时探讨图书馆的理想生态位和现实生态位、生态位模型、生态位测度、生态位类型、生态位特https://biyelunwen.yjbys.com/fanwen/gonggongguanli/163475.html
15.“创意山商·传承文化”图书馆文创产品概念设计大赛大学图书馆具备文化传播和学术研究双重使命。为切实贯彻校园文化建设,引领全校师生积极参与图书馆的创造性转化与创新性发展,凝聚师生智慧推进图书馆文化知识传播,山东工商学院图书馆精心打造“创意山商·传承文化” 图书馆文创产品概念设计大赛。 【主办单位】山东工商学院图书馆 https://lib.sdtbu.edu.cn/info/1004/3814.htm
16.这一座中国图书馆看懵老外,老外:以为是概念图,却是真实存在!扒虾娱乐 关注5,963 信息 分享: 直播热点 下载APP领会员 直播中 小言儿~ 直播中 丽丽感谢家人宠爱 直播中 悠然~ 千帆直播 人气主播 直播0 芭比bb 来接我放学呀 点击观看 直播0 憨憨憨不憨。 这嘟嘟小嘴~ 点击观看 直播0 伊宝儿 百变伊宝儿 点击观看 直播0 水冰月* 唱跳选手,点舞点唱吧 点击观看https://www.56.com/u56/v_MTkzNDU0MDUz.html
17.重庆市少年儿童图书馆新馆阅读空间深化概念设计方案征集公告为加快构建现代化公共文化服务体系,打造特色鲜明、功能布局合理的阅读服务阵地积极推进城市阅读新空间建设,重庆市少年儿童图书馆现面向社会征集新馆公共空间概念设计方案。现将有关事项公告如下: 一、项目概况 (一)项目名称:重庆市少年儿童图书馆新馆阅读空间深化概念设计项目。 https://www.cqst.org.cn/information/5358
18.厦门图书馆凡产生于1912年以前,内容为研究中国古代传统文化、方法是中国古代传统著作方式、装帧具有中国古代图书传统装帧形式的典籍,即中国古籍。 2.古籍的版式 古籍版式是指古籍版刻的样式。包括版面、大小题名、版框(亦称边栏)、界行、天头、地脚、版心、行款、字数、鱼尾、象鼻、书牌、条记、句读、插图等等。版式的概念出现https://www.xmlib.net/ztxx/gjbh/gjzs/jczs/