12MHz晶振,每个机器周期为1μs。 AT89S52一大特点是在硬件结构中有一个位处理机,一个处理 位变量的指令子集。 3.2指令格式 指令格式:指令的表示方法。 指令通常由两部分组成:操作码和操作数。 操作码一指令进行什么操作。 操作数一指令操作的对象。可能是一具体数据,也可能是 指出到哪里取得数据的地址或符号。 指令长度不同,格式也就不同。 6
6 12MHz晶振,每个机器周期为1µs。 AT89S52一大特点是在硬件结构中有一个位处理机,一个处理 位变量的指令子集。 3.2 指令格式 指令格式:指令的表示方法。 指令通常由两部分组成:操作码和操作数。 操作码——指令进行什么操作。 操作数——指令操作的对象。可能是一具体数据,也可能是 指出到哪里取得数据的地址或符号。 指令长度不同,格式也就不同。 6
(1)单字节指令:操作码和操作数同在一个字节中。 (2)双字节指令:一个字节为操作码,另一个字节是操作数 (3)三字节指令:操作码占一个字节,操作数占二个字节。 3.3指令系统的寻址方式 寻址方式一一在指令中说明操作数所在地址的方法。 一般说,寻址方式越多,功能就越强,灵活性则越大,指令系 统就越复杂。 寻址方式所要解决的主要问题就是如何在整个存储器和寄存器 的寻址空间内快速地找到指定的地址单元。 下面介绍指令系统7种寻址方式。 7
7 (1)单字节指令:操作码和操作数同在一个字节中。 (2)双字节指令:一个字节为操作码,另一个字节是操作数 。 (3)三字节指令:操作码占一个字节,操作数占二个字节。 3.3 指令系统的寻址方式 寻址方式——在指令中说明操作数所在地址的方法。 一般说,寻址方式越多,功能就越强,灵活性则越大,指令系 统就越复杂。 寻址方式所要解决的主要问题就是如何在整个存储器和寄存器 的寻址空间内快速地找到指定的地址单元。 下面介绍指令系统7种寻址方式。 7
1.寄存器寻址方式 指令中的操作数为某一寄存器的内容。 例如:MOVA,Rn ;(R)→A,n=0≈7 把Rn中的源操作数送入到累加器A中。由于指令指定了从寄存 器R中取得源操作数,所以称为寄存器寻址方式。 2.直接寻址方式 指令中直接给出操作数的单元地址,该单元地址中的内容就 是操作数,直接的操作数单元地址用“direct”表示。 例如:MOVA,direct “direct”就是操作数的单元地址。 8
8 1.寄存器寻址方式 指令中的操作数为某一寄存器的内容。 例如:MOV A,Rn ;(Rn)→A,n =0~7 把Rn中的源操作数送入到累加器A中。由于指令指定了从寄存 器Rn中取得源操作数,所以称为寄存器寻址方式。 2.直接寻址方式 指令中直接给出操作数的单元地址,该单元地址中的内容就 是操作数,直接的操作数单元地址用“direct”表示。 例如: MOV A,direct “direct”就是操作数的单元地址。 8
例如:MOV A,40H 表示把内部RAM4OH单元(direct)的内容传送到A。指令 中源操作数(右边的操作数)采用的是直接寻址方式。 指令中两个操作数都可由直接寻址方式给出。 例如: MOV direct1,direct2 具体指令:MOV42H,62H 把片内RAM中62H单元的内容送到片内RAM中的42H单元中。 直接寻址是访问片内所有特殊功能寄存器的唯一寻址方式。 9
9 例如: MOV A,40H 表示把内部RAM 40H单元(direct)的内容传送到A。指令 中源操作数(右边的操作数)采用的是直接寻址方式。 指令中两个操作数都可由直接寻址方式给出。 例如: MOV direct1,direct2 具体指令:MOV 42H,62H 把片内RAM中62H单元的内容送到片内RAM中的42H单元中。 直接寻址是访问片内所有特殊功能寄存器的唯一寻址方式。 9
3.寄存器间接寻址方式 寄存器中存的是操作数地址,即先从寄存器中找到操作数的地 址,再按该地址找到操作数。 为了区别寄存器寻址和寄存器间接寻址,在寄存器间接寻址方 式中,应在寄存器名称前面加前缀标志“@”。 例如:MOVA,@Ri ;=0或1 其中,R的内容为4OH,即把内部RAM4OH地址单元中的内容 传送给A。 10
10 3. 寄存器间接寻址方式 寄存器中存的是操作数地址,即先从寄存器中找到操作数的地 址,再按该地址找到操作数。 为了区别寄存器寻址和寄存器间接寻址,在寄存器间接寻址方 式中,应在寄存器名称前面加前缀标志“@” 。 例如:MOV A,@Ri ;i=0或1 其中, Ri的内容为40H,即把内部RAM 40H地址单元中的内容 传送给A。 10