4 ms·
I always kind of figured that the first pass would emit the most general form of a jump, then shorten it if possible, but I guess it works the other way around
by SloopJon 11y ago
I always kind of figured that the first pass would emit the most general form of a jump, then shorten it if possible, but I guess it works the other way around too.
- rer0tsaz 11y agoIf you start with the most general form you won't always get an optimal solution, because two jumps may be blocking each other from optimizing. TASM does it that way. Consider (16-bit NASM): a: times 124 nop jmp b jmp a times 125 nop b:
- drudru11 11y ago@SloopJon - I thought the same thing when I looked at this years ago. In fact, many older books/articles mentioned. @rer0tsaz - this is a great counter example. Is there a general form for these types of problems and solutions? Also, I wonder how often instruction sequences like that would occur.