已知段vim 寄存器器(DS)=2000H,(ES)=1234H,求相应段的首地址和末地址。

您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
第2章 CPU资源和存储器.ppt 41页
本文档一共被下载:
次 ,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
需要金币:100 &&
你可能关注的文档:
··········
··········
存储器的分段管理 分段的思想: 用两个16位地址合成的方法形成一个20位的物理地址 关于分段的规定 段的起始:每个逻辑段的起始地址必须是16的倍数。
即:xxxx xxxx xxxx xxxx 0000B
或:xxxx0H 段的容量:每个逻辑段的最大容量可以达到64KB。 注意:各逻辑段之间是可以重叠的。 * * 主存实际上并没有从物理上分段,段的划分只是来自于CPU的管理! 存储器的分段管理模式 …… …… …… …… …… * * 物理地址 00000H …… 1H
…… 22000H …… 2233FH …… 0FFFFFH 主存储器 段起始单元 逻辑段1 段地址为:1234H 保存于段寄存器中 偏移地址 H 0002H
0FFFFH 段起始单元 …… 逻辑段2 段地址为:2200H 保存于段寄存器中 偏移地址 H 0002H
0FFFFH 关于分段 1MB空间最多能分成多少个段? 逻辑段最密集的划分方式
——每隔16个存储单元开始一个新段,各段都是重叠的; 所以,1MB最多可以有220÷16=216=64K 个段 1MB空间最少能分成多少个段? 逻辑段最松散的划分方式
——每隔 64K 个存储单元开始一个新段,各段不重叠; 所以,1MB最少可以有 220÷216=16 个段 * * 物理地址的形成 任意一个物理地址均可以用段地址和偏移地址两部分形成; 逻辑地址:段地址 + 偏移地址 分段的不同,可导致同一个物理地址对应多个不同的逻辑地址。 物理地址(PA)=段地址×16 + 偏移地址 段地址:段起始单元物理地址的高16位,其值由段寄存器(CS、DS、ES、SS)保存; 偏移地址:也叫有效地址(EA) ,指实际单元和段起始单元之间的距离。 * * 即将段地址左移4个二进制位 分段模式下主存储器的地址类型 物理地址 每个存储单元在整个存储器中的唯一标识; 段地址 逻辑段首单元的物理地址的高16位; 有效地址EA(段内偏移地址) 该存储单元相对于段首单元的偏移量; 该单元物理地址 = 有效地址 + 段首单元的物理地址; 逻辑地址 由段地址和有效地址表示的存储单元地址形式; * * 某单元A的物理地址为23000H 若段起始地址为20000H,即段地址为2000H 则A的有效地址为3000H 该段中,A的逻辑地址可表示为H 段寄存器的引用 段寄存器要与指针寄存器一起使用来访问主存; 代码段段寄存器CS——指针寄存器为IP。 数据段段寄存器DS——指针寄存器一般用BX、SI、DI。 附加段段寄存器ES——指针寄存器一般用DI(字符串操作)。 堆栈段段寄存器SS——指针寄存器SP指向栈顶,指针寄存器BP指向栈内任意位置。 * * 物理地址的形成 * * 内部暂存器
CS 输入/输出控制电路 外部总线 执行部分控制电路 1 2
6 ∑ ALU 标志寄存器
DI 通用寄存器 地址加法器 指令队列缓冲器 执行部件 (EU) 总线接口部件 (BIU) 16位 20位 16位 8位 习题2.8
填空 16位CPU在取指令时,需要用到的寄存器有__和 __; 访问堆栈段栈顶单元要由__段寄存器和__寄存器组合来寻址,访问堆栈段中的单元要由__段寄存器和__寄存器组合来寻址; 访问数据段中的单元要由 __段寄存器和 ______寄存器组合来寻址; 在16位微机系统中,一个程序最多能同时使用_个数据段。 * * CS IP SS SP SS BP DS BX、SI、DI 3 DS、ES、SS 本章小结 熟悉CPU内部寄存器的功能和用法,能够在以后的汇编语言程序设计中熟练应用; 理解8086系统中的存储器分段管理模式; 理解分段管理模式下的物理地址形成; 熟悉分段管理模式下的逻辑地址表示; 了解分段管理模式下地址与寄存器之间的关系; * * 第2章
1、3、9、12
补充作业: 1、为什么实模式下的每个段不能超过64KB? 2、设有一个包含8个字的数据区,起始地址为H,请给出该数据区首末字单元的物理地址。
* * 第二章
CPU资源和存储器 2.1
寄存器组 2.2
存储器的管理模式 微机系统组成结构图
I/O 接 口 主存储器 系统总线 辅助存储器 输入设备 输出设备 CPU 寄存器 控制器 运算器 时钟 8086 C
正在加载中,请稍后...【图文】7 微机原理与接口技术 汇编语言习题课2_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
7 微机原理与接口技术 汇编语言习题课2
大小:153.50KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢文档分类:
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,
下载前请先预览,预览内容跟原文是一样的,在线预览图片经过高度压缩,下载原文更清晰。
您的浏览器不支持进度条
下载文档到电脑,查找使用更方便
还剩?页未读,继续阅读
播放器加载中,请稍候...
该用户其他文档
下载所得到的文件列表微机原理课后答案.doc
文档介绍:
微机原理课后答案
2.1 将下列十进制数分别转换为二进制数、八进制数、十六进制数。
128D=0O=80H
0.47D=0..36O=0.78H
67.544D=0B=103.BH
2.2 将下列二进制数转换成十进制数。
B =24.3125D
2.3 将下列二进制数分别转换为八进制数、十六进制数。
1B=56.44O=2E.9H
0..564O=0.BAH
2.4 写出下列用补码表示的二进制数的真值。
2.6 写出下列十进制数的BCD码表示形式。
456=(10)BCD
789=(01)BCD
123=(11)BCD
3.1 8086CPU由几部分组成?它们的主要功能是什么?
答:从功能上讲,8086分为两部分,即总线接口部件BIU(Bus Interface Unit)和执行部件EU(Execution Unit)。
BIU是CPU与外部存储器及I/O的接口,负责与存储器和I/0系统进行数据交换。指令执行部件EU完成指令译码和执行指令的工作。
3.2 8086有多少根地址线?可直接寻址多大容量的内存空间?
答:8086CPU有16根数据线和20根地址线,直接寻址空间为220,即为1M字节。
3.3 8086内部的寄存器由哪几种类型组成?各自的作用是什么?
答:8086CPU内部有14个16位寄存器,可以分为以下三组:分别是通用寄存器组,段寄存器组,控制寄存器。
通用寄存器组可以分为两组:数据寄存器和地址指针与变址寄存器。
数据寄存器主要用来保存算术、逻辑运算的操作数、中间结果和地址。地址指针与变址寄存器主要用于存放或指示操作数的偏移地址。
段寄存器组:CPU内部设置了4个16位段寄存器,它们分别是代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS、附加段寄存器
ES,由它们给出相应逻辑段的首地址,称为“段基址”。
控制寄存器:含指令指针IP及标志位寄存器FR。
IP用来存放将要执行的下一条指令在现行代码段中的偏移地址。
标志寄存器FR用来存放运算结果的特征
3.5 8086的存储器采用什么结构?
答:8086的存储器采用分体结构。1M的存储空间分成两个存储体:偶地址存储体和奇地址存储体,各为512K字节。
3.7 8086系统中的堆栈操作是按什么原则进行的?
答:堆栈操作的原则是后进先出。
4.3存储器的地址译码有几种方式?各自的特点是什么?
答:常用的存储器地址译码有两种方式,即单译码和双译码方式。
单译码方式是一个“N中取1”的译码器,译码器输出驱动N根字线中的一根,每根字线由M位组成。若某根字线被选中,则对应此线上的M位信号便同时被读出或写入,经输出缓冲放大器输出或输入一个M位的字。主要用于小容量的存储器。
双译码方式采用的是两级译码电路。当字选择线的根数N很大时,N=2p中的p必然也大,这时可将p分成两部分,如:N=2p=2q+r=2q×2r=X×Y,这样便将对N的译码分别由X译码和Y译码两部分完成。从而大大减少了选择线的数目。
4.4某RAM芯片的存储容量为位,该芯片的外部引脚应有几条地址线?几条数据线?若已知某RAM芯片引脚中有13条地址线,8条数据线,那么该芯片的存储容量是多少? 答:该芯片的外部引脚应有
10条地址线,8条数据线。
RAM芯片引脚中有13条地址线,8条数据线,那么该芯片的存储容量是8K×8位。
4.5用Intel 2114 1K×4位的RAM芯片组成32K×8位的存储器,需要多少块这样的芯片?
答:需要64块。
注:扩展时需要的芯片数量可以这样计算:要构成一个容量为 M×N 位的存储器,若使用 p×k 位的芯片(p&M,k&N),则构成这个存储器需要( M/p )×( N/k )个这样的存储器芯片。
4.6利用2764芯片(EPROM,8K×8位)并采用74LS138译码器进行全译码,在8086系统的最高地址区组成32KB的ROM,请画出这些芯片与系统总线连接的示意图。
A19A18A17A16
5.1 试出指令MOV BX,3040H和MOV BX,[3040H]有什么不同? 1、寻址方式不同:立即数寻址和直接寻址。 2、运行结果不同:
MOV BX,3040H ;BX=3040H
MOV BX,[3040H] ;将DS段3040H和3041H的内容送BX 5.2 指出下列指令是否有错,并说明理由。
(1)MOV [DI],[SI] ;错,内存单元之间不能直接进行数据传送(2)MOV CS,AX ;错,CS不能做目的操作数(3)MOV 1200,AX ;错,立即数不能做目的操作数(4)MOV DS,
CS ;错,段寄存器之间不能互相传送(5)PUSH FLAG ;对
(6)POP CS ;错,CS不能做目的操作数
(7)MOV CL,AX ;错,源、目的操作数长度不一致
(8)MOV [5000H],[1000H] ;错,内存单元之间不能直接进行数据传送
5.3 在8086中,堆栈操作是字操作还是字节操作?已知SS=1050H,SP=0006H,AX=1234H,若对AX执行压栈操作(即执行PUSH AX);试问AX的内容存放在何处? 答:堆栈操作是字操作。入栈时“先减后压”(SP先减2,再压入操作数),执行压栈操作后AL的内容存放在10504H,AH的内容存放在10505H。
5.4 假如要从200中减去AL中的内容,用SUB 200,AL对吗?如果不对,应采用什么方法?
答:不对,立即数不能作为目的操作数。先把立即数传送到一个存储器或寄存器当中。例如:MOV BL,200 SUB BL,AL 或: NEG AL
ADD AL, 200
5.5 编程求AX累加器和BX寄存器中两个无符号数之差的绝对值,结果放内存(2800H)单元中。
解: CMP AX , BX CMP AX , BX CLC
内容来自淘豆网转载请标明出处.温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(1858)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_095071',
blogTitle:'《微机原理与接口技术》习题解答1',
blogAbstract:'习题1
1.1& 冯·诺依曼型计算机的设计方案有哪些特点?
【解答】冯·诺依曼型计算机的设计方案是“存储程序”和“程序控制”,有以下5方面特点:
(1)用二进制数表示数据和指令;
(2)指令和数据存储在内部存储器中,按顺序自动依次执行指令;
(3)由运算器、控制器、存储器、输入设备和输出设备组成基本硬件系统;
(4)由控制器来控制程序和数据的存取及程序的执行;
(5)以运算器为核心。
1.2& 微处理器和微型计算机的发展经历了哪些阶段?各典型芯片具备哪些特点?
【解答】经历了6代演变,各典型芯片的特点如表1-1所示。',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:7,
publishTime:9,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}}

我要回帖

更多关于 arm 寄存器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信