- 打卡等级:初来乍到
- 打卡总天数:4
- 最近打卡:2025-03-05 08:03:52
已绑定手机
新手上路
- 积分
- 44
|
发表于 2025-2-27 10:36:32
|
显示全部楼层
第七课 首先是助记符语言描述,像 MOV 代表数据的传送,ADD 是数据的相加运算,ANL 则是数据的逻辑与运算 ,并且了解到 #8BH 这种前面带井号的,说明是立即数。
关于操作码,它分为不同类别。数据传送类的 MOV、MOVX、MOVC,必须指明操作对象从哪来,到哪去,也就是源地址和目的地址 ;数据操作类的 ADD、SUBB、MUL、DIV,一般靠运算器完成,通常需要两个操作对象;程序控制类的 AJMP(SJMP、LJMP)、JZ、JC、JB(JNZ、JNC、JNB)、ACALL(LCALL)、RET、CJNE ,其操作对象是程序计数器 PC 和一个数;逻辑操作类的 ANL、ORL、XRL 。操作数可以是数据,也可以是地址,但要注意数据只能是整数,不能是小数;数据是十六进制且是以字母开头时,该数据应该加一个前导 0;数据前有前缀 #,则表示数据是立即数,如果没有前缀 #,则数据为直接地址。
指令格式及分类为 [标号:] 操作码助记符 [第一操作数][, 第二操作数][, 第三操作数] [; 注释] ,标号也可作为子程序的名字,操作数可能有 0 - 3 个。指令的存储格式分单字节、双字节、三字节。指令中的符号也有特定约定,如 A 代表累加器 ACC ,B 是寄存器 B ,C 为进位借位标志等。
寻址方式共有 7 种,立即寻址是指令中的源操作数是立即数;寄存器寻址是指定寄存器的内容为操作数,对不同寄存器寻址方式有所不同;直接寻址是指令中包含了操作数的地址,可针对特殊功能寄存器 SFR、内部数据 RAM 中的 00H~7FH 以及位寻址空间;寄存器间接寻址是指定某一个寄存器的内容作为操作数地址,需加 “@” 表示;变址寻址是由偏移量寄存器和基址寄存器 DPTR 或 PC 相加所得结果作为操作数地址;相对寻址主要用于相对跳转指令,偏移量范围为相对于当前 PC 值的 -128~+127 之间;位寻址是对位地址空间的每一位进行运算和传送。同时还了解到 00H~1FH 是工作寄存器区,20H~2FH 是可位寻址区。 |
|