本帖最后由 CC2530 于 2011-7-2 14:35 编辑
- IO_REG_BIT_t<uint8>::AttachIo(&GPIOD->ODR).Set(0).Clr(1).Toggle(2).Write(3,0).Write(4,1).Read(5,x).Write(6,x);
//第0位清零,第1位置1,第2位翻转,第3位写0,第4位写1,第5位读取到x,第6位写x
编译汇编:
// 13 IO_REG_BIT_t<uint8>::AttachIo(&GPIOD->ODR).Set(0).Clr(1).Toggle(2).Write(3,0).Write(4,1).Read(5,x).Write(6,x);
_Z8test_io1v:
BSET L:0x500f, #0x0
BRES L:0x500f, #0x1
LD A, L:0x500f
XOR A, #0x4
LD L:0x500f, A
BRES L:0x500f, #0x3
BSET L:0x500f, #0x4
BTJF L:0x500f, #0x5, L:??test_io1_0
MOV L:`x`, #0x1
BSET L:0x500f, #0x6
RET
??test_io1_0:
CLR L:`x`
BRES L:0x500f, #0x6
RET
|