0
0
-------------------------------------------------------------------------------------------------------------------------------------
开发环境:AVR Studio 4.19 + avr-toolchain-installer-3.4.1.1195-win32.win32.x86
芯片型号:ATmega16
芯片主频:8MHz
-------------------------------------------------------------------------------------------------------------------------------------
今天临时起意、去看了位域部分的反汇编,看看汇编如何实现位域。
使用到的位域如下定义:
0
-------------------------------------------------------------------------------------------------------------------------------------
开发环境:AVR Studio 4.19 + avr-toolchain-installer-3.4.1.1195-win32.win32.x86
芯片型号:ATmega16
芯片主频:8MHz
-------------------------------------------------------------------------------------------------------------------------------------
第一种实现方式
(2016.10.28)今天临时起意、去看了位域部分的反汇编,看看汇编如何实现位域。
使用到的位域如下定义:
// 事件队列的结构(type[7bit],lock[1bit],data[32bit])
typedef struct
{
uint8_t type :7 ; // 消息类型、如数码管数据有更新:EVENT_SEG_UPDATE
uint8_t lock :1 ; // 加锁标志
uint32_t data; // 消息参数、如数码管的数据:1265214
}T_EVENT_LIST, *pT_EVENT_LIST;使用这个结构的代码如下:
// --------------------------------------
event_buffer_task01[0].type = EVENT_SEG_UPDATE; // EVENT_SEG_UPDATE = 0x06
event_buffer_task01[0]

本文详细介绍了在Atmega16上通过汇编语言实现位域操作的第一种方法,深入探讨了相关技术细节。
最低0.47元/天 解锁文章
1574

被折叠的 条评论
为什么被折叠?



