זהו פקודות הפקודה שניתן להפעיל בספק האירוח החינמי של OnWorks באמצעות אחת מתחנות העבודה המקוונות המרובות שלנו, כגון Ubuntu Online, Fedora Online, אמולטור מקוון של Windows או אמולטור מקוון של MAC OS
תָכְנִית:
שֵׁם
crasm - Cross assembler עבור 6800/6801/6803/6502/65C02/Z80
תַקצִיר
קראזם [-אוֹ קובץ קוד] [-slx] asmfile
הרכיבו את תוכנית המיקרו-מעבד asmfile ולייצר קובץ פלט קובץ קוד ב-Intel HEX
או פורמט Motorola S Code. רשימת תוכניות וטבלת סמלים מופקים גם על
פלט סטנדרטי. הגרסה הנוכחית של קראזם יכול להרכיב תוכניות עבור 6800, 6801,
6803, 6502, 65C02, ו Z80 מעבדים. הרשימה המלאה מודפסת כאשר אתה מפעיל קראזם
בלי ויכוחים.
אפשרויות
-o קובץ קוד
ציין את שם קובץ הפלט. אין קובץ פלט מופק בלי זה
אוֹפְּצִיָה.
-s השבת אזהרות.
-l השבת את פלט רישום התוכנית.
-x השבת פלט טבלת סמלים.
תחביר
כל שורה בתוכנית ההרכבה צריכה לעקוב אחר אחת מהתבניות הבאות, כאשר ה-
סוגריים תוחמים חלקים אופציונליים.
[;הערה]
תווית = ביטוי [;הערה]
[תווית] שינון אופרנד [;הערה]
הערות מוצגות באמצעות נקודה-פסיק (;) ולהאריך עד סוף השורה. תוויות הן
מזהים המכילים עד 36 תווים אלפאנומריים (כולל נקודה וקו תחתון).
תוויות לא יכולות להתחיל בספרה. הפורמט של שדה האמנויות והאופרנדים תלוי
על המיקרו-מעבד הנבחר. מספר נקודות זיכרון תקפות עבור כל המעבדים והן
משמש לתת הנחיות לנאספים. אלה ידועים כ"פסאודו-אמנמוניות".
תוויות
תוויות הן מזהים המייצגים
- כתובת מוחלטת,
- כתובת יחסית (קוד בלתי תלוי במיקום),
- פנקס,
- רשימה של רישומים,
- סיביות ספציפית בכתובת ספציפית,
- או זכרון.
רוב התוויות מורכבות מ-36 תווים אלפאנומריים לכל היותר, נקודות (.) או
מדגיש (_). תוויות לא יכולות להתחיל בספרה. הם חסרי רגישות לאותיות גדולות.
תוויות שמתחילות בנקודה (.) הן תוויות מקומיות שהיקפן מוגבל ל-
מאקרו שבו הם מוגדרים, או לקטע הקוד המופרד על ידי הפסאודו-מנמוניות
CODE or דֶמֶה.
תווית "כוכב" שהוגדרה מראש (*) מייצג את מונה התוכנית הנוכחית, כלומר,
הכתובת שבה תקודד הוראת קוד ההרכבה הבאה. אחר מוגדר מראש
התוויות כוללות את כל ה-Pseudo-mnemonics, ה-Mnemonics והרישום הספציפיים למיקרו-מעבד
שמות.
קבועים
ההרכבה מזהה קבועים מספריים המבוטאים בעשרונים, הקסדצימליים, אוקטליים,
בינארי, או ascii.
┌───────────────────────────────────────────────── ─────────┐
│סוּג פוּרמָט דוגמאות │
├───────────────────────────────────────────────── ─────────┤
│עשרוני dddd 1234, 675, 12, 1, אבל לא 0.12. │
├───────────────────────────────────────────────── ─────────┤
│הקסדצימלי $dddd $fd12, $2 AC, $0. │
│ ddddH 03H, 2da7H, 0FC84H, אבל לא FC84H. │
│ 0Xdddd 0x03, 0x2AC, 0Xfc84. │
├───────────────────────────────────────────────── ─────────┤
│אוקטלי ddddQ 377Q, 012412Q. │
├───────────────────────────────────────────────── ─────────┤
│בינארי %dddd % 01110110, % 1100. │
│ ddddB 01110110B, 1100B. │
│ 0Bdddd 0b1100 │
├───────────────────────────────────────────────── ─────────┤
│ascii 'cccc' 'א', 'AB', '"', '\ n', '\''. │
│ "cccc" "\t", "\"", "א'ב". │
└───────────────────────────────────────────────── ─────────┘
ביטויים
כמו תוויות, ביטויים יכולים לייצג כתובת מוחלטת (שרירי הבטן), כתובת יחסית עבור
קוד עצמאי (rel), פנקס (רג), או רשימה של רישומים (רשימת רישום), או א
התייחסות לביט ספציפי בכתובת ספציפית (bspec).
האופרטורים הבאים מזוהים על ביטויים.
┌───────────────────────────────────────────────── ──────────┐
│תחביר תוֹצָאָה תיאור │
├───────────────────────────────────────────────── ──────────┤
│ שרירי הבטן{שרירי הבטן} bspec התייחסות לסיביות, למשל pia{3} │
│ ADDR(שרירי הבטן) שרירי הבטן כתובת מהפניית סיביות │
│ BIT(שרירי הבטן) שרירי הבטן מספר סיביות מהפניית סיביות │
├───────────────────────────────────────────────── ──────────┤
│ - שרירי הבטן שרירי הבטן המשלים של שניים │
│ ~ שרירי הבטן שרירי הבטן משלים של אחד │
├───────────────────────────────────────────────── ──────────┤
│ שרירי הבטן << שרירי הבטן שרירי הבטן משמרת שמאלה │
│ שרירי הבטן >> שרירי הבטן שרירי הבטן העברה ימינה │
├───────────────────────────────────────────────── ──────────┤
│ שרירי הבטן | שרירי הבטן שרירי הבטן סיביות או │
│ שרירי הבטן & שרירי הבטן שרירי הבטן סיביות ו│
│ שרירי הבטן ^ שרירי הבטן שרירי הבטן xor │ בשיטת סיביות
├───────────────────────────────────────────────── ──────────┤
│ שרירי הבטן * שרירי הבטן שרירי הבטן הכפל │
│ שרירי הבטן * שרירי הבטן שרירי הבטן חלוקה │
├───────────────────────────────────────────────── ──────────┤
│ שרירי הבטן + שרירי הבטן שרירי הבטן תוספת │
│ rel + שרירי הבטן rel תוספת │
│ שרירי הבטן - שרירי הבטן שרירי הבטן חיסור │
│ rel - שרירי הבטן rel חיסור │
│ rel - rel שרירי הבטן חיסור │
├───────────────────────────────────────────────── ──────────┤
│ רג - רג רשימת רישום טווח רישום │
│ רשימת רישום \ רג רשימת רישום רשימת רישום │
└───────────────────────────────────────────────── ──────────┘
הטבלה מפרטת את האופרטורים לפי סדר העדיפויות הפוחת. ניתן להשתמש בסוגריים
למנוע אי בהירות. אזהרה נוצרת כאשר ביטוי שלם מוקף ב
סוגריים וניתן לבלבל עם מצב כתובת מיקרו-מעבד.
דוגמאות:
(בסיס+$12) >> 8 & 0xff00
'A'-80H
(בסיס+0x12)
הדוגמה האחרונה גורמת לאזהרה מכיוון שהסוגריים לא היו נחוצים ועשויים
להציע מצב כתובת מיקרו-מעבד.
כל הביטויים האריתמטיים מוערכים על 32 סיביות. פעולות אריתמטיות עולות על גדותיה
חֶרֶשׁ. לאחר מכן הערכים האריתמטיים נקטעים לגודל המשתמע מהמיקרו-
זיכרון מעבד. חיתוך זה עלול לגרום להודעת אזהרה.
דוגמאות: כל ההוראות הבאות
(6502) לדה # $ 1234
(6800) ldaa $1234,x
(Z80) ld (ix+0C2H),ב
לגרום לאזהרה
>>> אזהרה: אופרנד הצפה
אולם ביטוי
$1123454 * 1298992
עולה על גדותיו בשקט.
פסאודו-מנמוניות
הפסבדו-מנמוניות הבאות מזוהות תמיד.
CPU cpuname
מציין את סוג המיקרו-מעבד שנבחר. זה חייב להופיע לפני anu micro-
הוראה ספציפית למעבד. הערכים האפשריים של cpuname רשומים כאשר אתה
לעורר קראזם ללא ויכוחים. הרשימה הנוכחית כוללת 6800, 6801, 6803, 6502,
65C02, ו Z80
תפוקה binformat
מציין את הפורמט של קובץ הפלט. טַעֲנָה binformat יכול לקחת ערכים SCODE
להפקת קובץ פלט באמצעות קוד S של מוטורולה, או HEX עבור Hex של אינטל
פוּרמָט. ברירת המחדל תלויה במיקרו-מעבד שנבחר.
CODE
תגדיר את היקף התוויות המקומיות והצג קטע תוכנית.
דֶמֶה להגדיר את היקף התוויות המקומיות ולהציג קטע תוכנית מזויף שהיחיד שלו
האפקט הוא הגדרת תוויות מבלי ליצור קוד.
תווית EQU ביטוי
תווית = ביטוי
הגדר את ערך התווית תווית. תוויות המוגדרות באמצעות הנחיות אלה יכולות להיות
מוגדר מחדש מאוחר יותר בתוכנית.
[תווית] DB ביטוי[,...,ביטוי]
הכנס את בתים הנתונים שצוינו (8 סיביות).
[תווית] DW ביטוי[,...,ביטוי]
הכנס את מילות הנתונים שצוינו (16 סיביות). סדר הבתים תלוי ב-
מיקרו-מעבד נבחר.
[תווית] DL ביטוי[,...,ביטוי]
הכנס את אורך הנתונים שצוין (32 סיביות). סדר הבתים תלוי ב-
מיקרו-מעבד נבחר.
[תווית] DDB ביטוי[,...,ביטוי]
הכנס את הבתים הכפולים שצוינו (16 סיביות). סדר הבתים הוא הפוך מ
סדר הבתים הרגיל עבור המיקרו-מעבד הנבחר.
[תווית] ASC קבוע במיתר
הכנס את ייצוג ה-ascii של המחרוזת קבוע במיתר . המחרוזת חייבת להיות
תחום במירכאות כפולות. רצפי הבריחה של C \r, \n, \t, \0, \', \", ו \\
מוכרים.
[תווית] DS countexpr,[valexpr]
הכנס countexpr בתים עם ערך valexpr. ערך ברירת המחדל הוא אפס.
[תווית] עלון אפילו
[תווית] עלון ODD
הכנס בתים null כדי להפוך את מונה התוכנית לזוגי או אי-זוגי.
IF condexpr
...
אחר
...
ENDC
הרכבה מותנית: אם ביטוי condexpr אינו אפס, עבד את הקווים הממוקמים
בין IF ו אחר פסאודו-אמנמוניות. אחרת עבד את הקווים הממוקמים
בין אחר ו ENDC פסאודו-אמנמוניות. הוראות הרכבה מותנות
ניתן לקנן. ה אחר ניתן לוותר על חלק.
תווית מקרו
...
ENDM
הגדר זכרון חדש תווית שווה ערך לכל ההוראות הממוקמות בין
מקרו ו ENDM פסאודו-אמנמוניות. הפעלות של המאקרו יכולות לציין רשימה של
אופרנדים מופרדים בפסיק. רצפי הדמויות \1, \2, ... \N במאקרו
ההגדרה מוחלפת באופרנדים שסופקו. רצף התווים \0 is
מוחלף במספר האופרנדים שסופקו.
יציאה
ניתן להשתמש במנמונית פסאודו זו בתוך הגדרת מאקרו כדי לצאת מהמאקרו. זֶה
שימושי בשילוב עם פסאודו-אמנמוניות ההרכבה המותנית.
לִכלוֹל שם הקובץ
הכריח את האסמבלר לעבד קובץ בשם שם הקובץ בנקודה הנוכחית.
רשימה ON
רשימה כבוי
הפעל או השבת את הפקת רישום (ברירת המחדל פועלת.)
CLIST ON
CLIST כבוי
אפשר או השבת את הפקת רישום עבור הסניפים הלא פעילים של א
מבנה הרכבה מותנה (ברירת המחדל פועלת.)
ILIST ON
ILIST כבוי
הפעל או השבת את הפקת רישום עבור קבצים כלולים (ברירת המחדל כבויה).
MLIST ON
MLIST כבוי
הפעל או השבת את הפקת רישום עבור הרחבות המאקרו (ברירת המחדל היא
כבוי.)
NAM כותרת
תן שם כותרת עבור הכותרת של דפי הרישום.
עמוד
התחל דף רישום חדש.
עמוד עמודות,שורות
ציין את הגודל של דף רישום.
לדלג מספר
לדלג מספר קווים.
FAIL הודעה
צור הודעת שגיאה הודעה.
דוגמא
הנה תוכנית 6502 קטנה:
מעבד 6502
cout = $fded ; תצוגה a אופי
* = $300 ; להרכיב at $300
קוד
pstring לדי #0
.1 לדה הודעה, י
מ"ר .2
jsr cout
איני
.2 נו .1
RTS
הודעה עולה "זֶה is מה היא הודעה "
קוד
קרדיטים
ליאון בוטאו, ספטמבר 1987.
השתמש ב-crasm באינטרנט באמצעות שירותי onworks.net