Solar Assembler: Difference between revisions
Jump to navigation
Jump to search
[unchecked revision] | [unchecked revision] |
Content added Content deleted
(New page: Solar Assembler (aka Sol_Asm) is a multipass macro assembler written by Bogdan Ontanu. It supports HLL primitives, like procedures, structures/unions, .IF/.ENDIF, .REPEAT/.UNTIL, etc. Sol_...) |
No edit summary |
||
Line 1: | Line 1: | ||
{{In Progress}} |
|||
Solar Assembler (aka Sol_Asm) is a multipass macro assembler written by Bogdan Ontanu. It supports HLL primitives, like procedures, structures/unions, .IF/.ENDIF, .REPEAT/.UNTIL, etc. Sol_Asm can produce binary files, PE executables (32/64-bit), COFF object files (32/64-bit), ELF object files (32-bit only) and Mach-O object files (32-bit only). |
Solar Assembler (aka Sol_Asm) is a multipass macro assembler written by Bogdan Ontanu. It supports HLL primitives, like procedures, structures/unions, .IF/.ENDIF, .REPEAT/.UNTIL, etc. Sol_Asm can produce binary files, PE executables (32/64-bit), COFF object files (32/64-bit), ELF object files (32-bit only) and Mach-O object files (32-bit only). |
||
==Sol_Asm syntax== |
|||
{{Stub}} |
|||
The syntax of Sol_Asm is easy to learn and has similarities with the syntax of [[TASM]] or [[MASM]]. |
|||
This table shows the differences between Sol_Asm and other HLL assemblers: |
|||
{| {{wikitable}} |
|||
! |
|||
! SOL_ASM |
|||
! [[TASM]] |
|||
! [[MASM]] |
|||
! [[FASM]] with HLL macros |
|||
|- |
|||
| Procedures |
|||
| <source lang="asm"> |
|||
PROC TestProc |
|||
USES eax, ebx |
|||
ARG Var1, Var2 |
|||
LOCAL Var3 |
|||
... |
|||
ENDP |
|||
</source> |
|||
| <source lang="asm"> |
|||
TestProc PROC |
|||
USES eax, ebx |
|||
ARG Var1:DWORD, Var2:BYTE |
|||
LOCAL Var3:WORD |
|||
... |
|||
ENDP |
|||
</source> |
|||
| <source lang="asm"> |
|||
TestProc PROC \ |
|||
USES eax, ebx \ |
|||
Var1:DWORD, Var2:BYTE |
|||
LOCAL Var3 |
|||
... |
|||
TestProc ENDP |
|||
</source> |
|||
| <source lang="asm"> |
|||
proc TestProc \ |
|||
USES eax ebx \ |
|||
Var1:DWORD, Var2:BYTE |
|||
LOCAL Var3 |
|||
... |
|||
endp |
|||
</source> |
|||
|- |
|||
| Structures |
|||
| <source lang="asm"> |
|||
STRUC StructTest |
|||
Var1: db ? |
|||
Var2: dw ? |
|||
Var3: dd ? |
|||
ENDS |
|||
</source> |
|||
| <source lang="asm"> |
|||
StructTest STRUC |
|||
Var1: db ? |
|||
Var2: dw ? |
|||
Var3: dd ? |
|||
ENDS |
|||
</source> |
|||
| <source lang="asm"> |
|||
StructTest STRUC |
|||
Var1: db ? |
|||
Var2: dw ? |
|||
Var3: dd ? |
|||
StrucTTest ENDS |
|||
</source> |
|||
| <source lang="asm"> |
|||
struct StructTest |
|||
Var1: db ? |
|||
Var2: dw ? |
|||
Var3: dd ? |
|||
ends |
|||
</source> |
|||
|- |
|||
| Reserve non initialized data |
|||
| <source lang="asm"> |
|||
Buffer: rb 256 |
|||
</source> |
|||
| <source lang="asm"> |
|||
Buffer: db 256 dup(?) |
|||
</source> |
|||
| <source lang="asm"> |
|||
Buffer: db 256 dup(?) |
|||
</source> |
|||
| <source lang="asm"> |
|||
Buffer: db 256 dup(?) |
|||
or |
|||
Buffer: rb 256 |
|||
</source> |
|||
|} |
|||
==See Also== |
==See Also== |
Revision as of 12:17, 15 July 2009
This page is a work in progress.
This page may thus be incomplete. Its content may be changed in the near future.
Solar Assembler (aka Sol_Asm) is a multipass macro assembler written by Bogdan Ontanu. It supports HLL primitives, like procedures, structures/unions, .IF/.ENDIF, .REPEAT/.UNTIL, etc. Sol_Asm can produce binary files, PE executables (32/64-bit), COFF object files (32/64-bit), ELF object files (32-bit only) and Mach-O object files (32-bit only).
Sol_Asm syntax
This page is a stub.
You can help the wiki by accurately adding more contents to it.
The syntax of Sol_Asm is easy to learn and has similarities with the syntax of TASM or MASM. This table shows the differences between Sol_Asm and other HLL assemblers:
SOL_ASM | TASM | MASM | FASM with HLL macros | |
---|---|---|---|---|
Procedures | PROC TestProc
USES eax, ebx
ARG Var1, Var2
LOCAL Var3
...
ENDP
|
TestProc PROC
USES eax, ebx
ARG Var1:DWORD, Var2:BYTE
LOCAL Var3:WORD
...
ENDP
|
TestProc PROC \
USES eax, ebx \
Var1:DWORD, Var2:BYTE
LOCAL Var3
...
TestProc ENDP
|
proc TestProc \
USES eax ebx \
Var1:DWORD, Var2:BYTE
LOCAL Var3
...
endp
|
Structures | STRUC StructTest
Var1: db ?
Var2: dw ?
Var3: dd ?
ENDS
|
StructTest STRUC
Var1: db ?
Var2: dw ?
Var3: dd ?
ENDS
|
StructTest STRUC
Var1: db ?
Var2: dw ?
Var3: dd ?
StrucTTest ENDS
|
struct StructTest
Var1: db ?
Var2: dw ?
Var3: dd ?
ends
|
Reserve non initialized data | Buffer: rb 256
|
Buffer: db 256 dup(?)
|
Buffer: db 256 dup(?)
|
Buffer: db 256 dup(?)
or
Buffer: rb 256
|