- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
教学提示.ppt
教学提示 全面而准确地理解每条指令的功能和应用,是编写汇编语言程序的关键 2.3 数据传送类指令 数据传送是计算机中最基本、最重要的一种操作 传送指令也是最常使用的一类指令 传送指令把数据从一个位置传送到另一个位置 除标志寄存器传送指令外,均不影响标志位 重点掌握 MOV XCHG XLAT PUSH POP LEA 2.3.1 通用数据传送指令 提供方便灵活的通用传送操作 有3条指令 MOV XCHG XLAT 传送指令MOV(move) 把一个字节或字的操作数从源地址传送至目的地址 例2.1:立即数传送 mov al,4 ;al←4,字节传送 mov cx,0ffh ;cx←00ffh,字传送 mov si,200h ;si←0200h,字传送 mov byte ptr [si],0ah ;byte ptr 说明是字节操作 mov word ptr [si+2],0bh ;word ptr 说明是字操作 例2.2:寄存器传送 mov ax,bx ;ax←bx,字传送 mov ah,al ;ah←al,字节传送 mov ds,ax ;ds←ax,字传送 mov [si],al ;[si]←al,字节传送 例2.3:存储器传送 mov al,[bx] mov dx,[bp] ;dx←ss:[bp] mov es,[si] ;es←ds:[si] 例2.5:段寄存器传送 mov [si],ds mov ax,es ;ax←es mov ds,ax ;ds←ax←es MOV指令传送功能 MOV也并非任意传送 非法传送种种 两个操作数的类型不一致 例如源操作数是字节,而目的操作数是字;或相反 两个操作数不能都是存储器 传送指令很灵活,但主存之间的直接传送却不允许 段寄存器的操作有一些限制 段寄存器属专用寄存器,对他们的操作能力有限 两个操作数的类型要一致 绝大多数双操作数指令,除非特别说明,目的操作数与源操作数必须类型一致,否则为非法指令 MOV AL,050AH ;非法指令:050Ah为字,而AL为字节 寄存器有明确的字节或字类型,有寄存器参与的指令其操作数类型就是寄存器的类型 对于存储器单元与立即数同时作为操作数的情况,必须显式指明;byte ptr指示字节类型,word ptr指示字类型 两个操作数不能都是存储器 8086指令系统不允许两个操作数都是存储单元(除串操作指令),要实现这种传送,可通过寄存器间接实现 mov ax,buffer1 ;ax←buffer1(将buffer1内容送ax) mov buffer2,ax ;buffer2←ax ;这里buffer1和buffer2是两个字变量 ;实际表示直接寻址方式 要小心段寄存器的操作 不允许立即数传送给段寄存器 MOV DS,100H ;非法指令:立即数不能传送段寄存器 不允许直接改变CS值 MOV CS,[SI] ;不允许使用的指令 不允许段寄存器之间的直接数据传送 MOV DS,ES ;非法指令:不允许段寄存器间传送 交换指令XCHG(exchange) 把两个地方的数据进行互换 例2.6:寄存器间交换 mov ax,1234h ;ax=1234h mov bx,5678h ;bx=5678h xchg ax,bx ;ax=5678h,bx=1234h xchg ah,al ;ax=7856h 例2.7:寄存器与存储器交换 xchg ax,[2000h] ;字交换 ;等同于 xchg [2000h],ax xchg al,[2000h] ;字节交换 ;等同于 xchg [2000h],al 换码指令XLAT(translate) 将BX指定的缓冲区中、AL指定的位移处的一个字节数据取出赋给AL 例2.8:代码转换 mov bx,100h mov al,03h xlat 2.3.2 堆栈操作指令 堆栈是一个“后进先出FILO”(或说“先进后出FILO”)的主存区域,位于堆栈段中;SS段寄存器记录其段地址 堆栈只有一个出口,即当前栈顶;用堆栈指针寄存器SP指定 栈顶是地址较小的一端(低端),栈底不变 堆栈和队列 堆栈:按照后进先出(LIFO)的原则组织的存储器空间(栈) 队列:按照先进先出(FIFO)的原则组织的存储器空间 堆栈的操作 堆栈只有两种基本操作:进栈和出栈,对应两条指令PUSH和POP 进栈指令PUSH push ax push [2000h] 出栈指令POP pop ax pop [2000h] 堆栈的特点 堆栈操作的单位是字,进栈和出栈只对字量 字量数据从栈顶压入和弹出时,都是低地址字节送低字节,高地址字节送高字节 堆栈操作遵循先进后出原则,但可用存储器寻址方式随机存取堆栈中的数据 堆栈常用来 临时存放数据 传递参数 保存和恢复寄
您可能关注的文档
最近下载
- 地铁车站客伤处理.pptx VIP
- 2025活跃用户研究报告小红书平台.pdf VIP
- 丙烯腈催化剂产品技术标准要求2023年.docx
- 互联网传媒行业市场前景及投资研究报告:小红书,头部内容社区.pdf VIP
- 小学信息技术(信息科技)五年级全一册义务教育版(2024)合集.docx
- 小红书:高活跃度的生活分享社区,广告与电商业务加速推进-中信建投-202501.pdf VIP
- JTG-G10-2016 公路工程施工监理规范.pdf VIP
- 七年级地理上册 第二章 第三节 地图的应用教案 (新版)商务星球版.doc VIP
- 三菱电梯调试员内部培训机密资料(1).doc VIP
- 校园超市经营投标方案.docx
文档评论(0)