王爽汇编语言 寄存器内存访问PPT课件_第1页
王爽汇编语言 寄存器内存访问PPT课件_第2页
王爽汇编语言 寄存器内存访问PPT课件_第3页
王爽汇编语言 寄存器内存访问PPT课件_第4页
王爽汇编语言 寄存器内存访问PPT课件_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、内存中字的存储110001111111011000111001内存单元寄存器的逻辑结构15 14 13 12 11 109876543210字单元:即存放一个字型数据(16位)的内存单元,由两个地址连续的内存单元组成。高地址内存单元中存放字型数据的高位字节,低地址内存单元中存放字型数据的低位字节。0110111110011100字单元第1页/共25页020H14EH212H300H45例:1)0地址单元中存放的字节型数据是多少?2)0地址字单元中存放的字型数据是多少?3)2地址单元中存放的字节型数据是多少?4)2地址字单元中存放的字型数据是多少?5)1地址字单元中存放的字型数据是多少?第2

2、页/共25页二、DS和addressDS数据段寄存器:提供数据所在内存的段地址。address:表示一个偏移地址为address的内存单元。例:1234H指偏移地址为1234H的内存单元。 AX指偏移地址为(AX)的内存单元。10000H20H10001H4EH10002H12H10003H00H10004H10005HMOVBX,1000HMOVDS,BXMOVAL,0000HCPU要存取内存中的数据时,段地址默认在DS寄存器中,偏移地址在指令中给出。第3页/共25页通用寄存器AX、BX、CX、DX、BP、SP、SI、DI、AL、AH、BL、BH、CL、CH、DL、DH存储器立即数段寄存器C

3、S、DSES、SSCS只能作源操作数MOVAX,1234HMOVBL,12HMOVCX,03HMOV0,12HMOV0200H,1234HMOVAX,03HMOVAX,BXMOVDX,AXMOVBL,ALMOVAX,0MOV0,AXMOVBL,AXMOVAX,DSMOVDS,AXMOVAX,CSMOVCS,AX MOVDS,0MOV1,ESMOVAX,CS第4页/共25页判断下列指令是否正确,若错误,为什么?1、MOV CL,1000H2、MOV AL,1000H3、MOV BX,SI4、MOV AH,BH5、MOV AX,SI6、MOV 1234H,BX7、MOV CL,AX8、MOV CS

4、,AX9、MOV DS,CS第5页/共25页问题:试写几条指令,将AL中的数据保存到内存单元12345H中。MOV BX,1000HMOV DS,BXMOV 2345H,AL第6页/共25页三、字的传送MOVBX,1000HMOVDS,BXMOVAX,0 ;将1000:0处的字型数据送入AX中MOV0,CX ;将CX中的16位数据送到1000:0处MOVBH,0 ;将1000:0处的字节型数据送入BH当向内存单元中存取数据时,若操作的为字节型数据则一次读写一个内存单元,若为字型数据则按低地址为低8位,高地址为高8位的原则存取数据。第7页/共25页例:内存单元中的情况如图所示,写出下面指令执行后

5、寄存器AX,BX,CX中的值。MOVAX,1000HMOVDS,AXMOVAX,0MOVBX,2MOVCX,1ADDBX,1ADDCX,210000H23H10001H11H10002H22H10003H66HAX=1000HDS=1000HAX=1123HBX=6622HCX=2211HBX=8833HCX=8833H第8页/共25页例:内存单元中的情况如图所示,写出下面指令执行后内存中的值。MOVAX,1000HMOVDS,AXMOVAX,11316MOV0,AXMOVBX,0SUBBX,2MOV2,BX10000H23H10001H11H10002H22H10003H11HAX=1000

6、HDS=1000HAX=2C34HBX=2C34HBX=1B12H34H2CH12H1BH第9页/共25页四、MOV、ADD、SUB指令一条指令包括如下内容:1)操作码:指令所执行的操作。2)操作数:指令操作的对象,包括操作数的来源,操作结果的去向。操作对象通常为存储器地址,寄存器或立即数。例:MOV AX, 03HMOV操作码操作数AX, 03H目的操作数AX源操作数03H第10页/共25页通用寄存器AX、BX、CX、DX、BP、SP、SI、DI、AL、AH、BL、BH、CL、CH、DL、DH存储器立即数段寄存器CS、DSES、SSMOVAX,8MOVAX,BXMOVAX,0MOV0,AXM

