PDA

View Full Version : How to find the outputs in an assembly file



turbo_bu
03-21-2017, 07:54 PM
I admit that I am probably just dangerous at looking at the disassembly of a binary file. I have found some of the reference Motorola 68000 manuals and have tried to follow some of the code. I am getting better and trying to map out how memory values are loaded, and manipulated. One thing that I am still unsure about is after following all of the memory values, where they get loaded, compared, moved, etc... how does it end up with an output that does something, e.g. - turn on a switch? I haven't seen a Motorola instruction which calls out to "turn something on". My guess is that all the 68000 chip is doing is all the math. The actual input / outputs are done by another piece in the PCM? If you could shed some light on how the all the magic happens I would appreciate it.

jim_in_dorris
03-22-2017, 09:05 AM
Simply put, the main outputs are fuel and timing. Most but not all of the inputs a processed on chip. An integral A to D converter turns voltages into digital inputs (this is on chip) The outputs for fuel are signals going to ground to trigger the injector. on a 7747 it is pins D14 and D16. Some outputs will ground a relay to fire something that requires more voltage than a digital signal provides. Keep reading, it will eventually make sense. Which mask are you looking at? I have a fair understanding of $42 and $0D masks.

turbo_bu
03-22-2017, 02:42 PM
Thanks for the reply. The file that I am going through is from an 2001 LS1 PCM (OS 12202088). Same type code but from the slightly newer PCM as the masks that you are referring to. I have the basic understanding like you described of what the outputs are used for (fuel injectors, ignition, grounding relays, etc...) I guess what I was looking for is if there is a command" that says turn something on. Maybe there really isn't a command per se, but it might just be that we are changing a state from 0 to 1, and then that grounds a pin which is then used to turn on a relay? As I started to go through the code, I have been able to cheat a little by searching out a specific memory address, and then trying to follow that part of the code. I guess I was hoping that one of the sections might be descriptive enough to say, "here we turned on the output to pin C2-33". I now know that is not the case, but was hoping that one of the commands might provide more of clue to show where something happened.

Thanks for confirming that the A-D is done on the chip. I understand how the A to D stuff works, but wasn't sure if that was done else where in the PCM and then fed to the chip.

Is there a place which shows you where the inputs / outputs are mapped? Something that might show that this ______ memory address controls ____ pin???

dzidaV8
03-22-2017, 04:56 PM
You would have to look at hardware schematic of the PCM to see how the peripherals are connected to the uProcessor. In the uP itself there are memory addresses mapped to its peripherals - I/O ports, ADCs, comm ports and so on, so effectively writing a value to certain address controls the outputs - those addresses should be described in processor datasheet.