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