汇编语言第二章戳中笑点

在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.什么样的图书馆是好的图书馆?“问。什么样的图书馆是好的图书馆?馆舍面积大、资源丰富、特藏多、经费充足、一个名人或网红馆长、每日座无虚席、信息系统齐备、论文多……'双一流’大学图书馆和高职高专图书馆的各自特色是什么?谁才是我们的偶像?”紧接着,提出“个人观点,仅供反驳”共十条。图谋第一时间将现场图片分享进圕人堂QQ群。会后http://www.360doc.com/content/24/1211/16/6690723_1141726789.shtml
2.游戏玩家的知识宝库,图书馆图书分类与编号的奥秘在浩瀚的知识海洋中,图书馆无疑是一个宝藏之地,无论是对于文学爱好者、历史研究者,还是对于游戏开发人员,图书馆都是获取灵感和知识的绝佳场所,而要在这片知识的海洋中轻松找到自己所需的宝藏,图书的分类与编号就显得尤为重要,就让我们一起探索图书馆图书分类及编号的奥秘。 http://www.honsei.com.cn/yxgl/26094.html
3.科学网—圕人堂话题:什么样的图书馆是好的图书馆?(1)开篇为《什么样的图书馆是好的图书馆?》(https://blog.sciencenet.cn/blog-213646-1463641.html), “理一分殊:图书馆多样性与未来学术研讨会暨CADAL项目年会”,杨新涯先生作《初论以科学评价为导向图书馆治理体系现代化》报告,报告中提出什么样的图书馆是好的图书馆?“双一流”大学图书馆和高职高专图书馆的https://blog.sciencenet.cn/blog-213646-1464387.html
4.本地电子图书:可知电子书本地电子图书:可知电子书 数据库名:可知电子书 开通方式:在校园网内可直接使用 本地网站:223.2.160.151 此数据库为馆藏电子图书,共有中文电子图书15755种,仅限校内使用。https://lib.xzhmu.edu.cn/info/1019/1973.htm
5.图书馆,新气象高校图书馆拥有丰富多样的馆藏文献资源,肩负着向学生宣传、展示、传递科学文化知识、提供文献服务的重任。为学生人生观、世界观的塑造,品德的熔炼,情操的熏陶及学识的拓展等提供了必要的条件。 为引导学生养成“爱读书、读好书、善读书”的精神,图书馆加强与学校各系部的协同合作,在合作之https://mp.weixin.qq.com/s?__biz=MzUyNjU1MjIzMw==&mid=2247487155&idx=1&sn=0e04218f988d796f70788cdb4f78550a&chksm=fa0c5375cd7bda633ac80cfa3989183913721f0e562a89b8df6b96835a029c551123f0e0bd4e&scene=27
6.library是什么意思· librarian:图书馆员 · library science:图书馆学 · bibliophile:爱书之人 相关知识点: · 图书馆的功能: · 收藏和保存文献资料 · 为提供借阅、咨询、参考服务 · 提供学习和研究场所 · 图书馆的类型: · 公共图书馆 · 学术图书馆 · 专业图书馆 · 数字图书馆 · 图书馆的起源和发展: · 古巴比https://localsite.baidu.com/article-detail.html?articleId=20343225&ucid=PjRvPHDYPjm&categoryLv1=%E6%95%99%E8%82%B2%E5%9F%B9%E8%AE%AD&ch=54&srcid=10004
7.图书馆藏书的概念是什么?锲而不舍落实中央八项规定精神,抓住“关键少数”以上率下,持续深化纠治“四风”,重点纠治享乐主义、奢靡之风,坚决破除特权思想和特权行为。() 锲而不舍落实中央八项规定精神,抓住“关键少数”以上率下,持续深化纠治“四风”,重点纠治享乐主义、奢靡之风,坚决破除特权思想和特权行为。()https://www.shuashuati.com/ti/dc024dc0541d48d7b927b40dcc76653f.html
8.智慧图书馆的概念以及特点是什么?智慧图书馆是以先进的物联网、云计算、大数据等技术为基础,整合图书馆用户、图书馆资源、图书馆设备,通过智能方式改变用户、图书馆、图书资源等的交互方式,提高图书馆的信息反馈速度、管理水平以及服务的针对性和智慧性,使用户在获取知识时不受时间、空间以及使用方式的限制。 https://www.tuya.com/cn/industry-details/Kaqzfy3tvpmb2
9.图书馆的uml概念类图是什么UML建模与架构文档化在细化阶段可能需要使用UML语言机制包括描述用户需求的用例及用例图、表示灵魂与概念模型的类图、表示业务流程处理的活动图、表示系统搞成结构的包图和表示用例内部实现过程的交互图。 3、构建 (开发人员通过一系列的迭代完成所有用例的软件实现工作) 软件迭代计划用遵循:①、用户认为业务价值较大的用例应优先安排。②、https://blog.csdn.net/weixin_39739234/article/details/110382656
10.酷狗概念版2.5.5旧版免费下载想听什么就听什么,想换音乐频道就换。 海量在线音乐库,无论走到哪里都能享受音乐。 软件优点 1.更使用者友谊的操作界面 界面重新设计,甜美流畅,点击和笔触间可以享受简洁的体验。 2.音乐图书馆的体验非常不同 清新的音乐库,全新歌速递,权威性榜单,精选歌单,你想要的都在酷狗音乐库。 https://www.wan886.com/soft/133131.html
11.《100件让你惊叹的智能创意产品设计》无论现在的手机、iPad以及电子书如何发展,上面的软件如何如何告诉你什么是阅读之美,但是从它们身上我们永远无法找到书本带给我们的真实感。在现在的这个速食阅读的时代,我们的离真实的书本已经越来越远了。如果你是一个喜欢阅读的朋友,你希望可以一个安静舒适的阅读空间。这个属于自己的私人图书馆绝对是你的最佳选择。 https://www.jbairui.net/shejibaokan/13930.html
12.这一座中国图书馆看懵老外,老外:以为是概念图,却是真实存在!扒虾娱乐 关注5,963 信息 分享: 直播热点 下载APP领会员 直播中 小言儿~ 直播中 丽丽感谢家人宠爱 直播中 悠然~ 千帆直播 人气主播 直播0 芭比bb 来接我放学呀 点击观看 直播0 憨憨憨不憨。 这嘟嘟小嘴~ 点击观看 直播0 伊宝儿 百变伊宝儿 点击观看 直播0 水冰月* 唱跳选手,点舞点唱吧 点击观看https://www.56.com/u56/v_MTkzNDU0MDUz.html
13.加强图书馆文化建设的思考图书馆网站馆务公开当下图书馆文化的概念随着社会发展也在不断丰富,通过不断的建设实践和经验总结,人们深刻认识到图书馆文化的概念不是“图书馆”和“文化”这两个概念简单组合,而是受社会政治、经济、文化等因素共同作用和影响,简言之就是指图书馆在长期为读者服务的管理活动过程中,在一定社会历史环境下逐渐形成和建立起来的,以图书馆http://www.nanao.gov.cn/na/zdly/whjgxxgk/tsgwzgwgk/content/post_1734540.html
14.汉语拼音注音规则Dìzhèn(地震) niánqīng(年轻) zhòngshì(重视) wǎnhuì(晚会) qiānmíng(签名)niǔzhuǎn(扭转) chuánzhī(船只)dànshì(但是) túshūguǎn(图书馆) 4.1.2表示一个整体概念的双音节和三音节结构,连写。 gāngtiě(钢铁) wèndá(问答) hǎifēng(海风) hóngqí(红旗)dàhuì(大会) quángguó(全国https://www.ruiwen.com/hanyupinyin/1251985.html
15.写字楼的共享图书馆如何促进知识分享为了促进员工之间的知识交流和技能共享,越来越多的写字楼设计中开始引入共享图书馆的概念。共享图书馆不仅为员工提供了丰富的学习资源,还为公司内不同团队之间的互动创造了一个理想的交流平台。通过这一空间的利用,企业能够提高员工的学习积极性,促进跨部门合作,并增强整体的知识管理。https://www.xhsydasha.cn/20241127.html
16.图书管理作业课程设计.docx图书管理作业课程设计一、教学目标本课程旨在让学生了解图书馆的基本知识,掌握图书管理的基本技能,培养学生的信息素养和自主学习能力。具体目标如下:知识目标:学生能够理解图书馆的概念、功能和基本结构,掌握图书分类、编号、借阅等基本知识。技能目标:学生能够熟练使用图书馆检索系统,进行图书检索、借阅、归还等操作,具备基https://www.renrendoc.com/paper/368533735.html
17.厦门图书馆凡产生于1912年以前,内容为研究中国古代传统文化、方法是中国古代传统著作方式、装帧具有中国古代图书传统装帧形式的典籍,即中国古籍。 2.古籍的版式 古籍版式是指古籍版刻的样式。包括版面、大小题名、版框(亦称边栏)、界行、天头、地脚、版心、行款、字数、鱼尾、象鼻、书牌、条记、句读、插图等等。版式的概念出现https://www.xmlib.net/ztxx/gjbh/gjzs/jczs/