- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
会计学;寄存器组;一、通用寄存器
8086CPU的内部寄存器都是16位。
将AX、BX、CX、DX 四个寄存器称为通用寄存器。
通用寄存器可分为两个独立的8位寄存器来用。;16位寄存器分成两个8位寄存器的使用情况;二、字在寄存器中的存储
字节(Byte):由8bit组成;可以存在8位寄存器中。
字(word):由2Byte组成;这两个字节分别称为这个字的高位字节和低位字节。
注:一个16位寄存器中存放的数据即可以看成一个字型数据,也可以看作两个字节型数据。
例:
可看成一个字型数据20000存在AX中,也可看成两个独立的字节型数据分为为78和32。
P16 关于数制的讨论;三、几条汇编指令
注:在汇编语言中英文字母不区分大小字。
;程序段中的指令;程序段中的指令;注意:
在进行数据传送或运算时,要注意指令的操作数的位数要匹配。
例:数据位数不匹配的指令
MOV AX,BL
MOV BH,AX
MOV AL,20000
ADD AL,100H;检测点2.1 1、写出每条汇编指令执行后相关寄存器中的值;检测点2.1 2、用学过的汇编指令,最多4条,编程计算2的四次方;四、物理地址
物理地址:每个内存单元的唯一编号
不同的CPU有不同的形成物理地址的方式,我们现在讨论8086CPU是如何在内部形成内存单元的物理地址的。;五、16位结构的CPU
16位机:
运算器一次最多可以处理16位的数据
寄存器的最大宽度为16位
寄存器和运算器之间的通路为16位
问题:
8086地址总线为20位
8086为16位结构
解决:
8086用两个16位地址合成一个20位地址;由两个16位地址如何形成20位地址(七)
内存单元的物理地址 = 基础地址 + 偏移地址;六、8086CPU给出物理地址的方法;8086CPU访问内存单元工作过程
访问地址为123C8H的内存单元时,地址加法器的工作过程(数据皆为十六进制表示);段地址:×16=左移4位(2进制)=左移1位(16进制);八、段的概念
两点注意:
1. 段地址×16必然是16的倍数,所以一个段的起始地址必然是16的倍数(即:XXXX0H)
2. 偏移地址为16位,所以一个段的最大长度为64KB。
段是我们为了管理内存而引入的一个虚拟的概念,我们可以将内存地址连续、起始地址为16的倍数的一??内存单元看作一个段来管理,但事实上,内存并没有被真正划分成段。
;思考:
1、观察下面的地址:
物理地址 段地址 偏移地址
21F60H 2000H 1F60H
2100H 0F60H
21F0H 0060H
21F6H 0000H
1F00H 2F60H
2、如果给定一个段地址,仅通过变化偏移地址来进行寻址,最多可定位多少内存单元?;检测点2.2
给定段地址0001H,仅通过变化偏移地址寻址,CPU的寻址范围为_____到_____。
有一数据存储在20000H内存单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则SA应满足的条件是:最小_____,最大_____。;九、段寄存器
在CPU中提供段地址的寄存器;十、 CS和IP
CS — 代码段寄存器:提供当前要执行的指令的段地址。
IP — 指令指针寄存器:指向当前要执行的指令的偏移地址。
由CS和IP分别提供一个16位的段地址和偏移地址,经地址加法器合成一个20位的物理地址,该地址为当前要执行的指令所在的位置(CS : IP)。;;;;;;;;十一、修改CS、IP的指令
若想同时修改CS、IP的内容,可用
jmp 段地址:偏移地址
例: jmp 2AE3:3 则CS=2AE3H,IP=0003H
若只修改IP的内容,可用
jmp 某一合法寄存器
例: jmp AX 则执行后IP=AX;C1;十二、代码段;小结
检测点2.3
下面的3条指令执行后,CPU几次修改IP?都是在什么时候?最后IP中的值是多少?
mov ax, bx
sub ax, ax
jmp ax
原创力文档


文档评论(0)