DSM-ECU
  • Welcome
  • Resources
  • Disassembly from scratch
    • Things you need
    • Starting disassembly of a new binary
    • Mapping code vs. data areas
    • Assembly
    • Registers
    • Routine labels - easy mode
    • RAM/Variables
    • The "fun" part
  • Disassembly with Ghidra
    • Add TMP76C75T to Ghidra
    • Easy mode
    • SLEIGH Hints
  • Chips
    • IC MH6111 (TMP76C75T)
    • TMP76C75T Engineering Sample
    • IC MH6311F (TMP76C55T)
    • IC E303 (M60011)
    • IC E310 (M59107)
    • IC E315 (M65013L)
    • IC E320 (M65025)
    • 27C256
  • Hybrid boards
    • E528A
    • E518A
    • E527/E538
    • MA7815(B)
    • M67805 (Knock)
  • MC6801 vs. TMP76C75T
    • xDIV
  • Jellybean
    • Resistors
    • Driver Transistors
    • Power Transistors
  • MH6211 Differences
    • Vector Tables
Powered by GitBook
On this page
  • Disassemble
  • Assemble
  • Errors

Was this helpful?

  1. Disassembly from scratch

Assembly

At this point the code should assemble without much more work, however pages following this one help with code readability and understanding.

Disassemble

$ ./7675Disassm ECU.bin ECU.sym > ECU.asm

Assemble

> TASM.EXE -b -t6111 -xf ECU.asm

Errors

There are a couple of "missing label" errors from the assembler. Comparing the original binary to the new one shows missing bytes in two places. They are addresses. We can simply take the bytes from the original binary (E0 20 E2 85) and tell the disassembler to skip adding labels to these:

ECU.sym
;skip labeling
skip  E020
skip  E285
PreviousMapping code vs. data areasNextRegisters

Last updated 3 years ago

Was this helpful?