Ito ang command yasm na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator
PROGRAMA:
NAME
yasm - Ang Yasm Modular Assembler
SINOPSIS
yasm [-f format] [-o outfile] [iba pagpipilian...] {infile}
yasm -h
DESCRIPTION
Ang Yasm Modular Assembler ay isang portable, retargetable assembler na nakasulat sa ilalim ng "bago"
(2 o 3 sugnay) lisensya ng BSD. Kasalukuyang sinusuportahan ni Yasm ang mga set ng pagtuturo ng x86 at AMD64,
tumatanggap ng NASM at GAS assembler syntax, output binary, ELF32, ELF64, COFF, Win32, at
Win64 object format, at bumubuo ng source debugging information sa STABS, DWARF 2, at
Mga format ng CodeView 8.
Ang YASM ay binubuo ng yasm command, libyasm, ang pangunahing backend library, at isang malaking bilang
ng mga module. Sa kasalukuyan, ang libyasm at ang mga na-load na module ay statically built in sa yasm
maipapatupad.
Ang yasm Binubuo ng command ang file infile at idinidirekta ang output sa file outfile if
tinukoy. Kung outfile ay hindi tinukoy, yasm ay makakakuha ng default na pangalan ng file ng output mula sa
ang pangalan ng input file nito, kadalasan sa pamamagitan ng pagdaragdag ng .o o .obj, o sa pamamagitan ng pag-alis ng lahat ng extension
para sa isang raw binary file. Kung hindi iyon, ang pangalan ng output file ay yasm.out.
Kung tawagin ng isang infile ng "-", yasm tinitipon ang karaniwang input at nagdidirekta ng output sa
mga file outfile, o yasm.out kung hindi outfile ay tinukoy.
Opsyon
Maraming mga opsyon ang maaaring ibigay sa isa sa dalawang anyo: alinman sa isang gitling na sinusundan ng isang titik,
o dalawang gitling na sinusundan ng mahabang pangalan ng opsyon. Ang mga opsyon ay nakalista sa alpabetikong pagkakasunud-sunod.
Pangkalahatan Options
-a arko or --arch=arko: Piliin ang target na arkitektura
Pinipili ang target na arkitektura. Ang default na arkitektura ay "x86", na sumusuporta
parehong IA-32 at derivatives at AMD64 set ng pagtuturo. Upang mag-print ng listahan ng
magagamit na mga arkitektura sa karaniwang output, gamitin ang "tulong" bilang arko. Tingnan yasm_arch(7) para sa a
listahan ng mga sinusuportahang arkitektura.
-f format or --oformat=format: Pumili ng object format
Pinipili ang format ng output object. Ang default na format ng object ay "bin", na isang flat
format ng binary na walang relokasyon. Upang mag-print ng listahan ng mga available na object format sa
karaniwang output, gamitin ang "tulong" bilang format. Tingnan yasm_objfmts(7) para sa isang listahan ng mga sinusuportahan
mga format ng bagay.
-g mag-alis ng mga insekto or --dformat=mag-alis ng mga insekto: Piliin ang format ng pag-debug
Pinipili ang format ng pag-debug para sa impormasyon sa pag-debug. Maaaring gamitin ang impormasyon sa pag-debug
sa pamamagitan ng isang debugger upang iugnay ang executable code pabalik sa source file o makakuha ng data
istraktura at uri ng impormasyon. Ang mga available na format ng pag-debug ay nag-iiba-iba sa iba't ibang bagay
mga format; yasm ay magkaka-error kapag may napiling di-wastong kumbinasyon. Ang default na bagay
ang format ay pinili ng object format. Upang mag-print ng listahan ng magagamit na pag-debug
mga format sa karaniwang output, gamitin ang "tulong" bilang mag-alis ng mga insekto. Tingnan yasm_dbgfmts(7) para sa isang listahan ng
suportadong mga format ng pag-debug.
-L listahan or --lformat=listahan: Piliin ang format ng file ng listahan
Pinipili ang format/estilo ng file ng listahan ng output. Ang mga file ng listahan ay karaniwang pinaghalo ang
orihinal na pinagmulan kasama ang machine code na nabuo ng assembler. Ang default na listahan
format ay "nasm", na ginagaya ang NASM list file format. Upang mag-print ng listahan ng magagamit
ilista ang mga format ng file sa karaniwang output, gamitin ang "tulong" bilang listahan.
-l listfile or --listahan=listfile: Tukuyin ang listahan ng filename
Tinutukoy ang pangalan ng file ng listahan ng output. Kung hindi ginagamit ang opsyong ito, walang list file
ay nabuo.
-m makina or --machine=makina: Piliin ang target na arkitektura ng makina
Pinipili ang target na arkitektura ng makina. Mahalagang subtype ng napili
architecture, ang uri ng makina ay pumipili sa pagitan ng mga pangunahing subset ng isang arkitektura. Para sa
halimbawa, para sa arkitektura ng "x86", ang dalawang magagamit na makina ay "x86", ibig sabihin
ginagamit para sa IA-32 at derivative na 32-bit na set ng pagtuturo, at "amd64", na ginagamit
para sa 64-bit na set ng pagtuturo. Ang pagkakaiba-iba na ito ay kinakailangan upang makabuo ng
wastong object file para sa mga relocatable object format tulad ng COFF at ELF. Upang mag-print a
listahan ng mga magagamit na makina para sa isang partikular na arkitektura sa karaniwang output, gamitin ang "tulong" bilang
makina at ang ibinigay na arkitektura gamit -a arko. Tingnan yasm_arch(7) para sa higit pang mga detalye.
-o filename or --objfile=filename: Tukuyin ang object filename
Tinutukoy ang pangalan ng output file, na pinapalitan ang anumang default na pangalan na nabuo ni Yasm.
-p pares or --parser=pares: Pumili ng parser
Pinipili ang parser (ang assembler syntax). Ang default na parser ay "nasm", na
emulates ang syntax ng NASM, ang Netwide Assembler. Ang isa pang magagamit na parser ay "gas",
na emulates ang syntax ng GNU AS. Upang mag-print ng listahan ng mga available na parser sa pamantayan
output, gamitin ang "tulong" bilang pares. Tingnan yasm_parsers(7) para sa isang listahan ng mga sinusuportahang parser.
-r preproc or --preproc=preproc: Piliin ang preprocessor
Pinipili ang preprocessor na gagamitin sa input file bago ito ipasa sa parser.
Ang mga preprocessor ay kadalasang nagbibigay ng macro functionality na hindi kasama sa main
parser. Ang default na preprocessor ay "nasm", na isang imported na bersyon ng aktwal
NASM preprocessor. Available din ang isang "raw" na preprocessor, na nilalaktawan lamang ang
hakbang sa preprocessing, direktang ipinapasa ang input file sa parser. Upang mag-print ng listahan ng
magagamit na mga preprocessor sa karaniwang output, gamitin ang "tulong" bilang preproc.
-h or - Tumulong: Mag-print ng buod ng mga opsyon
Nagpi-print ng buod ng mga opsyon sa invocation. Ang lahat ng iba pang mga opsyon ay binabalewala, at walang output
nabuo ang file.
--bersyon: Kunin ang bersyon ng Yasm
Dahil sa opsyong ito, i-print ni Yasm ang numero ng bersyon ng Yasm pati na rin ang lisensya
buod sa karaniwang output. Ang lahat ng iba pang mga opsyon ay binabalewala, at walang output file
nabuo
babala Options
-W Ang mga opsyon ay may dalawang magkasalungat na anyo: -Wpangalan at -Wno-pangalan. Ang mga non-default na form lang ang
ipinakita dito
Ang mga opsyon sa babala ay pinangangasiwaan sa pagkakasunud-sunod na ibinigay sa command line, kaya kung -w is
sinundan ng -Worphan-label, naka-off ang lahat ng babala maliban para sa mga ulilang-label.
-w: Pigilan ang lahat ng mensahe ng babala
Ang pagpipiliang ito ay nagiging sanhi ng pagpigil ni Yasm sa lahat ng mga mensahe ng babala. Tulad ng tinalakay sa itaas, ito
ang opsyon ay maaaring sundan ng iba pang mga opsyon upang muling paganahin ang mga tinukoy na babala.
-Werror: Tratuhin ang mga babala bilang mga error
Dahil sa opsyong ito, ituring ni Yasm ang lahat ng babala bilang mga error. Karaniwan ang mga babala ay hindi
pigilan ang isang object file na mabuo at hindi magreresulta sa katayuan ng paglabas ng pagkabigo
mula yasm, samantalang may mga error. Ginagawa ng opsyong ito ang mga babala na katumbas ng mga error sa mga tuntunin
ng ganitong pag-uugali.
-Wno-unrecognized-char: Huwag magbigay ng babala sa mga hindi nakikilalang input character
Nagiging sanhi ng hindi babala ni Yasm sa mga hindi nakikilalang character na makikita sa input. Karaniwan si Yasm
bubuo ng babala para sa anumang hindi ASCII na character na makikita sa input file.
-Worphan-label: Magbabala sa mga etiketa na walang opsyon sa pagsunod
Kapag ginagamit ang NASM-compatible parser, nagiging sanhi si Yasm na magbabala tungkol sa mga label na makikitang nag-iisa
isang linyang walang trailing colon. Bagama't ito ay mga legal na label sa NASM syntax, maaari silang
hindi sinasadya, dahil sa mga typo o pag-order ng macro definition.
-X estilo: Baguhin ang istilo ng pag-uulat ng error/babala
Pumipili ng partikular na istilo ng output para sa mga mensahe ng error at babala. Ang default ay "gnu"
estilo, na ginagaya ang output ng gcc. Available din ang istilong "vc", na ginagaya
ang output ng Visual C++ compiler ng Microsoft.
Available ang opsyong ito upang mas natural na maisama si Yasm sa mga kapaligiran ng IDE
tulad ng Visual Studio o Emacs, na nagpapahintulot sa IDE na makilala nang tama ang
mensahe ng error/babala tulad nito at i-link pabalik sa nakakasakit na linya ng source code.
Preprocessor Options
Habang ang mga opsyong preprocessor na ito ay theoretically makakaapekto sa anumang preprocessor, ang tanging
Ang preprocessor na kasalukuyang nasa Yasm ay ang "nasm" preprocessor.
-D macro[=value]: Paunang tukuyin ang isang macro
Paunang tinukoy ang isang solong linyang macro. Ang halaga ay opsyonal (kung walang ibinigay na halaga, ang
macro ay tinukoy pa rin, ngunit sa isang walang laman na halaga).
-e or --preproc-lamang: Preprocess lang
Ihihinto ang pagpupulong pagkatapos ng yugto ng preprocessing; ang preprocessed na output ay ipinapadala sa
tinukoy na pangalan ng output o, kung walang tinukoy na pangalan ng output, ang karaniwang output. Hindi
object file ay ginawa.
-I landas: Magdagdag ng isama ang landas ng file
Nagdaragdag ng direktoryo landas sa path ng paghahanap para sa isama ang mga file. Nagde-default ang path ng paghahanap sa
kasama lamang ang direktoryo kung saan naninirahan ang source file.
-P filename: Paunang isama ang isang file
Pre-kabilang ang file filename, ginagawa itong parang bagaman filename ay prepended sa
input. Maaaring maging kapaki-pakinabang para sa prepending multi-line macros na ang -D hindi makasuporta.
-U macro: I-undefine ang isang macro
Hindi natukoy ang isang solong linya na macro (maaaring alinman sa isang built-in na macro o isa na tinukoy nang mas maaga
sa command line na may -D.
HALIMBAWA
Upang i-assemble ang NASM syntax, 32-bit x86 source source.asm sa ELF file source.o, babala sa
mga etiketa ng ulila:
yasm -f elf32 -Worphan-labels source.asm
Upang i-assemble ang NASM syntax AMD64 source x.asm sa Win64 file object.obj:
yasm -f win64 -o object.obj x.asm
Upang i-assemble ang na-preprocess na NASM syntax x86 source y.asm sa flat binary file na y.com:
yasm -f bin -r raw -o y.com y.asm
DIAGNOSTICS
Ang yasm Ang command ay lumalabas sa 0 sa tagumpay, at nonzero kung may naganap na error.
Kakayahan na
Ang NASM parser at preprocessor ni Yasm, habang nagsusumikap silang maging katugma hangga't maaari
sa NASM, may ilang hindi pagkakatugma dahil sa iba't ibang panloob na istraktura ng YASM.
Kulang ng ilang feature ang GAS parser at preprocessor ni Yasm sa GNU AS.
RESTRICTIONS
Dahil ang mga object file ay madalas na arkitektura at nakadepende sa makina, hindi lahat ng kumbinasyon ng
legal ang mga format ng object, arkitektura, at makina; sinusubukang gumamit ng di-wasto
ang kumbinasyon ay magreresulta sa isang error.
Walang suporta para sa mga mapa ng simbolo.
Gumamit ng yasm online gamit ang mga serbisyo ng onworks.net