程序存储区EA片内RAM区4AMOVA,3AH执行示意图程序

程序存储区 EA 片上 RAM 区 4A MOV A、R2 执行示意图 2 2 .直接寻址方式 操作数直接以单元地址的形式给出:MOV A, 40H 寻址范围:(1)128个单元内部RAM(2)特殊功能寄存器。单元地址除外)形式, , 也可以用寄存器符号的形式给出. 例如: MOV A, 80H 等价于 MOV A, P0. 直接寻址方式是访问特殊功能寄存器的唯一寻址方式. 例如, MOV A , 3AH; 将3AH单元的内容送入A. MOV A, 3AH执行程序存储区E510片内RAM区3A的示意图. 寄存器间接寻址方式 操作数的地址存放在寄存器中,和前缀标记“@@” 在寄存器名前加访问内部RAM或外部数据存储器的低256字节时,只有R0或R1可以作为中间寄存器使用。例如:MOV A,@Ri;i=0 或 1 1 其中 Ri 的内容为 40H,把内部 RAM 中间的 40H 单元的内容发送给 AA。寻址范围: (1 1) 访问内部RAM的低128个单元,其一般形式为@Ri (2 2) 64K字节片外数据存储器的间接寻址,例如:MOVX A , @DPTR (3 3 ) 片外数据存储器的低 256 字节 例如:MOVX A ,@Ri(4 4 )堆栈区 SP) 作为间接地址寄存器 示例 MOVR0,#A,@R0MOV A,@R0 执行图 4 4.立即寻址方式的操作数在指令中直接给出,需要在操作数前面加上前缀“##”。

例如:MOV A,#3AH;立即数 3AH 被送到累加器 AMOV A,#3AH 执行原理图程序存储区 3A 3AACC 操作码立即数 5 5 。基址寄存器加变址寄存器间接寻址方式 在这种寻址方式下,DPTR或PC作为基址寄存器,累加器AA作为变址寄存器。说明: (1 1) 该寻址方式是专门针对程序存储器的寻址方式,寻址范围可达64 KB。(22) 这种寻址方式只有33条指令: MOVCA A , @A+ A , @A+PCJMP@A+DPTR 例如假设MOVCA A, , @A+DPTR指令存放在70H H单元, ACC中原存储值为E E0 0H H ,DPTR中间值为2000H Hmov a 40h寻址方式,则AA+DPTR形成的地址为20E E0 0H H 。20E E0 0H H 单位内容为 47H H ,

寻址范围包括: (1 1) 内部 RAM 中的位寻址区域。位有两种表示方式,例如40H;另一种是单元地址加位,例如(28H).0,指的是28H单元中的最低位。它们是等价的。(2 2) 特殊功能寄存器中的可寻址位 指令中的可寻址位有以下44种表示方法: a.直接使用位地址。例如 PSW.5 的位地址为 0D5H。b b. . 位名称的表示。例如:PSW。.5 5 是 F F0 0 标志位,可以用 F F0 0 来表示。 c c. . 表示添加到单元地址的位数。例如::( (0 0D D0 0 H). .5 5 . d d. . 特殊功能寄存器符号加位数的表示。例如: PSW. .5 5 . 示例 SETB 3 3 DH ; 位地址 3 3 DH 是 27H H 单元“1 1”的第 55 位。27HD7 D6 D5 D4 D3 D2 D1 D00 0 0 0 0 0 0 03F 3E 3D 3C 3B 3A 39 38D7 D6 D5 D4 D3 D2 D1 D00 0 1 0 0 0 0 03F 3E 3D 3C 3B 3A 39 3827H 图 4.9 SETB 3DH 指令执行图 7 7、相对寻址方式 在相对寻址传输指令中,给出地址偏移量,其中“rel”表示PC的当前值加上偏移量构成程序传输的目的地址: = = 传输指令所在的地址 + + 传输指令的字节数 + + rel 偏移量 rel 是带符号的 8 8 位二进制补码数。

范围为: – 128 ~ +127 地址增加方向最大可传输(127+ + 传输指令字节)单元地址,地址减少方向最大可传输(128- – 传输指令字节)单元地址。77种寻址方式和寻址空间,见表3 3-1 1 (PP 43) )。示例 JC 03H;如果进位C=0mov a 40h寻址方式,程序将按顺序执行,即不跳转,PC=PC+2;如果进位 C=1,则以 PC 中的当前内容作为基地址,并加上偏移量 03H。得到的结果就是分支指令的目的地址。程序存储区40PC… 指令寄存器译码地址译码程序计数器地址寄存器累加器A运算器①②存储器内部数据总线外部地址总线AB数据缓冲区外部数据总线DB寄存器区外部控制总线CB内部控制信号时钟和清零工作过程取指令过程示例微控制器:MOV A,#09H 74H 09H;; 发送 09H 到累加器 AA 执行过程 PC= 0000H 0001H 0000H 0002H 0 1 1 1 0 1 0 0 0 0 0 0 1 0 0 1 (PC) (PC) 0001H 0002H 0000H 外部控制总线 CB 取指过程 (PC ) 执行过程 你知道PC的作用吗?返回 发送 09H 到累加器 AA 执行过程 PC= 0000H 0001H 0000H 0002H 0 1 1 1 0 1 0 0 0 0 0 0 1 0 0 1 (PC) (PC) 0001H 0002H 0000H 外部控制总线 CB 取指过程 (PC ) 执行过程 你知道PC的作用吗?返回 发送 09H 到累加器 AA 执行过程 PC= 0000H 0001H 0000H 0002H 0 1 1 1 0 1 0 0 0 0 0 0 1 0 0 1 (PC) (PC) 0001H 0002H 0000H 外部控制总线 CB 取指过程 (PC ) 执行过程 你知道PC的作用吗?返回

© 版权声明
THE END
喜欢就支持一下吧
点赞289 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片