
比如第一条:#define
disi()
_asm{disi}
//禁止总中断
在后续的c语言代码中,如果遇到disi()字符串,编译器会先将其替换为
_asm{disi}
而_asm{}
表示执行大括号内的汇编代码。
例如:
程序代码(示例无实际意义)为:
........
a
=
b
+
c
disi()
b
=
a
+
c
编译器会将其变为:
.......
a
=
b
+
c
_asm
{
disi
}
b
=
a
+
c
.........
然后再进行编译!
_asm
{
disi
}
表示禁止总中断。
是台湾义隆单片机。八位单片机,内部有1K*13位的一次性烧写ROM(OTP-ROM)不属于51系列单片机。需要用他们义隆公司专用的编程器烧写程序。汇编指令跟51系列单片机完全不同。
义隆单片机大部分产品都是一次性烧写不可修改的,所以在一些小家电,小玩具里很常用(烧进去就不用升级程序什么的)。价格很便宜,适合大批量产品开发。
楼主如果需要用来学习的话就免了。另外单片机资料在网上就能找到,不需要搜索完全部关键字,搜EM78P156,其后面的那些字母都是这个芯片的注释。
你这回答不完全,你这只能特指在51系列的汇编中,因不同厂家的汇编就不同样,如义隆的就是用@表示后是立即数。这些符号只是一个特定的表示符,在不同的厂家芯片的汇编中这些*,#,@,%,......都有只是一个厂家在出汇编时特定的一个符号罢。要具体到那个厂家的什么单片机上并要说明这符号在什么位置上才好回答你这问题。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)