nickysn
|
17a8c03e41
* declare the group dgroup even in i8086 far data memory models
|
11 gadi atpakaļ |
Jonas Maebe
|
80863a8361
* fixed warning/compilation
|
11 gadi atpakaļ |
sergei
|
9c54cdc85d
* x86: Cleaned out addr_far,addr_far_ref used to encode far calls/jumps. NASM (and FPC x86 assembler based on it) already have opsize=S_FAR for this purpose.
|
11 gadi atpakaļ |
sergei
|
f69e6ec389
* Some fixes to NASM writer:
|
11 gadi atpakaļ |
nickysn
|
c00b56ae49
* added the -w-orphan-labels parameter to all tasminfo instances for nasm.
|
11 gadi atpakaļ |
pierre
|
045f161012
Separate out nasm assembler for i8086, i386 and x86_64 cpus, also separte based on target object format
|
11 gadi atpakaļ |
nickysn
|
39c54bf077
* handle ait_varloc in the nasm writer. This allows compiling the system unit
|
11 gadi atpakaļ |
nickysn
|
2d45ea43af
* use the 'wait' prefix (on the same line as the instruction), instead of
|
11 gadi atpakaļ |
nickysn
|
0020a2ed10
+ when targeting the i8087, emit FWAIT prefix manually for the 8087 instructions
|
12 gadi atpakaļ |
nickysn
|
9f979eb5c6
* put the i8086-msdos dwarf debug sections in USE32 class=DWARF segments because
|
12 gadi atpakaļ |
nickysn
|
e6a4435330
+ support the aitconst_XXbit_unaligned const types in the NASM asm writer. This
|
12 gadi atpakaļ |
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
|
12 gadi atpakaļ |
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
|
12 gadi atpakaļ |
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
|
12 gadi atpakaļ |
nickysn
|
9dbbffba61
+ added trefaddr.addr_seg for referencing the segment of a symbol
|
12 gadi atpakaļ |
nickysn
|
e4a1230356
+ added support for far pointer constants in the assembly output
|
12 gadi atpakaļ |
nickysn
|
604b7c9deb
+ added cg.a_call_ref_near and a_call_ref_far
|
12 gadi atpakaļ |
nickysn
|
3631198b34
+ declare the text segment with class=code in the nasm header for far code memory models also
|
12 gadi atpakaļ |
nickysn
|
9a6c242f97
+ emit proper far calls/jmps for addr_far in the nasm assembly output
|
12 gadi atpakaļ |
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
|
12 gadi atpakaļ |
nickysn
|
b74af9fda0
* declare the text segment with class=code on i8086-msdos
|
12 gadi atpakaļ |
nickysn
|
2279e51a95
+ added trefaddr.addr_far for emitting far calls
|
12 gadi atpakaļ |
nickysn
|
b409d600ee
+ implemented the tiny memory model for i8086-msdos; we now produce working dos .com files as well
|
12 gadi atpakaļ |
nickysn
|
e243b6b869
* never use the 66h prefix when pushing/popping segment registers on i8086, as the stack is aligned on 2 bytes there
|
12 gadi atpakaļ |
nickysn
|
c2e3fb5918
+ emit proper interrupt procedure entry/exit code on i8086
|
12 gadi atpakaļ |
nickysn
|
db5573b395
* fixed the nasm assembly output for SAR/SAL with a memory reference
|
12 gadi atpakaļ |
florian
|
2ec15deaba
* more readable register allocation comments
|
12 gadi atpakaļ |
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
|
12 gadi atpakaļ |
nickysn
|
fe275c4f47
* set nasm cpu type according to the current cpu level set by -Cp
|
12 gadi atpakaļ |
nickysn
|
99d3b453a4
* got rid of the i8086 nasm warning 'segment attributes specified on redeclaration of segment'
|
12 gadi atpakaļ |