|
楼主 |
发表于 2014-4-10 13:52:41
|
显示全部楼层
谢谢!第二版书上将汇编的也不适合我这种初学的,太难看懂了,结合JTAG,我也才看懂- @0000006B: read_key_n
- ---- demo_9_2.c -----------------------------------------------------------------------------------
- 53: key_press = key_input; // 读按键I/O电平
- +0000006B: 931A ST -Y,R17 Store indirect and predecrement
- +0000006C: 930A ST -Y,R16 Store indirect and predecrement
- +0000006D: E000 LDI R16,0x00 Load immediate
- +0000006E: E0E0 LDI R30,0x00 Load immediate
- +0000006F: 9987 SBIC 0x10,7 Skip if bit in I/O register cleared
- +00000070: E0E1 LDI R30,0x01 Load immediate
- +00000071: 2F1E MOV R17,R30 Copy register
复制代码
等 SBIC那行过了后,再放开按键,后面的if,就会把key_press的值认做0了。像我这种初学单片机,不懂汇编,还真得用JTAG配合原汇编代码来一条条代码的看,再用心细细想,才可能明白 |
|