看板 Programming 關於我們 聯絡資訊
各位網友您好, 請問一下我有以下的8051 C source code i2c_write_reg(0x0a, 0x01, 0x28); i2c_read_reg(0x0a, 0x22); 但是我在compiled之後,在binary code(也就是機械碼)中,很難找到 諸如0A 01 28或是0A 22這樣的十六進位數。 請問有什麼方法,可以在compiled之後仍然可以找到這些常數呢? 感謝您的幫忙~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.137.8.75 ※ 文章網址: http://www.ptt.cc/bbs/Programming/M.1408424439.A.75D.html
suhorng: 像這種的你要 disassemble 去看位置 140.112.16.150 08/19 14:15
suhorng: 這種十之八九會變成指令 140.112.16.150 08/19 14:15
KAOKAOKAO: 8051的這個工具支援asm嵌入組語嗎? 118.169.35.235 08/19 21:57
MasterChang: 8051是單晶片吧? 180.177.57.230 08/20 06:13
ptta: 是單晶片,有支援嵌入式asm(keil c) 42.70.47.3 08/20 07:42
bxxl: 你先去找assembly code翻成什麼,再去查 114.45.136.64 08/20 22:33
bxxl: instruction set format, 就能手動翻譯 114.45.136.64 08/20 22:35
bxxl: 出機器碼, 除非欄位剛好是byte aligned 114.45.136.64 08/20 22:36
bxxl: 不然應該是無法直接看出,因為一個byte之內 114.45.136.64 08/20 22:36
bxxl: 可能有部份bit是opcode,部份是常數 114.45.136.64 08/20 22:37