InglesPransesEspanyol

Ad


OnWorks favicon

crasm - Online sa Cloud

Magpatakbo ng crasm sa OnWorks na libreng hosting provider sa Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

Ito ang command crasm 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


crasm - Cross assembler para sa 6800/6801/6803/6502/65C02/Z80

SINOPSIS


crasm [-alinman codefile] [-slx] asmfile

Ipunin ang microprocessor program asmfile at gumawa ng output file codefile sa Intel HEX
o format ng Motorola S Code. Ang isang listahan ng programa at isang simbolo ng talahanayan ay ginawa din sa
karaniwang output. Ang kasalukuyang bersyon ng crasm maaaring mag-ipon ng mga programa para sa 6800, 6801,
6803, 6502, 65C02, at Z80 mga processor. Ang buong listahan ay naka-print kapag nag-invoke ka crasm
walang argumento.

Opsyon


-o codefile
Tukuyin ang pangalan ng output file. Walang output file na ginawa kung wala ito
pagpipilian.

-s Huwag paganahin ang mga babala.

-l Huwag paganahin ang output ng listahan ng programa.

-x Huwag paganahin ang output ng talahanayan ng simbolo.

SINTAX


Ang bawat linya ng programa ng pagpupulong ay dapat sumunod sa isa sa mga sumusunod na template, kung saan ang
nililimitahan ng mga bracket ang mga opsyonal na bahagi.

[;puna]
etiketa = pagpapahayag [;puna]
[etiketa] nimonik operan [;puna]

Ang mga komento ay ipinakilala ng isang semicolon (;) at pahabain hanggang sa dulo ng linya. Ang mga label ay
mga identifier na naglalaman ng hanggang 36 na alphanumeric na character (kabilang ang tuldok at underscore).
Ang mga label ay hindi maaaring magsimula sa isang digit. Depende ang format ng field ng mnemonic at operand
sa napiling micro-processor. Ang ilang mga mnemonics ay may bisa para sa lahat ng mga processor at ay
ginagamit upang magbigay ng mga direktiba sa mga nagtitipon. Ang mga ito ay kilala bilang "pseudo-mnemonics".

Labels
Ang mga label ay mga identifier na kumakatawan
- isang ganap na address,
— isang kamag-anak na address (independiyenteng code ng posisyon),
- isang rehistro,
- isang listahan ng mga rehistro,
— isang tiyak na bit sa isang tiyak na address,
— o isang mnemonic.

Karamihan sa mga label ay binubuo ng hindi hihigit sa 36 na alphanumeric na character, mga tuldok (.) O
salungguhit (_). Ang mga label ay hindi maaaring magsimula sa isang digit. Ang mga ito ay case insensitive.

Mga label na nagsisimula sa isang tuldok (.) ay mga lokal na label na ang saklaw ay maaaring limitado sa
macro kung saan tinukoy ang mga ito, o sa segment ng code na nililimitahan ng pseudo-mnemonics
CODE or DUMMY.

Ang paunang natukoy na label na "bituin" (*) ay kumakatawan sa kasalukuyang counter ng programa, ibig sabihin,
ang address kung saan ie-encode ang susunod na pagtuturo ng assembly code. Iba pang paunang natukoy
kasama sa mga label ang lahat ng pseudo-mnemonics, micro-processor specific mnemonics at register
mga pangalan.

Constants
Kinikilala ng assembled ang mga numerical constant na ipinahayag sa decimal, hexadecimal, octal,
binary, o ascii.

┌───────────────────────────────────────────────── ─────────┐
uri format Mga halimbawa
├───────────────────────────────────────────────── ─────────┤
│decimal dddd 1234, 675, 12, 1, Ngunit hindi 0.12. │
├───────────────────────────────────────────────── ─────────┤
│hexadecimal $dddd $fd12, $2AC, $0. │
ddddH 03H, 2da7H, 0FC84H, Ngunit hindi FC84H. │
0Xdddd 0x03, 0x2AC, 0Xfc84. │
├───────────────────────────────────────────────── ─────────┤
│octal ddddQ 377Q, 012412Q. │
├───────────────────────────────────────────────── ─────────┤
│binary %dddd % 01110110, % 1100. │
ddddB 01110110B, 1100B. │
0Bdddd 0b1100
├───────────────────────────────────────────────── ─────────┤
│ascii 'cccc' 'a', 'AB', '"', '\n', '\''. │
"cccc" "\t", "\"", "a'b". │
└───────────────────────────────────────────────── ─────────┘
expression
Tulad ng mga label, ang mga expression ay maaaring kumatawan sa isang ganap na address (abs), isang kamag-anak na address para sa
independiyenteng code ng posisyon (rel), isang rehistro (reg), o isang listahan ng mga rehistro (relist), o a
reference sa isang partikular na bit sa isang tiyak na address (bspec).

Ang mga sumusunod na operator ay kinikilala sa mga expression.

