Файл на ассемблере обычно имеет .s
.S
или .asm
, но не .txt
, даже если это не имеет значения.
Как и просили, вы должны немного уточнить свой вопрос, указав тип станка и набор инструментов.
Это действительно похоже на мнемоническую сборку Intel с использованием сборки Intel (против AT & T см. сборка Wikipedia x86 для краткого обзора).
Вы можете попробовать NASM (Netwide Assembler) , чтобы скомпилировать такой исходный код.
Конечно, в вашем файле отсутствуют некоторые части, как указано в NASM ( в Linux ).
$ cat file.s
; comment
section .text
global fct
fct:
call getVal
mov M1, AX
call getVal
mov M2, AX
call getVal
mov BX, AX
mul M2
mov CX, AX
mov AX, M2
mul M1
add AX, CX
call putVal
$ nasm -f elf -o file.o file.s
file.s:5: error: symbol `getVal' undefined
file.s:6: error: symbol `M1' undefined
file.s:7: error: symbol `getVal' undefined
file.s:8: error: symbol `M2' undefined
file.s:9: error: symbol `getVal' undefined
file.s:11: error: symbol `M2' undefined
file.s:13: error: symbol `M2' undefined
file.s:14: error: symbol `M1' undefined
file.s:16: error: symbol `putVal' undefined
Обратите внимание, что я использовал формат вывода ELF, так как он помогает при использовании GNU objdump
. Но вы можете выбрать другой выходной формат в следующем списке (nasm -hf
):
valid output formats for -f are (`*' denotes default):
* bin flat-form binary files (e.g. DOS .COM, .SYS)
ith Intel hex
srec Motorola S-records
aout Linux a.out object files
aoutb NetBSD/FreeBSD a.out object files
coff COFF (i386) object files (e.g. DJGPP for DOS)
elf32 ELF32 (i386) object files (e.g. Linux)
elf ELF (short name for ELF32)
elf64 ELF64 (x86_64) object files (e.g. Linux)
as86 Linux as86 (bin86 version 0.3) object files
obj MS-DOS 16-bit/32-bit OMF object files
win32 Microsoft Win32 (i386) object files
win64 Microsoft Win64 (x86-64) object files
rdf Relocatable Dynamic Object File Format v2.0
ieee IEEE-695 (LADsoft variant) object file format
macho32 NeXTstep/OpenStep/Rhapsody/Darwin/MacOS X (i386) object files
macho MACHO (short name for MACHO32)
macho64 NeXTstep/OpenStep/Rhapsody/Darwin/MacOS X (x86_64) object files
dbg Trace of all info passed to output stage
Для пользователей MS вы могли бы использовать MASM
или TASM
, которые используют другой код стиля сборки:
; comment
.CODE
fct:
[...]
END
Надеюсь, это поможет:)