Browsing this Thread:
1 Anonymous Users
|
24F使用TABLE INSTRUCTION OPERATION之問題
|
|
新會員
Joined
: 2010/1/22 11:29 最後登入時間
: 2010/10/22 15:55
Group:
註冊會員
Level : 1 HP : 0 / 0 MP : 0 / 29 EXP : 2
|
您好: 想請教一下, 使用TBLWTL及TBLWTH對Opcode做修改時, 是直接覆蓋還是做AND的動作?
目前測試似乎是XOR的動作, 例: 1.原Opcode = 0xFF ,寫入0x09,結果0x09 2.原Opcode = 0xF6 ,寫入0x69,結果0x60
那如果我需要直接覆蓋的話, 該如何做修改呢? 謝謝
PROG_ADDR = 013E6; TBLPAG = 0; test = 0xF6;//Address : 013E6, Opcode : B3CF60
code: SR_temp = SR; SR = 0x00E0; NVMCON = 0x4003; TBLPAG = (PROG_ADDR & 0x7F0000)>>16; addrOffset = PROG_ADDR & 0x00FFFF; asm("tblwth %1, [%0]" : "=r"(addrOffset) : "d"(0x00B3)); asm("tblwtl %1, [%0]" : "=r"(addrOffset) : "d"(0x0690)); NVMKEY=0x55; NVMKEY=0xAA; NVMCONbits.WR = 1; while(NVMCONbits.WR){} asm("NOP"); asm("NOP"); SR = SR_temp;
發表於: 2010/1/22 11:39
Edited by snew310 on 2010年01月22日 12:39:03
|
|
You can view topic.
你 不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.