top | item 39966737

(no title)

netmare | 1 year ago

I "solved" that by using two assembling passes. The first had dummy jump/call addresses in order to determine the code offsets of labels. Then I would resolve the relative offsets, replace the target labels with offset deltas and reassemble.

I used that trick to speed up my QBasic programs with graphics, string and list handling, etc. It was one of the first rewarding times in my programming "career" and it actually made me feel proud of myself.

discuss

order

EvanAnderson|1 year ago

Yeah-- I did the same thing. It just sucks when you've forgotten s prefix or a push/pop early in the code and you have to retarget all the subsequent addresses. It really makes you appreciate a real assembler.