j_03_2011_微机原理与接口.ppt
上传人:qw****27 上传时间:2024-09-12 格式:PPT 页数:322 大小:19.1MB 金币:15 举报 版权申诉
预览加载中,请您耐心等待几秒...

j_03_2011_微机原理与接口.ppt

j_03_2011_微机原理与接口.ppt

预览

免费试读已结束,剩余 312 页请下载文档后查看

15 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

80x86指令系统主要内容3.1.1指令系统的演化指令系统的演化程序地址机器代码机器代码注释00A0H10110000B0H;传送指令操作码00A1H0000000101H;操作数,01H00A2H10110011B3H;传送指令操作码00A3H0000001103H;操作数,03H00A4H0000001002H;加法指令操作码00A5H11000011C3H;加法指令模式字00A6H11110100F4H;暂停指令操作码指令系统的演化指令系统的演化指令系统的演化指令系统的演化指令系统的演化指令系统的演化指令系统的演化指令系统的演化指令系统的演化指令指针寄存器IP的特点指令系统的演化指令系统的演化处理结果存放地址码指令系统的演化指令系统的演化指令系统的演化指令系统的演化指令系统的演化3.1.28086指令系统的格式指令格式体现了指令系统的设计思想,要掌握8086的指令系统,必须了解它的指令格式。指令的构成:计算机的指令由操作码和一个或多个操作数组成。操作码:指示指令要完成的操作。例如:相加、相减、数据传送等操作数:指令的操作对象。例如:加数、被加数等8086/8088的一条指令可占一到六个字节,从形式上可分单操作数、双操作数、无操作数指令。指令中16位的立即数或偏移量变为机器代码后低字节在前,高字节在后。双操作数指令不能同为存储器操作数。指令不同,寻址方式不同,指令执行时间不同,指令的执行时间和计算机主频(时钟周期)有关。8086指令代码表根据操作数存放位置的不同,可以将操作数分为3种类型:立即数、寄存器操作数和存储器操作数。立即数:包含在指令中的操作数称为立即数。例如:MOVAL,23H寄存器操作数:操作数存放在CPU的寄存器组中,由指令给出该寄存器的名称(即操作数存放的寄存器地址位置)。例如:MOVAX,BX存储器操作数:操作数存放在内存的数据区中,由指令给出该操作数的存放的存储器的地址位置。例如:MOVBL,[1234H]注:8086指令中存储器操作数的地址是16位的有效地址。8086指令编码的规则终于可以读懂机器语言啦!!!程序地址机器代码机器代码注释00A0H10110000B0H;传送指令操作码00A1H0000000101H;操作数,01H00A2H10110011B3H;传送指令操作码00A3H0000001103H;操作数,03H00A4H0000001002H;加法指令操作码00A5H11000011C3H;加法指令模式字00A6H11110100F4H;暂停指令操作码实现运算:1+3=4源程序设计2:第一步:将被加数1送入累加器AL第二步:将加数3送入数据存储单元2001H第三步:将AL+[2001H],结果存入AL第四步:停止实现运算:1+3=4源程序设计3:第一步:将被加数1送入数据存储单元2000H第二步:将加数3送入数据存储单元2001H第三步:将数据存储单元2000H的内容与数据存储单元2001H的内容相加,结果存入2000H单元。第四步:停止8086没有将两个存储单元内容相加的指令。用机器代码编写的程序不容易读,特别是操作码和操作数均为二进制数,不好区分。为了便于记忆指令,软件设计人员发明了指令助记符,将指令的操作码用对应的符号表示。如:MOV,INC,ADD,…指令助记符规则指令类型8086指令代码表学习指令代码的工具DEBUG程序学习指令代码的工具DEBUG程序小结主要内容3.2指令的寻址方式指令的寻址指令的寻址是由特定的硬件电路完成的:程序区的指令地址由CS(段地址)和IP(偏移地址)共同确定的;IP总是保存着下一条将要执行的指令的偏移地址。第一条指令的位置由硬件决定。8086规定为:FFFF0H当程序需要改变指令的执行顺序的时候,需要通过特定的指令改变指令寄存器CS和IP的值,这种指令的寻址方式称为跳跃寻址方式。指令的跳跃寻址方式可以实现程序的转移,完成复杂的动作。If执行操作Aelse执行操作B目标地址寻址目标地址寻址目标地址寻址目标地址寻址目标地址寻址指令转移过程指令寻址方式小结8086中能够改变指令的指令指令转移过程8086中可以改变指令的指令转移指令的实质:改变IP(或CS)的内容。所有转移指令不会影响标志位。分为无条件转移和条件转移两种。转移的目标地址由指令直接给出。指令中给出的目标地址实际上是一个相对于IP的位移量:位移量转移范围汇编语言中格式8位-128~+127JMPSHORTOPRD16位-