维库电子市场网
登录 免费注册 首页 | 行业黑名单 | 委托交易 | 帮助 | English
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

新手请教--这么赋值是什么意思?

作者:kof_okok 栏目:单片机
新手请教--这么赋值是什么意思?
 .equ    INT0        =6
           ……
RESET:
    ldi    temp0,1<<INT0            
    out    GIMSK,temp0

在这里1<<INT0是什么意思?temp0的值是多少?请指教,谢谢~



2楼: >>参与讨论
highend
1<<6                 0x40
 
3楼: >>参与讨论
kof_okok
楼上仁兄
我还是不大明白,1<<6难道是等于2的6次方吗?

2*2*2*2*2*2=64=0x40

那么下面的程序呢?
USBpinmaskDplus=1*2=2
USBpinmaskDminus1*1=1?
这样对吗?
第4、5行里面的~符号是什么意思?

.equ    DATAplus        =1        
.equ    DATAminus        =0        
.equ    USBpinmask        =0b11111100    
.equ    USBpinmaskDplus        =~(1<<DATAplus)    
.equ    USBpinmaskDminus             =~(1<<DATAminus)




4楼: >>参与讨论
star0528
建议看看相关书籍
不过还是先把你的问题解决了:
x << y 意思是:把x左移y位,从最高位移出,从最低位补0
1 << 6 意思是:把0000 0001 左移6位 变成 0100 0000=0x40
0x3f <<6 意思是:把0011 1111 左移6位 变成 1100 0000=0xc0
最后"~"的意思是把后面()里的按位取反

5楼: >>参与讨论
kof_okok
谢谢!
我以前没接触过AVR单片机,这些指令是AVR特有的吗?您指的相关书籍是指AVR入门的书吗?

6楼: >>参与讨论
tuwen
可以在AVR Assembler for Windows的HELP里找到


7楼: >>参与讨论
NE5532
编译器的特性,不算汇编语句。
 
参与讨论
昵称:
讨论内容:
 
 
相关帖子
请教高手:有LCM19264的atmeg128例程吗?刚搞LCM。
WINAVR20050214无法使用以前的Makefile???
请问大家谁有知道AVR的编译器WINAVR的资料
请问哪里可以找到嵌入式C编程和ATMEL AVR
我想在MEGA8看门狗复位后,做一些不同的动作,
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号