┌───────────────────────────────────────────────── ──────────┐
palaugnayan Resulta paglalarawan
├───────────────────────────────────────────────── ──────────┤
abs{abs} bspec bit na sanggunian, hal pia{3}
ADDR(abs) abs address mula sa isang maliit na sanggunian │
BIT(abs) abs bit number mula sa isang bit reference │
├───────────────────────────────────────────────── ──────────┤
- abs abs komplemento ng dalawa │
~ abs abs pandagdag ng isa │
├───────────────────────────────────────────────── ──────────┤
abs << abs abs kaliwang shift │
abs >> abs abs kanang shift │
├───────────────────────────────────────────────── ──────────┤
abs | abs abs bitwise o │
abs & abs abs bitwise at │
abs ^ abs abs bitwise xor │
├───────────────────────────────────────────────── ──────────┤
abs * abs abs pagpaparami │
abs * abs abs paghahati │
├───────────────────────────────────────────────── ──────────┤
abs + abs abs karagdagan │
rel + abs rel karagdagan │
abs - abs abs pagbabawas │
rel - abs rel pagbabawas │
rel - rel abs pagbabawas │
├───────────────────────────────────────────────── ──────────┤
reg - reg relist hanay ng rehistro │
relist \ reg relist listahan ng rehistro │
└───────────────────────────────────────────────── ──────────┘
Inililista ng talahanayan ang mga operator sa pagkakasunud-sunod ng pagbabawas ng precedence. Maaaring gamitin ang panaklong sa
maiwasan ang mga kalabuan. Ang isang babala ay nabuo kapag ang isang buong expression ay napapalibutan ng
panaklong at maaaring malito sa isang micro-processor addressing mode.

Halimbawa:

(base+$12) >> 8 & 0xff00
'A'-80H
(base+0x12)

Ang huling halimbawa ay nagdudulot ng babala dahil ang panaklong ay hindi kailangan at maaaring
magmungkahi ng micro-processor addressing mode.

Ang lahat ng mga expression ng aritmetika ay sinusuri sa 32 bits. Umaapaw ang mga operasyon sa aritmetika
tahimik. Ang mga halaga ng arithmetic ay pinutol sa laki na ipinahiwatig ng micro-
processor mnemonic. Ang pagputol na ito ay maaaring magdulot ng mensahe ng babala.

Mga halimbawa: lahat ng sumusunod na tagubilin

(6502) Lda #$1234
(6800) ldaa $1234,x
(Z80) ld (ix+0C2H),b

magdulot ng babala

>>> BABALA: operand apaw

Gayunpaman expression

$1123454 * 1298992

umaapaw ng tahimik.

Pseudo-mnemonics
Ang mga sumusunod na pseudo-mnemonics ay palaging kinikilala.

CPU cpuname
Ipinapahiwatig ang napiling uri ng micro-processor. Dapat itong lumitaw bago ang micro-
tiyak na pagtuturo ng processor. Ang mga posibleng halaga ng cpuname ay nakalista kapag ikaw
tumawag sa diyos crasm walang argumento. Kasama sa kasalukuyang listahan 6800, 6801, 6803, 6502,
65C02, at Z80

oUTPUT binformat
Ipinapahiwatig ang format ng output file. Pangangatwiran binformat maaaring kumuha ng mga halaga SCODE
para sa paggawa ng output file gamit ang S code ng Motorola, o HEX para sa Intel's Hex
pormat. Ang default ay depende sa napiling micro-processor.

CODE
Limitahan ang saklaw ng mga lokal na label at ipakilala ang isang seksyon ng programa.

DUMMY Limitahan ang saklaw ng mga lokal na label at magpakilala ng pekeng seksyon ng programa na ang tanging
Ang epekto ay upang tukuyin ang mga label nang hindi bumubuo ng code.

etiketa EQU pagpapahayag
etiketa = pagpapahayag
Tukuyin ang halaga ng label etiketa. Ang mga label na tinukoy gamit ang mga direktiba na ito ay maaaring
muling tinukoy sa programa.

[etiketa] DB pagpapahayag[,...,pagpapahayag]
Ipasok ang tinukoy na data byte (8 bits).

[etiketa] DW pagpapahayag[,...,pagpapahayag]
Ipasok ang tinukoy na mga salita ng data (16 bits). Ang pag-order ng byte ay depende sa
napiling micro-processor.

[etiketa] DL pagpapahayag[,...,pagpapahayag]
Ipasok ang tinukoy na data longs (32 bits). Ang pag-order ng byte ay depende sa
napiling micro-processor.

[etiketa] DDB pagpapahayag[,...,pagpapahayag]
Ipasok ang tinukoy na double byte (16 bits). Ang pag-order ng byte ay kabaligtaran ng
ang karaniwang pag-order ng byte para sa napiling micro-processor.

[etiketa] ASC stringconstant
Ipasok ang representasyon ng ascii ng string stringconstant . Ang string ay dapat na
nililimitahan ng dobleng panipi. Ang mga C escape sequence \r, \n, \t, \0, \', \", at \\
ay kinikilala.

[etiketa] DS countexpr,[valexpr]
Insere countexpr byte na may halaga valexpr. Ang default na halaga ay zero.

[etiketa] I-align KAHIT
[etiketa] I-align Kakaiba
Magpasok ng null byte upang gawing pantay o kakaiba ang counter ng program.

