1、官方文档《STM8 CPU programming manual》介绍了指令和寻址方式

2、辅助类文档,boot loader文档《STM8 bootloader》

3、关于一些实例和伪指令的介绍,网搜《STM8S第1章-第5章》,已下载至本人电脑cpu-stm8s目录下和《asm_lnk_user_manual.pdf》

4、关于一些实际应用,网搜《STM8S-汇编》,已下载至本人电脑cpu-stm8s目录下

5、详细教科书《STM8S系列单片机原理与应用》

6、STVD安装目录下的\asm\ 的文档《asm_lnk_user_manual.pdf》和asmdemo文件夹下的例程

1、EQU和#define的区别?

2、寄存器间接寻址(X),表示X为指针,对标为:PIC的间接寻址,INDF0-2

3、LD和MOV的区别?

LD是和寄存器交互时用

MOV只能和mem交互用

4、如何定义为位变量

COMM_LCD
DS.B 1

#define F_TEST COMM_LCD,#5

其中DS.B必不可少

5、()和[]的区别

两者都是间接寻址(何谓间接寻址即指针)

不过()指的是寄存器间接寻址或者以mem为基址+寄存器的变址寻址      例如:LD A,(X)和LD A,($5000,X)

[]为mem,以存储单元作间址的间接寻址方式是STM8 CPU特有的间接寻址方式 。操作数所在的储存单元的地址存放在00段内另一个存储单元中,16位地址要带后缀.W;24位地址形式带后缀.E       例如LD [$50.W],A,

总结:ld A,[$F5]等价于ld A,(($F5))

6、如何定义查表,且表中存放地址

NEC中DW SEG0_LCD

ST中DC.W?而不是DS.W

7、short mem和long mem

如果定义在0-FF,则为short mem,定义在100后面的变量则为long mem,short mem的指令周期比long mem的指令周期短。

定义的ram0变量,FLAG2:DS.B 1  后面如果LD A,FLAG2则会将FLAG2的地址变为long mem;如果FLAG2.B:DS.B 1则会将FLAG2的地址变为short mem

8、将模块的标号也加上后缀.B但是出现问题,报错"as1 : Error 84: Byte Size label has val > 255! (need WORDS?) 'MAIN_LOOP'

"

9、Label属性、地址模式和segment属性的联系

Labe有3属性:size,relativity和scope,size:B、W(word默认)、L(4字节)

当Label的地址为0x00-0xFF时,既可以作为long mem也可以作为short mem,如果加上.B则作为short mem。

当label的地址其他时,不可以为b

Label的属性为relative 和absolute,常量为absolute,其余为relative,Lable的属性由linker决定,程序员不能显式改变

segmeng的对齐方式有byte、word等,这是说segmeng的边界必须以字节对齐、字对齐或其他方式对齐,

具体参考STVD安装目录下的 asm文件夹下的《asm_lnk_user_manual.pdf》

10、STM8S为大端模式,即高字节存放在低地址,即如果你ADDW      X,TMP0_MSB有问题,其中TMP0_MSB是8位的假设值=9,但是X是16位的,将TMP0_MSB时,默认会转换为低字节为0,高字节为TMP0_MSB的值,即ADDW X,0x900

11、查表用LD A,(DIS_TAB,X),其中DIS_TAB为定义的表,X为索引,在flash区定义表格用DC.B、DC.W和DC.L;在ram区定义变量用DS.B,而且千万千万要注意,DS等宏指令不能顶格,前面必须至少一个TAB

