| 数据搜索系统,热门电子元器件搜索 |
|
GL600USB 数据表(PDF) 29 Page - List of Unclassifed Manufacturers |
|
|
|||||||||||||||||||||||||||||
GL600USB 数据表(HTML) 29 Page - List of Unclassifed Manufacturers |
|
29 / 38 page ![]() 29 06/19/2000 GL600USB/GL600USB-A/GL600USB-B Revision 1.3 5.6 Timer Interrupt Because CPU may enter timer interrupt routine at any time, the timer interrupt routine should backup all special registers at its entry point and restore them before return. (Address 0x004) TIMER_ENTRY: MOV A_TEMP, A SWAPR A, STATUS BCR STATUS, BS MOV S_TEMP, A MOV A, INDAR MOV I_TEMP, A ; ; Execute interrupt service routine ; MOV A, I_TEMP MOV INDAR, A SWAPR A, S_TEMP MOV STATUS, A SWAPR A_TEMP SWAPR A, A_TEMP BCR INTEN, TMROF RETI 5.7 Conditional Branch Example: Conditional branch can be according to value of Accumulator. Firmware can use this method to return value for lookahead table. Because Accumulator is only 8 bits wide, the higher 3 bits of Program Counter should be load into PCHBUF before the conditional branch executed. (Address 0x540) LOOKAHEAD: MOVIA 0x05 MOV PCHBUF, A MOVIA LOOKAHEAD_VAL ADDAR PCL, A RETIA 0 ; Acc = 0 RETIA 1 ; Acc = 1 RETIA 2 ; Acc = 2 . . . . . . 5.8 Change Register Bank Usually keeps BS = 0. If firmware want to access register address 0x80 to 0x8F, set BS = 1. After process register address 0x80 to 0x8F complete, clear BS = 0 to address 0x00 to 0x7F. BSR STATUS, BS MOV PORT1CON, A BCR STATUS, BS |
|
链接网址 |
| ALLDATASHEET是否为您带来帮助? [ DONATE ] |
关于 Alldatasheet | 广告服务 | 联系我们 | 隐私政策 | 数据表链接 | 链接交换 | 制造商名单 All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |