| 전자부품 데이터시트 검색엔진 |
|
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 |
|
링크 URL |
| 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 |