找回密码
 立即注册
楼主: CaHelry

【已建议送实验箱】何宾教授32位8051单片机课程学习记录

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-04-18 21:30:08

2

主题

22

回帖

144

积分

注册会员

积分
144
发表于 2023-8-15 18:31:56 | 显示全部楼层
本帖最后由 CaHelry 于 2023-8-15 18:38 编辑

今天是何教授的第七节课;

1.png
在MCS-251 ISA中,字和双字以大端形式保存在内存和寄存器文件中:

MCS-251的ISA兼容了MCS-51的ISA,也就是说在MCS-251的ISA中包含了全部MCS-51 ISA的指令;
2.png

3.png 4.png 5.png 6.png


一条机器指令包含两部分,即:操作码和操作数
在单片机中,将CPU寻找操作对象(操作数)所在存储位置的方式,称为寻址模式;
MCS-251的ISA支持以下寻址模式(区分源和目的):
寄存器寻址:指令中包含操作数的寄存器;
立即寻址:指令中包含操作数;
直接寻址:指令中包含操作数地址;
间接寻址:指令中包含操作数地址的寄存器;
位移寻址:指令指定一个寄存器和一个偏移量,操作数地址是寄存器内容(基地址)和偏移量之和;
相对寻址指令包含从下一条指令到目标地址(控制转移的地址,例如跳转地址)的带符号偏移量;
位寻址:指令中包含位地址。
7.png


8.png 9.png


ADD指令:
CY:如果相加结果第7位有进位,则将进位标志位CY设置为“1”;
AC:如果与字节变量相加,且相加结果的第3位有进位,则将标志位的AC设置为“1”(注:AC只对8位数据的相加运算有效);
10.png 11.png

之后,陈教授还仔细讲解了每一个加法减法等运算指令的原理,内容太多,我就不再赘述一遍了;
1.png
(红框中的,在SOURCE模式下不需要添加A5前缀,在BINARY模式下则需要A5前缀)


回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-04-18 21:30:08

2

主题

22

回帖

144

积分

注册会员

积分
144
发表于 2023-8-18 18:26:28 | 显示全部楼层

今天听课时因为下雨停电多次,之后会好好观看回放的。

本次课程讲解的内容衔接上节课,主要介绍了逻辑指令

包括逻辑“或”,逻辑“异或”,移位指令,半字交换指令。

1.png

其中,数据传输指令包括:通用传输(MOV)、代码空间数据传输指令(MOVC)、外部数据储存器传输指令(MOVX)

堆栈操作指令包括了:压栈(push)、出栈(pop)
数据交换指令(XCHD)

2.png

位指令包括了:清除指令(CLR)、置位指令(SETB)、取反指令(CPL)、逻辑与指令(ANL)、逻辑或指令(ORL)、传输指令(MOV)


3.png

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-04-18 21:30:08

2

主题

22

回帖

144

积分

注册会员

积分
144
发表于 2023-8-22 18:23:15 | 显示全部楼层
本次课程接续上次,继续讲解控制指令。

首先是返回指令:
RET:从子程序中返回、不影响标志位:
ERET:实现扩展的返回、不影响标志位。


无条件跳转指令:
AJMP addr11(*):绝对跳转、目标地址必须与AJMP之后指令的第一个字节位于程序储存器的同一个2kb“页面”内;
EJMP:扩展跳转、目标地址可以在整个16mb内存空间中的任意位置、不影响标志位;
LJMP:长跳转、目标可以在真个64kb的程序储存器的任意地址、不影响标志位;
SJMP:短跳转,控制程序无条件地跳转到制定地址、不影响标志位、该指令执行的操作和机器指令格式;
JMP:间接跳转、累加器A的内容和数据指针不受影响、不影响标志位。


进位标志CY控制的跳转指令:
JC rel(*):如果设置进位标志CY,则跳转、不改变标志位;
JNC rel(*):未设置CY标志位,则跳转、不影响标志位;




1.png

JB




2.png

JNB


3.png

JBC


有关累加器的跳转指令:
JZ:累加器A内容为零时,则跳转、不修改累加器内容且不影响标志位。


由Z标志位控制的跳转指令:
JE:若相等,则跳转。


由Z和CY标志位控制的跳转指令:
JG:若大于,则跳转;
JLE:若小于或等于,则跳转。


由标志N和OV控制的跳转指令:
JSL:若小于,则跳转(带符号);
JSGE:若大于等于,则跳转(带符号)。


标志位N、OV和CY控制的跳转指令:
JSLE:若小于等于,则跳转(带符号);
JSG :若大于,则跳转(带符号)。


4.png 5.png



比较跳转指令:
CJNE
6.png



7.png





所谓的汇编语言程序就是按照一定的规则组合在一起机器语言助记符和汇编器助记符命令


8.png

回复 支持 反对

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:3
  • 最近打卡:2025-04-18 21:30:08

2

主题

22

回帖

144

积分

注册会员

积分
144
发表于 2023-8-25 21:19:45 | 显示全部楼层
课堂之初,何教授讲解了汇编语言程序框架。

1.png 2.png

3.png 4.png

5.png 6.png
7.png 8.png 9.png 10.png



11.png 12.png 13.png 14.png 15.png 16.png 17.png 18.png 19.png 20.png


21.png 22.png 23.png 24.png 25.png 26.png 27.png 28.png

29.png 30.png 31.png 32.png 33.png

回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-7-5 02:05 , Processed in 0.125378 second(s), 62 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表