f576e0540b
commits. For some reason I thought the scale factor was a shift count rather than the multiplicand (that is, I thought leal (%eax,%edx,4) was going to generate %eax + %edx << 4 rather than %eax + %edx * 4). What I need is to multiply by 16 to convert a real-mode (seg, offset) tuple into a flat address. However, the max multiplicand for scaled/index addressing on i386 is 8, so go back to using a shl and an add. - Convert two more inter-register mov instructions where we don't need to preserve the source register to xchg instructions to keep our space savings. Tested by: Ian FREISLICH if at hetzner.co.za MFC after: 1 week |
||
---|---|---|
.. | ||
boot0 | ||
boot0ext | ||
boot0sio | ||
boot2 | ||
btx | ||
cdboot | ||
gptboot | ||
kgzldr | ||
libi386 | ||
loader | ||
mbr | ||
pxeldr | ||
Makefile | ||
Makefile.inc |