IF condexpr
...
ELSE
...
ENDC
Conditional assembly: Kung expression condexpr ay hindi zero, iproseso ang mga linyang matatagpuan
sa pagitan ng IF at ang ELSE pseudo-mnemonics. Kung hindi, iproseso ang mga linyang matatagpuan
sa pagitan ng ELSE at ang ENDC pseudo-mnemonics. Mga tagubilin sa pagpupulong ng kondisyon
maaaring pugad. Ang ELSE maaaring tanggalin ang bahagi.

etiketa MACRO
...
ENDM
Tukuyin ang isang bagong mnemonic etiketa katumbas ng lahat ng mga tagubilin na matatagpuan sa pagitan ng
MACRO at ENDM pseudo-mnemonics. Maaaring tukuyin ng mga invocation ng macro ang isang listahan ng
comma separated operand. Ang pagkakasunud-sunod ng karakter \1, \2... \N sa macro
ang kahulugan ay pinalitan ng mga ibinigay na operand. Ang pagkakasunud-sunod ng karakter \0 is
pinalitan ng bilang ng mga ibinigay na operand.

EXITM
Ang pseudo mnemonic na ito ay maaaring gamitin sa loob ng macro definition para lumabas sa macro. Ito
ay kapaki-pakinabang kasabay ng conditional assembly pseudo-mnemonics.

MAISASALI filename
Pilitin ang assembler na iproseso ang file na pinangalanan filename sa kasalukuyang punto.

LIST ON
LIST PATAY
Paganahin o huwag paganahin ang paggawa ng isang listahan (naka-on ang default.)

CLIST ON
CLIST PATAY
Paganahin o huwag paganahin ang paggawa ng isang listahan para sa mga hindi aktibong sangay ng a
conditional assembly construct (naka-on ang default.)

ILIST ON
ILIST PATAY
Paganahin o huwag paganahin ang paggawa ng isang listahan para sa mga kasamang file (naka-off ang default.)

MLIS ON
MLIS PATAY
Paganahin o huwag paganahin ang paggawa ng isang listahan para sa mga macro expansion (default ay
off.)

NAM pamagat
Magbigay ng pangalan pamagat para sa header ng mga pahina ng listahan.

PAGE
Magsimula ng bagong page ng listahan.

PAGE haligi,hilera
Tukuyin ang laki ng isang pahina ng listahan.

SKIP numero
Laktawan numero mga linya.

Mabigo mensahe
Bumuo ng mensahe ng error mensahe.

Halimbawa


Narito ang isang maliit na 6502 na programa:

CPU 6502
cout = $fded ; magpakita a katangian
* = $300 ; magtipon at $300
code
pstring Ldy #0
.1 Lda mensahe, y
Beq .2
jsr cout
iba pa
.2 bne .1
rts
mensahe asc "Ito is ang mensahe "
code

CREDITS


Leon Bottou, Setyembre 1987.

Gumamit ng crasm online gamit ang mga serbisyo ng onworks.net


Mga Libreng Server at Workstation

Mag-download ng Windows at Linux apps

  • 1
    Phaser
    Phaser
    Ang Phaser ay isang mabilis, libre, at masayang bukas
    source HTML5 game framework na nag-aalok
    WebGL at Canvas rendering sa kabuuan
    desktop at mobile web browser. Mga laro
    pwede maging co...
    I-download ang Phaser
  • 2
    VASSAL Engine
    VASSAL Engine
    Ang VASSAL ay isang game engine para sa paglikha
    mga elektronikong bersyon ng tradisyonal na board
    at mga laro ng card. Nagbibigay ito ng suporta para sa
    pag-render ng piraso ng laro at pakikipag-ugnayan,
    at ...
    I-download ang VASSAL Engine
  • 3
    OpenPDF - Fork ng iText
    OpenPDF - Fork ng iText
    Ang OpenPDF ay isang Java library para sa paglikha
    at pag-edit ng mga PDF file gamit ang LGPL at
    Lisensya ng open source ng MPL. Ang OpenPDF ay ang
    LGPL/MPL open source na kahalili ng iText,
    isang ...
    I-download ang OpenPDF - Fork ng iText
  • 4
    SAGA GIS
    SAGA GIS
    SAGA - System para sa Automated
    Geoscientific Analyzes - ay isang Geographic
    Information System (GIS) software na may
    napakalawak na kakayahan para sa geodata
    pagproseso at ana...
    I-download ang SAGA GIS
  • 5
    Toolbox para sa Java/JTOpen
    Toolbox para sa Java/JTOpen
    Ang IBM Toolbox para sa Java / JTOpen ay isang
    library ng mga klase ng Java na sumusuporta sa
    client/server at internet programming
    mga modelo sa isang system na tumatakbo sa OS/400,
    i5/OS, o...
    I-download ang Toolbox para sa Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (o D3 para sa Data-Driven Documents)
    ay isang JavaScript library na nagbibigay-daan sa iyo
    upang makabuo ng dynamic, interactive na data
    visualization sa mga web browser. Sa D3
    ikaw...
    I-download ang D3.js
  • Marami pa »

Linux command

Ad