別人在這個代碼(MC9S08JM60)提高:彙編語言編碼幫助需要
ldhx #0xDFC4; // Vector location
ldhx ,x // Fetch vector contents
jsr ,x // Execute interrupt function
我想要做的是在該位置0xABCD,其中,是0xAB在於0xDFC4和跳0xCD位於0xDFC5。
所以,上面的代碼似乎沒有跳轉到ABCD的位置。
別人在這個代碼(MC9S08JM60)提高:彙編語言編碼幫助需要
ldhx #0xDFC4; // Vector location
ldhx ,x // Fetch vector contents
jsr ,x // Execute interrupt function
我想要做的是在該位置0xABCD,其中,是0xAB在於0xDFC4和跳0xCD位於0xDFC5。
所以,上面的代碼似乎沒有跳轉到ABCD的位置。
的HCS08 Reference Manual是在這樣的情況下派上用場:
地址0xDFC4在字節指令LDHX負荷的直接模式到「H」註冊,並在地址0xDFC5字節到「X 「註冊。
我認爲你的第二條指令是可以的。
但我認爲,您的第三條指令JumptoSubRoutine(JSR)會執行偏移量跳轉。嘗試JMP,注意,JSR還會將當前(返回)地址推送到堆棧,從而有效地將堆棧指針遞增2。
ldhx 0xDFC4; //獲取向量內容
jsr,x //執行中斷函數
此處理器的字節序是什麼? `ldhx#0xABCD; jsr,x`做你需要的嗎? – ruslik 2010-11-23 22:12:43