7、OVDS,AXCS只能作源操作数MOVAX,DSMOVAX,CSMOV0,DSMOV0,CSMOV DS, 0MOVCS,AXADDDS,AXADDDS,0第11页/共25页五、数据段XXXX001H12H23H34H45H56H67H78H89H9AHABH123B0H123B1H123B2H123B3H123B4H123B5H123B6H123B7H123B8H123B9H123BAHDSaddress地址加法器MOVAX,123BHMOVDS,AXMOVAL,0ADDAL,0ADDAL,1ADDAL,2第12页/共25页六、栈(堆栈)栈:是具有特殊的访问方式的存储空间。栈有两个基本操作:

8、入栈;出栈。DCBADCBADCBA第13页/共25页七、CPU提供的栈机制、PUSH和POP指令堆栈指令PUSH堆栈压入指令 格式: PUSH OP(操作数)功能:将OP中的内容放入堆栈段中POP 堆栈弹出指令 格式:POP OP功能:将堆栈段中的内容弹出到OP。说明:OP可以是段寄存器(CS除外)、通用寄存器或内存的字单元。PUSH AXPUSH DSPUSH 0POP AXPOP DSPOP 0第14页/共25页10000H10009H1000AH1000BH1000CH1000DH1000EH1000FH设现有10000H1000FH为一栈段MOV AX,0123HPUSH AX012

9、3MOV BX,2266HPUSH BX2266MOV CX,1122HPUSH CX1122POP AXAX=1122HPOP BXBX=2266HPOP CXCX=0123HCPU如何知道堆栈段在哪里?执行PUSH、POP指令时,CPU如何找到要操作的位置?第15页/共25页 CPU执行指令CS:IP CPU读写内存数据DS:address CPU进行堆栈操作SS:SPSS堆栈段寄存器:指定堆栈段的段地址SP堆栈指针寄存器:指向栈顶的偏移地址任意时刻,SS:SP指向栈顶地址。第16页/共25页PUSH 入栈过程10000H1000BH1000CH1000DH1000EH231000FH01

10、当前:SS=1000H , SP=000EH ,AX=2266HPUSH AX栈顶66栈顶1)SP=SP-2,SS:SP指向当前栈顶前面的单元,以当前栈顶前面的单元为新的栈顶。222)将AX中的内容送入SS:SP指向的内存单元处,SS:SP此时指向新栈顶。第17页/共25页POP 出栈过程10000H1000BH1000CH1000DH1000EH231000FH01POP AX栈顶66栈顶1)将SS:SP指向的内存单元处的数据送入AX中;222)SP=SP+2,SS:SP指向当前栈顶下面的单元,以当前栈顶下面的单元为新的栈顶。当栈空时,栈顶的位置为多少?第18页/共25页八、栈顶超界的问题1

11、0000H1000BH1000CH1000DH1000EH1000FH10010H栈空间SS:SP768798235645342312当栈满时再执行PUSH指令入栈,或在栈空时执行POP指令出栈,都将发生栈顶超界的问题。在8086CPU中没有预防栈超界的机制,所以程序员必须自己考虑,防止栈超界。第19页/共25页九、PUSH、POP指令例:编程,将10000H1000FH这段空间当作栈,初始状态栈是空的,将AX,BX,DS中的数据入栈。MOV AX,1000HMOV SS,AXMOV SP,0010HPUSH AXPUSH BXPUSH DS第20页/共25页例:编程:1.将10000H100

12、0FH这段空间当作栈,初始状态是空的;2.设置AX=001AH,BX=001BH;3.将AX,BX中的数据入栈;4.然后将AX、BX清零;5.从栈中恢复AX、BX原来的内容;MOV AX,1000MOV SS,AXMOV SP,0010HMOV AX,001AHMOV BX,001BHPUSH AXPUSH BXSUB AX,AXSUB BX,BXPOP BXPOP AX第21页/共25页例:编程1. 将10000H1000FH这段空间作栈,初始状态栈是空的;2. 设置AX=002AH,BX=002BH;3. 利用栈,交换AX和BX中的数据。MOV AX,1000HMOV SS,AXMOV SP,0010HMOV AX,002AHMOV BX,002BHPUSH AXPUSH BXPOP AXPOP BX第22页/共25页例:如果要将10000H处写入字型数据2266H,可以用以下指令完成:MOV AX,1000HMOV DS,AXMOV AX

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论