完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好!我对PIC和汇编语言很陌生。如果有什么显而易见的地方,请原谅。在我的学校,我们在汇编中编程PIC16F84A,所以我们可能不使用C。我的问题是:在汇编中如何执行以下代码(C)?我想在汇编中做一些类似的事情,知道十进制值11000比8位值大。因此,超时变量也保留了2字节的内存。问题是,我想将超时变量与16位值对齐。我如何首先选择常数tiCKS11ms中的8个第一位(LSB),并将它们分配到timerOut,然后将8个最后位(MSB)分配到timerOut+1?我知道我可以在汇编中完成以下工作,但是它需要更多的代码:)我希望您理解我的问题,并且我将非常感谢您的回答,谢谢!:)
|
|
相关推荐
10个回答
|
|
您差不多到了:(将标签单独放在一行上,后面跟着冒号,这只是我的偏好,这样可以使标签容易找到。这不是强制性的。)
|
|
|
|
为了可读性,使用这些LO和HI宏:
|
|
|
|
让你的朋友们惊讶,让你的老师们迷惑,使用新的改进的MPASM可重定位组装模式:完成对象文件库和链接器。
|
|
|
|
非常好的丹:DybDaHL,注意以下两组代码产生完全相同的程序集输出
|
|
|
|
这里真正的好处是,您只需要记住掩码和移位常数的C语法与MPASM一起工作。你需要编写实际的汇编指令来做那种事情。
|
|
|
|
是的,让我们去掉“有趣”的十进制基说明符。
|
|
|
|
你会注意到,如果你想成为ASM程序员,有更明确的寄存器值会很有帮助。你应该更明确地知道什么位在哪里,什么时候。如果你相信其他人会修改你的代码,设置选项等等,那么最好有连续的值。
|
|
|
|
这些答案真的很有用!感谢您提供的所有提示,我想我将采用以下方法:最后一个问题:如果我有一个24位的值,并且希望到达中间的字节,该怎么办?
|
|
|
|
高运算符返回位158(或24位值的中间字节)。低运算符返回位7- 0,上运算符返回位23-16。
|
|
|
|
大家好。我是pic程序集的新手,如果可以的话请帮忙。我的意思是我想用程序集声明16位变量,不幸的是我没能做到这一点。任何帮助都是有价值的。!!!!!!!
|
|
|
|
只有小组成员才能发言,加入小组>>
5238 浏览 9 评论
2028 浏览 8 评论
1950 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3204 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2253 浏览 5 评论
777浏览 1评论
666浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
595浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
676浏览 0评论
576浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 01:44 , Processed in 1.163363 second(s), Total 66, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号