Commit History

Autor SHA1 Mensaxe Data
  nickysn 0020a2ed10 + when targeting the i8087, emit FWAIT prefix manually for the 8087 instructions %!s(int64=11) %!d(string=hai) anos
  nickysn 9f979eb5c6 * put the i8086-msdos dwarf debug sections in USE32 class=DWARF segments because %!s(int64=11) %!d(string=hai) anos
  nickysn e6a4435330 + support the aitconst_XXbit_unaligned const types in the NASM asm writer. This %!s(int64=11) %!d(string=hai) anos
  nickysn 661e11ecb8 * on i8086 added section .fpc to the group 'dgroup'. This fixes a bug that caused the bss section to not be left out from the executable in tiny model, which caused, ironically, tiny model executables to be larger than the small model executables %!s(int64=12) %!d(string=hai) anos
  nickysn f9d0caa7c7 * pass the option -w-orphan-labels to nasm to avoid the spurious warnings about labels without a trailing colon and without an instruction on the same line %!s(int64=12) %!d(string=hai) anos
  nickysn 511b1f37c1 * write the segment of aitconst_farptr on a separate line to avoid long symbol truncation, due to line length limit; this fixes compilation of sysutils in the medium memory model %!s(int64=12) %!d(string=hai) anos
  nickysn 9dbbffba61 + added trefaddr.addr_seg for referencing the segment of a symbol %!s(int64=12) %!d(string=hai) anos
  nickysn e4a1230356 + added support for far pointer constants in the assembly output %!s(int64=12) %!d(string=hai) anos
  nickysn 604b7c9deb + added cg.a_call_ref_near and a_call_ref_far %!s(int64=12) %!d(string=hai) anos
  nickysn 3631198b34 + declare the text segment with class=code in the nasm header for far code memory models also %!s(int64=12) %!d(string=hai) anos
  nickysn 9a6c242f97 + emit proper far calls/jmps for addr_far in the nasm assembly output %!s(int64=12) %!d(string=hai) anos
  nickysn 3280514d2b * in i8086 far code models, put the code in a section called module_name+'_TEXT', so each unit gets a separate code segment %!s(int64=12) %!d(string=hai) anos
  nickysn b74af9fda0 * declare the text segment with class=code on i8086-msdos %!s(int64=12) %!d(string=hai) anos
  nickysn 2279e51a95 + added trefaddr.addr_far for emitting far calls %!s(int64=12) %!d(string=hai) anos
  nickysn b409d600ee + implemented the tiny memory model for i8086-msdos; we now produce working dos .com files as well %!s(int64=12) %!d(string=hai) anos
  nickysn e243b6b869 * never use the 66h prefix when pushing/popping segment registers on i8086, as the stack is aligned on 2 bytes there %!s(int64=12) %!d(string=hai) anos
  nickysn c2e3fb5918 + emit proper interrupt procedure entry/exit code on i8086 %!s(int64=12) %!d(string=hai) anos
  nickysn db5573b395 * fixed the nasm assembly output for SAR/SAL with a memory reference %!s(int64=12) %!d(string=hai) anos
  florian 2ec15deaba * more readable register allocation comments %!s(int64=12) %!d(string=hai) anos
  nickysn b9084a22ca * in the nasm writer only declare labels as global if they have labsym.bind=AB_GLOBAL; this fixes compilation of i8086-msdos programs that use multiple units %!s(int64=12) %!d(string=hai) anos
  nickysn fe275c4f47 * set nasm cpu type according to the current cpu level set by -Cp %!s(int64=12) %!d(string=hai) anos
  nickysn 99d3b453a4 * got rid of the i8086 nasm warning 'segment attributes specified on redeclaration of segment' %!s(int64=12) %!d(string=hai) anos
  nickysn fef3732884 * i8086 compilation fixes %!s(int64=12) %!d(string=hai) anos
  nickysn c3aaa37c0c * fixed a bug which caused non commutative fpu instructions to be wrong when using an intel-style external assembler and compiling a smartlinked unit %!s(int64=12) %!d(string=hai) anos
  nickysn 324b4a8a0a * declare the .bss sections with class=bss, so wlink treats them as bss sections and leaves them out of the executable %!s(int64=12) %!d(string=hai) anos
  nickysn e16e08b2b6 + added CPU 286 nasm directive to the i8086 assembly output in order to catch 386+ instructions; the RTL now compiles without generating any 386+ instructions %!s(int64=12) %!d(string=hai) anos
  nickysn eefc9eed90 * do not use 'NEAR' conditional jumps on the i8086, because they are 386+ %!s(int64=12) %!d(string=hai) anos
  nickysn 1646f53d59 * fixed the 'unresolved externals' linker error when smartlinking msdos executables %!s(int64=12) %!d(string=hai) anos
  nickysn c467035a1c added group directive, so that the .data, .rodata and .bss sections go to the same segment %!s(int64=12) %!d(string=hai) anos
  nickysn 4440015db3 added i8086 specific adaptations to the NASM assembly writer %!s(int64=12) %!d(string=hai) anos