STM8S103汇编文档和注意的更多相关文章

  1. Xamarin技术文档------VS多平台开发

    此技术业余时间研究,仅供大家学习参考,不涉及深入研究,有一定开发基础的人员,应该都能较快上手. 一.简介 Xamarin始创于2011年,旨在使移动开发变得难以置信地迅捷和简单.Xamarin的产品简 ...

  2. Sandcastle帮助文档生成器使用介绍

    一.软件介绍       Sandcastle是一个管理类库的文档编译器,是用于编译发布组件(Assembly)信息的一个工具,这个工具通过反射和Xslt技术,可以从dll文件及其xml注释(命令行编 ...

  3. Sandcastle入门:创建C#帮助文档

    Sandcastle入门:创建C#帮助文档 今天学到了一个东西:利用vs2005生成的dll/xml来生成帮助文档. 完成这个伟大任务的是Sandcastle,微软推出的类库文档编译工具. 在开始这篇 ...

  4. 较全的IT方面帮助文档

    http://www.shouce.ren/post/d/id/108632 XSLT参考手册-新.CHMhttp://www.shouce.ren/post/d/id/108633 XSL-FO参考 ...

  5. 魔改——MFC MDI程序 定制 文档模板 运行时全部打开 禁用关闭按钮

    ==================================声明================================== 本文原创,转载在正文中显要的注明作者和出处,并保证文章的完 ...

  6. Sandcastle生成帮助文档

    http://www.cnblogs.com/net515/p/3311584.html Sandcastle帮助文档生成器使用介绍 一.软件介绍       Sandcastle是一个管理类库的文档 ...

  7. 《Java开发学习大纲文档》V7.0

    <Java开发学习大纲文档>V7.0简介: 本文档是根据企业开发所需要掌握的知识点大纲进行总结汇编,是Java开发工程师必备知识体系,系统化学习针对性非常强,逻辑分析能力非常清晰;技术方面 ...

  8. OllyScripts 0.92帮助文档

    -------------------------------Olly脚本插件v0.92 制作: SHaG文档汉化:ZMWorm[CCG][TT]E-Mail:TranslationTeam[at]1 ...

  9. 遇到Visual Studio "当前不会命中断点.还没有为该文档加载任何符号"的情况

    一.问题及原因 有这样一种调用逻辑:A.exe调用B.dll.现在想要在B的源代码中打断点,从A发起进行调试,却给出了"当前不会命中断点.还没有为该文档加载任何符号"的提示.感觉十 ...

随机推荐

  1. LinrFont UWP 字体预览工具下载

    Windows 10 用户 购买 https://www.microsoft.com/zh-cn/p/linrfont/9nkh5mlvt819

  2. canvas实现刮刮卡效果

    canvas实现刮刮卡效果 实现步骤: 设置页面背景图,即刮刮卡底部图片 绘制canvas 刮刮卡顶部图片drawImage 绑定事件 addEventListener  touchstart.tou ...

  3. DirectUI界面编程(六)实现右键弹出菜单

    本节向大家介绍一下右键弹出菜单是如何实现的.效果如下,在窗口中点击鼠标右键弹出菜单,点击菜单项能够响应菜单点击事件. 使用Duilib库实现的弹出菜单,实际上也是一个Windows窗口,因此我们需要创 ...

  4. 边框的使用,border-radius,box-shadow,border-image

    <html>    <head>        <meta charset="UTF-8">        <title></ ...

  5. sklearn学习3----模型选择和评估(1)训练集和测试集的切分

    来自链接:https://blog.csdn.net/zahuopuboss/article/details/54948181 1.sklearn.model_selection.train_test ...

  6. event 下鼠标坐标的获取

    event.clientX.event.clientY 鼠标相对于浏览器窗口可视区域的X,Y坐标(窗口坐标),可视区域不包括工具栏和滚动条.IE事件和标准事件都定义了这2个属性 event.pageX ...

  7. 《你又怎么了我错了行了吧》第九次团队作业:Beta冲刺与验收准备

    项目 内容 这个作业属于哪个课程 软件工程 这个作业的要求在哪里 实验十三 团队作业9 团队名称 你又怎么了我错了行了吧 作业学习目标 (1)掌握软件黑盒测试技术: (2)学会编制软件项目总结PPT. ...

  8. SpringBoot+Maven聚合多项目打包成jar

    已我最近自己在玩的一个DEMO为例 taosir为pom.xml,其他子项目均为其modules,且为jar项目 eureka为注册中心.workflow为提供者.entrance为调用方 entra ...

  9. Maven学习总结(24)——Maven版本管理详解

    Maven的版本分为快照和稳定版本,快照版本使用在开发的过程中,方便于团队内部交流学习.而所说的稳定版本,理想状态下是项目到了某个比较稳定的状态,这个稳定包含了源代码和构建都要稳定. 一.如何衡量项目 ...

  10. 洛谷——P3398 仓鼠找sugar

    https://www.luogu.org/problem/show?pid=3398#sub 题目描述 小仓鼠的和他的基(mei)友(zi)sugar住在地下洞穴中,每个节点的编号为1~n.地下洞穴 ...