jnving
发表于 2024-8-29 10:39:59
第九课:
体会,通过汇编语言理解架构,知道程序底层操作。更有助与用其他的语言(C)的应用。
接第八课的操作指令
--位操作指令
在汇编里面没有强制转换(C和JAVA里面有),
上面从34就成了30
---位求反指令
CPL P1.2; 这里可以用过灯的亮和灭(运行指示灯)。P1.2取反
位逻辑操作不改变原内容。
其实在C语言中,很少用到goto。
这里都只是一个语言写法,关健字查手册也行,没有太多的笔记。
--以上无条件转移的四个操作数都可以用标号来代替,不用把地址放上去。这样当地址发生变化时,也没有影响。间接转移相当于switch ...case
--条件转移,相当于C中的if()
jnving
发表于 2024-8-29 13:15:38
第十课:
1.汇编语言程序设计的步骤和框架。具有软硬件设计的能力才是好的。很多如传感器这样的,必须得有汇编语言支持才能更好的理解其内部的工作原理、方式、流程,才能更好的和我们的硬件设计结合起来。
--正确性是程序设计最主要的,然后才是优化,功能、性能、大小等。
--结构规范,方案正确,有益于维护
2.步骤:
--确定算法或思路
--画流程图
--分配资源,包括内部RAM,定时器,中断,串口等。(外设的功能分配问题,引脚,现在RAM已经很丰富了,所以主要最后面)
--编写程序,asm。。大项目最好还是用C语言。
--调试。1.软件模拟;2.在线调试(硬件)最好要用硬件调试。
对复杂的程序采用模块化的程序设计方法
3.框架:
|--是引入(STC8H.H),注意不是.INC。和C语言的一样
|--怎么才能知道地址呢?--->记不下来,看手册。中断源对应的中断向量(就是地址了)
|--不是一定要全部写。用到哪个写哪个。但最好---->为了稳定(不在乎要节省几十个字节成本),全写上,然后不用的,可以跳到复位。(有就写服务中断,没有就发一个空)这样,即便出了问题(如中断),他会复位。
如在有干扰时会更好。(后续再体会可以再次听,姚总的建议。在39分处)
4.流程图
...等等全和C语言、JAVA一样的。
例子:
处理完了,一定要有LJMP ENDME
这里只记一个小程序。
fztyp
发表于 2024-9-8 01:06:20
一起学习{:4_250:}{:4_174:}
jackfangxq
发表于 2024-9-8 08:28:42
{:4_174:}
fztyp
发表于 2024-9-10 01:05:01
顶你一下{:4_250:}{:4_174:}
fztyp
发表于 2024-9-12 01:06:16
每日一回{:4_250:}{:4_174:}