[PSP]CMF代码格式, FC 通用,转自 www.wholehk.com |
[PSP]CMF代码格式, FC 通用,转自 www.wholehk.com |
2010-12-22 10:17:56, Wed
Post
#1
|
|
猫猫猫 Group: Power Cat Posts: 626 Joined: 2006-12-8 Member No.: 2 |
直接寫入碼
單字節/8 bits 0x0aa aa aa a 0x000000bb ※將aa aa aa a地址上的數値修改成bb並鎖定不變。 雙字節/16 bits 0x1aa aa aa a 0x0000bb bb ※將aa aa aa a地址上的數値修改成bb bb並鎖定不變,地址尾數必須是0、2、4、6、8、A、C或E。 四字節/32 bits 0x2aa aa aa a 0xbb bb bbbb ※將aa aa aa a地址上的數値修改成bb bb bbbb並鎖定不變,地址尾數必須是0、4、8或C。 這些就是最普通的代碼了,CM的碼也可以直接轉成這種碼。 |
|
|
2010-12-22 10:30:30, Wed
Post
#2
|
|
猫猫猫 Group: Power Cat Posts: 626 Joined: 2006-12-8 Member No.: 2 |
邏輯運算碼
單字節/8 bits 0x7aaaa aaa 0x000000bb ※將aaaa aaa地址上的數値作或運算,由bb決定哪些比特作比較。 0x7aaaa aaa 0x000200bb ※將aaaa aaa地址上的數値作與運算,由bb決定哪些比特作比較。 0x7aaaa aaa 0x000400bb ※將aaaa aaa地址上的數値作非運算,由bb決定哪些比特作比較。 雙字節/16 bits 0x7aaaa aaa 0x0001bbbb ※將aaaa aaa地址上的數値作或運算,由bbbb決定哪些比特作比較,地址尾數必須是0、2、4、6、8、A、C或E。 0x7aaaa aaa 0x0003bbbb ※將aaaa aaa地址上的數値作與運算,由bbbb決定哪些比特作比較,地址尾數必須是0、2、4、6、8、A、C或E。 0x7aaaa aaa 0x0005bbbb ※將aaaa aaa地址上的數値作非運算,由bbbb決定哪些比特作比較,地址尾數必須是0、2、4、6、8、A、C或E。 這些碼要著重講解一下,所謂邏輯運算就是將某字節上的若幹比特(bit)作或、與、非之類的運算。 比特是計算機中最小的單位,(1個字節可以拆分爲8個比特,方法是用函數型計算器輸入十六進製的數値然後轉成二進製)不是0就是1,所以邏輯運算碼是修改 精度最高的命令碼。(使用它可以修改某字節中某個或是數個比特而不影響其它的比特,而單字節持續寫入碼則是8個比特一起受到影響被修改)或運算用來將比特置1,與運算用來將比特清0,非運算則是取反(卽原來是0的就置1,原來是1的就清0)。 比如 0x70032095 0x00000023 最後麵的23轉成二進製就是00100011b(最後的小寫b是二進製的符號,實際運算時不用去看它)。由於是作或運算,所以就看其中1的部分,0的部分不看。從右向左數第1、2、6位是1,所以0032095地址上的原數値的這幾個位置的比特就被置1,其餘不變。 又比如 0x70032095 0x00020023 這次是作與運算,所以就看其中0的部分,1的部分不看。從右向左數第3、4、5、7、8位是0,所以0032095地址上的原數値的這幾個位置的比特就被清0,其餘不變。 再比如 0x70032095 0x00040023 這次改作非運算,所以就看其中1的部分,0的部分不看。從右向左數第1、2、6位是1,所以0032095地址上的原數値的這幾個位置的比特就取反,其餘不變。 |
|
|
Lo-Fi Version | Time is now: 2024-12-25 15:37 |