You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, stuff like LUTs must be defined before using them. This results in the data for the LUT being located before the program code. This may upset disassemblers when the data bytes are not valid machine code (e. g. ending in a cut off multi byte opcode).
It would be better to define data segments at the start of the program and then relocate them to the end of the code segment. This could be accomplished by generating a mutable address container rather than the final address on the first pass. On another pass, these containers could be filled with the real addresses.
This would also make the jmp and call mnemonics that automatically select the right opcode easier.
The results of Program.after_code_segment would automatically be inserted at the end of the code segment, but it would be called before Program.main.
The text was updated successfully, but these errors were encountered:
Use case: morse.yay.
Currently, stuff like LUTs must be defined before using them. This results in the data for the LUT being located before the program code. This may upset disassemblers when the data bytes are not valid machine code (e. g. ending in a cut off multi byte opcode).
It would be better to define data segments at the start of the program and then relocate them to the end of the code segment. This could be accomplished by generating a mutable address container rather than the final address on the first pass. On another pass, these containers could be filled with the real addresses.
This would also make the
jmp
andcall
mnemonics that automatically select the right opcode easier.The results of
Program.after_code_segment
would automatically be inserted at the end of the code segment, but it would be called beforeProgram.main
.The text was updated successfully, but these errors were encountered: