第3章2 80x86的指令系统和寻址方式1(3.3 80X86指令系统).ppt

第3章2 80x86的指令系统和寻址方式1(3.3 80X86指令系统).ppt

ID:48157925

大小:3.82 MB

页数:100页

时间:2020-01-17

第3章2 80x86的指令系统和寻址方式1(3.3 80X86指令系统).ppt_第1页
第3章2 80x86的指令系统和寻址方式1(3.3 80X86指令系统).ppt_第2页
第3章2 80x86的指令系统和寻址方式1(3.3 80X86指令系统).ppt_第3页
第3章2 80x86的指令系统和寻址方式1(3.3 80X86指令系统).ppt_第4页
第3章2 80x86的指令系统和寻址方式1(3.3 80X86指令系统).ppt_第5页
资源描述:

《第3章2 80x86的指令系统和寻址方式1(3.3 80X86指令系统).ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、3.3.1数据传送类指令3.3.2算术运算类指令3.3.3位操作类指令3.3.4控制转移类指令3.3.5串操作类指令3.3.6处理机控制类指令3.38086指令系统教学重点重点掌握常用指令功能及应用常用传送指令加减法指令逻辑运算和移位指令控制转移指令字符(串)输入输出功能调用什么是指令系统计算机的指令系统就是指该计算机能够执行的全部指令的集合每种计算机都有它支持的指令集合16位8086指令系统是Intel80x86系列微处理器指令系统的基础学习指令的注意事项指令的功能——该指令能够实现何种操作。通常指令助记符就是指令功能的英文单词或其缩写形式指令支持的寻址方式——该指令中的操作数可以采用何种

2、寻址方式指令对标志的影响——该指令执行后是否对各个标志位有影响,以及如何影响其他方面——该指令其他需要特别注意的地方,如指令执行时的约定设置、必须预置的参数、隐含使用的寄存器等汇编语言指令格式由4部分组成:[标号:]指令助记符[目的操作数,源操作数][;注释]标号表示该指令在主存中的逻辑地址每个指令助记符就代表一种指令目的和源操作数表示参与操作的对象注释是对该指令或程序段功能的说明3.2.1数据传送类指令数据传送是计算机中最基本、最重要的一种操作传送指令也是最常使用的一类指令传送指令把数据从一个位置传送到另一个位置除标志寄存器传送指令外,均不影响标志位重点掌握MOVXCHGXLATPUSHP

3、OPLEA1).通用数据传送指令提供方便灵活的通用传送操作有3条指令MOVXCHGXLATMOVXCHGXLAT(1).传送指令MOV(move)把一个字节或字的操作数从源地址传送至目的地址MOVreg/mem,imm;立即数送寄存器或主存MOV例题1MOVreg/mem/seg,reg;寄存器送(段)寄存器或主存例题2MOVreg/seg,mem;主存送(段)寄存器例题3MOVreg/mem,seg;段寄存器送寄存器或主存例题4例1:立即数传送moval,4;al←4,字节传送movcx,0ffh;cx←00ffh,字传送movsi,200h;si←0200h,字传送movbyteptr[

4、si],0ah;byteptr说明是字节操作movwordptr[si+2],0bh;wordptr说明是字操作注意立即数是字节量还是字量明确指令是字节操作还是字操作MOV例2:寄存器传送movax,bx;ax←bx,字传送movah,al;ah←al,字节传送movds,ax;ds←ax,字传送mov[bx],al;DS:[bx]←al,字节传送MOV例3:存储器传送moval,[bx];al←DS:[bx]movdx,[bp];dx←ss:[bp]moves,[si];es←ds:[si]不存在存储器向存储器的传送指令MOV例4:段寄存器传送mov[si],ds;ds:[si]movax

5、,es;ax←esmovds,ax;ds←ax←es对段寄存器的操作有一些限制MOVMOV指令传送功能MOV也并非任意传送立即数段寄存器CSDSESSS通用寄存器AXBXCXDXBPSPSIDI存储器非法传送种种两个操作数的类型不一致例如源操作数是字节,而目的操作数是字;或相反两个操作数不能都是存储器传送指令很灵活,但主存之间的直接传送却不允许段寄存器的操作有一些限制段寄存器属专用寄存器,对他们的操作能力有限示例示例示例两个操作数的类型要一致绝大多数双操作数指令,除非特别说明,目的操作数与源操作数必须类型一致,否则为非法指令MOVAL,050AH;非法指令:050Ah为字,而AL为字节寄存器

6、有明确的字节或字类型,有寄存器参与的指令其操作数类型就是寄存器的类型对于存储器单元与立即数同时作为操作数的情况,必须显式指明;byteptr指示字节类型,wordptr指示字类型两个操作数不能都是存储器8086指令系统不允许两个操作数都是存储单元(除串操作指令),要实现这种传送,可通过寄存器间接实现movax,buffer1;ax←buffer1(将buffer1内容送ax)movbuffer2,ax;buffer2←ax;这里buffer1和buffer2是两个字变量;实际表示直接寻址方式要小心段寄存器的操作不允许立即数传送给段寄存器MOVDS,100H;非法指令:立即数不能传送段寄存器不

7、允许直接改变CS值MOVCS,[SI];不允许使用的指令不允许段寄存器之间的直接数据传送MOVDS,ES;非法指令:不允许段寄存器间传送(2).交换指令XCHG(exchange)把两个地方的数据进行互换寄存器与寄存器之间对换数据寄存器与存储器之间对换数据不能在存储器与存储器之间对换数据XCHGXCHGreg,reg/mem;regreg/mem例题6例题5演示例5:寄存器间交换movax,1234h;ax

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。