欢迎来到天天文库
浏览记录
ID:38886993
大小:483.00 KB
页数:157页
时间:2019-06-20
《《指令系统》课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《微机原理及应用》主讲教师陈玮第三章8086/8088指令系统一、指令格式与寻址方式二、数据传送类指令三、算术运算指令四、逻辑运算指令五、移位指令作业六、串操作指令七、控制转移指令八、处理器控制指令作业2021/9/42一、指令格式与寻址方式指令(Instruction)是指示CPU执行某种操作的命令;指令系统(InstructionSet)是某一CPU所能执行的全部指令的集合,也称为指令集;8086/8088的指令系统完全相同。指令是构成程序的基础,程序是指令的有序组合,CPU执行程序就是执行一条
2、条指令。1、指令格式2、寻址方式2021/9/43二、数据传送类指令1、通用数据传送指令2、地址传送指令3、状态标志传送指令2021/9/44三、算术运算指令1、加法运算指令2、减法指令3、乘法指令4、除法指令例题2021/9/45四、逻辑运算指令1、“与”运算指令AND2、“或”运算指令OR3、“非”运算指令NOT4、“异或”运算指令XOR5、测试指令TEST2021/9/46五、移位指令1、逻辑移位指令2、算术移位指令3、循环移位指令4、通过进位位循环移位指令例题2021/9/47七、控制转移指
3、令1、控制转移指令的寻址方式2、无条件转移指令3、条件转移指令4、循环控制指令5、过程调用和返回指令2021/9/48八、处理器控制指令1、标志位操作指令2、与外部事件协调同步的指令3、空操作指令2021/9/491、指令格式(1)操作码指定CPU执行某种操作,如传送、运算等;(2)操作数为参与操作的数据,如寄存器中的数据或内存单元中的数据等。①包含一个操作数的指令称为单操作数指令;②包含两个操作数的指令称为双操作数指令;③在指令执行过程中使用的操作数,保持原值不变的称为源操作数;④不保留原值而将处
4、理结果存入其中的称为目的操作数。操作码操作数一条指令通常包括两部分:操作码和操作数。格式:2021/9/4102、寻址方式(AddressingMode)(1)指令寻址方式指令通常是顺序存放的,因此只要通过对指令指针自动加1,便形成下条指令地址;只有当遇到转移指令或调用指令时,根据转移目标去修改IP或CS。(2)操作数寻址方式所谓操作数寻址方式,就是寻找指令中所需操作数的方法。2021/9/4112、寻址方式(AddressingMode)操作数的来源①包含在指令中,紧跟在操作码之后,称为立即数;②
5、操作数在CPU的某个寄存器中;③操作数在内存的某单元中,这时指令中给出的是操作数所在单元的地址,或者是产生该地址的计算方法;④操作数在某I/O端口中。2021/9/4122、寻址方式(AddressingMode)由于操作数的不同来源,产生了三大类寻址方式。(1)立即数寻址(2)寄存器寻址(3)内存寻址例题2021/9/413(1)立即(数)寻址当操作数就在指令中时,称为立即(数)寻址。这种操作数称为立即数,8位或16位均可。如:①MOVAL,12H说明:这条指令的功能就是将立即数12H传送到寄存器
6、AL中。执行完该条指令后,(AL)=12H或表示成:AL=12H2021/9/414(1)立即(数)寻址②MOVAX,1234H说明:这条指令的功能就是将立即数1234H传送到寄存器AX中。执行完该条指令后,(AX)=1234H或表示成:AX=1234H2021/9/415(1)立即(数)寻址③MOVAL,12H这是一条双操作数指令。其中:*MOV就是操作码,*立即数12H称为源操作数;*寄存器AL称为目的操作数。特点:*源操作数在执行指令后,它的值不会发生变化;*立即数不能作为目的操作数。2021
7、/9/416(2)寄存器寻址(SegmentAddressing)当操作数在寄存器中时为寄存器寻址(或称寄存器直接寻址)。如:①MOVAL,12H说明:目的操作数AL即为寄存器寻址。②MOVAX,BX说明:这条指令的功能就是将寄存器BX的内容传送到寄存器AX中。执行完该条指令后,AX的内容和BX的内容一样,表示成AX=BX;2021/9/417(3)内存寻址(MemoryAddressing)当操作数在内存中时为内存寻址,称其为内存操作数。注意:一条指令中只允许有一个内存操作数!*内存寻址时,指令中
8、给出的是操作数的有效地址EA或产生EA的计算方式。*EA即是逻辑地址中的偏移地址。2021/9/418(3)内存寻址(MemoryAddressing)①直接寻址②寄存器间接寻址③相对基址/变址寻址④基址变址寻址⑤相对基址变址寻址2021/9/419①直接寻址EA由指令中直接给出的16位偏移量单独构成时称为内存寻址中的直接寻址。*16位偏移量应带有方括号。如:(1)MOVAL,[1234H]说明:根据指令EA=1234H,段地址即取当前数据段DS(设DS=2000H)
此文档下载收益归作者所有