- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
3.1 内存中字的存储 在0地址处开始存放20000: 0号单元是低地址单元,1号单元是高地址单元。 3.1 内存中字的存储 问题: (1)0地址单元中存放的字节型数据是多少? (2)0地址字单元中存放的字型数据是多少? (3)2地址字单元中存放的字节型数据是多少? (4) 2地址单元中存放的字型数据是多少? (5) 1地址字单元中存放的字型数据是多少? 3.1 内存中字的存储 结论: 任何两个地址连续的内存单元,N号单元和 N+1号单元,可以将它们看成两个内存单元 ,也可以看成一个地址为N的字单元中的高位字节单元和低位字节单元。 3.2 DS和[address] CPU要读取一个内存单元的时候,必须先给出这个内存单元的地址; 在8086PC中,内存地址由段地址和偏移地址组成。 8086CPU中有一个 DS寄存器,通常用来存放要访问的数据的段地址。 3.2 DS和[address] 例:读取10000H单元的内容 mov bx,1000H mov ds,bx mov al,[0] 功能:将10000H(1000:0)中的数据读到al中。 3.2 DS和[address] mov al,[0] “[…]”表示一个内存单元 “[…]”中的0表示内存单元的偏移地址。 8086CPU自动取DS中的数据为内存单元的段地址。 3.2 DS和[address] 问题:用mov指令从10000H中读取数据? 10000H表示为1000:0(段地址:偏移地址) 将段地址1000H放入ds,用mov al,[0]完成传送 3.2 DS和[address] 如何把1000H送入ds? mov ds,1000H 是非法的。 8086CPU不支持将数据直接送入段寄存器的操作,ds是一个段寄存器。(硬件设计的问题) 数据?一般的寄存器?段寄存器 3.2 DS和[address] 将al中的数据送入内存单元10000H mov bx,1000H mov ds,bx mov [0],al 3.3 字的传送 8086有16根数据线,可以一次性传送一个字。 3.3 字的传送 问题3.3:内存中的情况如右图,写出下面指令执行后寄存器ax,bx,cx中的值。 单步跟踪 问题3.3分析 3.3 字的传送 问题3.4:内存中的情况如右图,写出下面指令执行后寄存器ax,bx,cx中的值。 分析。(单步跟踪) 问题3.4分析 3.4 mov、add、sub指令 已学mov指令的几种形式: mov 寄存器,数据 mov 寄存器,寄存器 mov 寄存器,内存单元 mov 内存单元,寄存器 mov 段寄存器,寄存器 3.4 mov、add、sub指令 根据已知指令进行推测: mov 段寄存器,寄存器 mov 寄存器,段寄存器(验证) mov 内存单元,寄存器 mov 内存单元,段寄存器 mov 段寄存器,内存单元 3.4 mov、add、sub指令 add和sub指令同mov一样,都有两个操作对象。 它们可以对段寄存器进行操作吗? (请自行在Debug中试验) 3.5 数据段 将一组长度为N(N≤64K)、地址连续、起始地址为16的倍数的内存单元当作专门存储数据的内存空间,从而定义了一个数据段。 用123B0H~123B9H这段空间来存放数据: 段地址:123BH 长度:10字节 3.5 数据段 如何访问数据段中的数据? 用 ds 存放数据段的段地址,再根据需要,用相关指令访问数据段中的具体单元。 示例 3.5 数据段 将123B0H~123BAH的内存单元定义为数据段,累加这个数据段中的前3个单元中的数据: 问题3.5分析 3.1节~3.5节 小结 (1)字在内存中存储时 ,要用两个地址连续的内存单元来存放,字的低位字节存放在低地址单元中,高位字节存放再高地址单元中。 (2)用 mov 指令要访问内存单元,可以在mov指令中只给出单元的偏移地址,此时,段地址默认在DS寄存器中。 (3)[x]表示一个偏移地址为x的内存单元。 3.1节~3.5节 小结(续) (4)在内存和寄存器之间传送字型数据时,高地址单元和高8位寄存器、低地址单元和低8位寄存器相对应。 (5)mov、add、sub是具有两个操作对象的指令。jmp是
文档评论(0)