文档详情

PowerPoint-2003演示文稿制作实例.ppt

发布:2018-05-09约2.04万字共91页下载文档
文本预览下载声明
本章学习目标 : 了解指令及指令系统常识 熟悉指令中常用符号 在理解的基础上牢记7种寻址方式 熟悉各类指令的功能及应用范围 能使用指令完成各种常规任务 用二进制编码表示的,能够被计算机直接识别和执行的语言称为机器语言。它不便于记忆、查错和修改。 用助记符、符号和数字来表示指令的程序语言,称为汇编语言。它与机器语言指令一一对应,便于理解和记忆。上面两条指令用汇编语言可表示为: MOV A, #10 ADD A, #20 查找附录A,可以得到这两条指令的十六进制机器代码如下: 74H 0AH 24H 14H 3.直接寻址 在指令中直接给出操作数的地址的寻址方式称为直接寻址。 在该寻址方式中,操作数存放在片内数据存储器中,地址长度为8位。 这种寻址方式可以访问:内部数据RAM低128B(该空间还可以采用寄存器间接寻址)和特殊功能寄存器SFR(该空间只能采用直接寻址)。 4.寄存器间接寻址 在指令中以指定寄存器的内容作为操作数地址的寻址方式称为寄存器间接寻址。 这种方式可用于访问内部RAM和外部数据存储器。 能够用于寄存器间接寻址方式的寄存器有:R0、R1、DPTR和SP。 在间接寻址寄存器前加“@”表示间接寻址。 例如: MOV A,@R0 ;A←((R0)) 2.2 数据传送指令(29条) 2.3 算术运算指令(24条) 2.3.2 减法指令 2.4 逻辑运算与循环类指令(24条) 2.4.1 逻辑与运算指令 2.4.2 逻辑或运算指令 4.散转移 JMP @A+DPTR ; PC←(A)+(DPTR) 这是一条1字节转移指令,指令的目的地址由A的内容和DPTR内容之和来确定,即目的地址=(A)+(DPTR)。 例如:有一段程序如下: MOV DPTR,#TABLE JMP @A+DPTR TABLE:AJMP NEXT0 AJMP NEXT1 AJMP NEXT2 AJMP NEXT3 当(A)=00H时,程序将转到NEXT0处执行;当(A)=02H时,程序将转到NEXT1处执行;其余类推。 条件转移就是说程序的转移是有条件的。执行条件转移指令时,如果指令中规定的条件满足,则进行程序转移,否则程序顺序执行。条件转移有如下形式: 1. 累加器判0转移 JZ rel   ;若(A) =0,则PC←(PC)+rel JNZ rel ;若(A)≠0,则PC←(PC)+rel 功能: 对累加器A的内容是否为0进行判断并转移。如图2-9所示。 2.5.2条件转移 图2-9 累加器判0转移流程图 指令中目标地址的计算与SJMP指令相同,且最好以地址符号形式出现,指令执行时对标志位无影响。 例如:若累加器的原始内容为00H,则: JNZ LOOP1 ;由于(A)=0,所以程序往下执行 INC A ;(A)=1 JNZ LOOP2 ;由于(A)≠0,所以程序转向LOOP2处执行 2。数值比较转移 数值比较转移指令把两个操作数进行比较,比较结果作为条件来控制程序是否转移。共有4种形式: CJNE A,direct,rel ;若(A)≠(direct),则PC←(PC)+3+rel CJNE A,#data,rel ;若(A)≠data,则PC←(PC)+3+rel CJNE Rn,#data,rel ;若(Rn)≠data,则PC←(PC)+3+rel CJNE @Ri,#data,rel ;若((Ri))≠data,则PC←(PC)+3+rel 数值比较指令是3字节指令,这是80C51指令系统中仅有的4条3个操作数的指令,在程序设计中非常有用。 (1)指令功能—程序转移 若左操作数=右操作数,则 程序顺序执行 PC←(PC)+3 进位标志清0 CY←0 若左操作数>右操作数,则 程序转移 PC←(PC)+3+rel 进位标志清0 CY←0 若左操作数<右操作数,则 程序转移 PC←(PC)+3+rel 进位标志置1 CY←
显示全部
相似文档