-
Notifications
You must be signed in to change notification settings - Fork 17
Disassembling at specific address #109
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
I'm not sure I understand the question. I'll try to answer, but please clarify in case I missed your point. In openMSX itself there are two commands to (help with) disassembling:
For more details see:
The |
This issue is about the code view widget and how you can't easily change the address boundary where an instruction starts and where it ends. Let's say you have the following disassembled code in code view:
Then you change byte in
because it is in a different address boundary. Maybe the code is non-continuous and somewhere there is a jump directly to 0x8000, which would consider the next instruction But maybe there is an disadvantage in doing that. What do you think? That's why this is a suggestion instead of a pull request. |
As far as I know, the disassembler is reimplemented in the debugger... see |
Ah OK, now I understand (I think). This is a general disassembler problem (for CPU architectures with variable-length instructions). I quickly checked how a few other disassembler deal with this. And as far as I could see they all just start disassembling from the first address in the window. And they have a command to set this first address. So indeed like the CTRL+G you suggested. The only alternative I found was the disassembler found in "Compass". This allows to use the cursor up/down to scroll through the disassembler window. Normally this scrolls full instructions, but if you hold CTRL and then press up/down you instead scroll per byte. Personally I don't think this is a good fit for the openMSX-debugger. Your suggestion with CTRL-G should be sufficient. |
One of those things that is easier to do in the emulator than on the debugger. Let's say you have the following code at 0x100:
C3 12 0D
, which translates toJP #0D12
But if you want the decoding to starting at the next byte (0x101), you get
LD (DE),A
andDEC C
. Is there a way to tell the debugger were to start disassembling without setting the PC in the CPU registers window to point to that address or filling up previous bytes withNOP
s until the instruction starts? Maybe theGoto...
menu item could point to the start of a instruction, so I get different results if I go to address 0x101 instead of 0x100?The text was updated successfully, but these errors were encountered: