এই কমান্ড ক্র্যাসম যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।
কার্যক্রম:
NAME এর
ক্র্যাসম - 6800/6801/6803/6502/65C02/Z80 এর জন্য ক্রস অ্যাসেম্বলার
সাইনোপিসিস
ক্র্যাস [-ও কোডফাইল] [-slx] asmfile
মাইক্রোপ্রসেসর প্রোগ্রাম একত্রিত করুন asmfile এবং আউটপুট ফাইল তৈরি করুন কোডফাইল ইন্টেল হেক্সে
অথবা Motorola S কোড ফরম্যাট। একটি প্রোগ্রাম তালিকা এবং একটি প্রতীক টেবিল এছাড়াও উত্পাদিত হয়
স্ট্যান্ডার্ড আউটপুট। এর বর্তমান সংস্করণ ক্র্যাস জন্য প্রোগ্রাম একত্রিত করতে পারেন 6800, 6801,
6803, 6502, 65C02, এবং Z80 প্রসেসর আপনি যখন আহ্বান করেন তখন সম্পূর্ণ তালিকা মুদ্রিত হয় ক্র্যাস
যুক্তি ছাড়া।
বিকল্প
-o কোডফাইল
আউটপুট ফাইলের নাম উল্লেখ করুন। এটি ছাড়া কোনো আউটপুট ফাইল তৈরি হয় না
বিকল্প।
-s সতর্কতা অক্ষম করুন।
-l প্রোগ্রাম তালিকা আউটপুট নিষ্ক্রিয়.
-x প্রতীক টেবিল আউটপুট অক্ষম করুন.
বাক্য গঠন
সমাবেশ প্রোগ্রামের প্রতিটি লাইন নিম্নলিখিত টেমপ্লেটগুলির একটি অনুসরণ করা উচিত, যেখানে
বন্ধনী ঐচ্ছিক অংশ সীমাবদ্ধ.
[;মন্তব্য]
লেবেল = অভিব্যক্তি [;মন্তব্য]
[লেবেল] স্মৃতিচারণ অপারেন্ড [;মন্তব্য]
মন্তব্যগুলি একটি সেমিকোলন দ্বারা প্রবর্তিত হয় (;) এবং লাইনের শেষ পর্যন্ত প্রসারিত করুন। লেবেল হয়
36টি আলফানিউমেরিক অক্ষর সমন্বিত শনাক্তকারী (পিরিয়ড এবং আন্ডারস্কোর সহ)।
লেবেল একটি সংখ্যা দিয়ে শুরু হতে পারে না. স্মৃতিবিদ্যা এবং অপারেন্ড ক্ষেত্রের বিন্যাস নির্ভর করে
নির্বাচিত মাইক্রো-প্রসেসরে। কিছু স্মৃতিবিদ্যা সব প্রসেসরের জন্য বৈধ এবং আছে
সমবেতদের নির্দেশ দিতে ব্যবহৃত। এগুলি "ছদ্ম-স্মৃতিবিদ্যা" নামে পরিচিত।
লেবেলগুলি
লেবেল প্রতিনিধিত্বকারী সনাক্তকারী হয়
- একটি পরম ঠিকানা,
- একটি আপেক্ষিক ঠিকানা (অবস্থান স্বাধীন কোড),
- একটি রেজিস্টার,
- রেজিস্টারের একটি তালিকা,
- একটি নির্দিষ্ট ঠিকানায় একটি নির্দিষ্ট বিট,
— অথবা একটি স্মৃতিবিজড়িত।
বেশিরভাগ লেবেল সর্বাধিক 36টি আলফানিউমেরিক অক্ষর, পিরিয়ড (.) বা
আন্ডারস্কোর (_) লেবেল একটি সংখ্যা দিয়ে শুরু হতে পারে না. তারা কেস সংবেদনশীল।
একটি পিরিয়ড দিয়ে শুরু হওয়া লেবেল (.) হল স্থানীয় লেবেল যার সুযোগ হয় এর মধ্যে সীমাবদ্ধ
ম্যাক্রো যেখানে তারা সংজ্ঞায়িত করা হয়েছে, বা ছদ্ম-স্মৃতিবিদ্যা দ্বারা সীমাবদ্ধ কোড সেগমেন্টে
কোড or ডামি.
পূর্বনির্ধারিত "তারকা" লেবেল (*) বর্তমান প্রোগ্রাম কাউন্টার প্রতিনিধিত্ব করে, অর্থাৎ,
ঠিকানা যেখানে পরবর্তী সমাবেশ কোড নির্দেশ এনকোড করা হবে। অন্যান্য পূর্বনির্ধারিত
লেবেলে সমস্ত ছদ্ম-স্মৃতিবিদ্যা, মাইক্রো-প্রসেসর নির্দিষ্ট স্মৃতিবিদ্যা এবং রেজিস্টার অন্তর্ভুক্ত
নাম থাকবে না।
ধ্রুবক
একত্রিতটি দশমিক, হেক্সাডেসিমেল, অক্টাল,
বাইনারি, বা ascii।
┌───────────────────────────────────────────────── ─────────┐
│আদর্শ বিন্যাস উদাহরণ │
├───────────────────────────────────────────────── ─────────┤
│ দশমিক dddd 1234, 675, 12, 1, কিন্তু না 0.12. │
├───────────────────────────────────────────────── ─────────┤
│হেক্সাডেসিমেল $dddd $fd12, $2AC, $0. │
│ ddddH 03H, 2da7H, 0FC84H, কিন্তু না FC84H. │
│ 0Xdddd 0x03, 0x2AC, 0Xfc84. │
├───────────────────────────────────────────────── ─────────┤
│অক্টাল ddddQ 377Q, 012412Q. │
├───────────────────────────────────────────────── ─────────┤
│বাইনারী %dddd 01110110%, 1100%. │
│ ddddB 01110110B, 1100B. │
│ 0Bdddd 0b1100 │
├───────────────────────────────────────────────── ─────────┤
│ascii 'cccc' 'ক', 'এবি', '"', '\n', '\'. │
│ "cccc" "\t", "\"", "a'b". │
└───────────────────────────────────────────────── ─────────┘
এক্সপ্রেশন
লেবেলের মতো, অভিব্যক্তি একটি পরম ঠিকানা উপস্থাপন করতে পারে (ABS), এর জন্য একটি আপেক্ষিক ঠিকানা
অবস্থান স্বাধীন কোড (রিল), একটি রেজিস্টার (REG), অথবা রেজিস্টারের একটি তালিকা (নিবন্ধন), বা ক
একটি নির্দিষ্ট ঠিকানায় একটি নির্দিষ্ট বিটের উল্লেখ (bspec).
নিম্নলিখিত অপারেটর অভিব্যক্তি স্বীকৃত হয়.
┌───────────────────────────────────────────────── ──────────┐
│বাক্য গঠন ফল বিবরণ │
├───────────────────────────────────────────────── ──────────┤
│ ABS{ABS} bspec বিট রেফারেন্স, যেমন পিয়া{3} │
│ ADDR(ABS) ABS একটি বিট রেফারেন্স থেকে ঠিকানা │
│ বিট(ABS) ABS বিট রেফারেন্স থেকে বিট নম্বর │
├───────────────────────────────────────────────── ──────────┤
│ - ABS ABS দুজনের পরিপূরক │
│ ~ ABS ABS একজনের পরিপূরক │
├───────────────────────────────────────────────── ──────────┤
│ ABS << ABS ABS বাম স্থানান্তর │
│ ABS >> ABS ABS ডান স্থানান্তর │
├───────────────────────────────────────────────── ──────────┤
│ ABS | ABS ABS bitwise বা │
│ ABS & ABS ABS bitwise এবং │
│ ABS ^ ABS ABS bitwise xor │
├───────────────────────────────────────────────── ──────────┤
│ ABS * ABS ABS গুণ │
│ ABS * ABS ABS বিভাগ │
├───────────────────────────────────────────────── ──────────┤
│ ABS + ABS ABS সংযোজন │
│ রিল + ABS রিল সংযোজন │
│ ABS - ABS ABS বিয়োগ │
│ রিল - ABS রিল বিয়োগ │
│ রিল - রিল ABS বিয়োগ │
├───────────────────────────────────────────────── ──────────┤
│ REG - REG নিবন্ধন রেজিস্টার পরিসীমা │
│ নিবন্ধন \ REG নিবন্ধন নিবন্ধন তালিকা │
└───────────────────────────────────────────────── ──────────┘
সারণী অপারেটরদের অগ্রাধিকার হ্রাস করার ক্রমে তালিকাভুক্ত করে। বন্ধনী ব্যবহার করা যেতে পারে
অস্পষ্টতা এড়িয়ে চলুন। একটি সতর্কতা তৈরি করা হয় যখন একটি সম্পূর্ণ অভিব্যক্তি ঘিরে থাকে
বন্ধনী এবং একটি মাইক্রো-প্রসেসর অ্যাড্রেসিং মোডের সাথে বিভ্রান্ত হতে পারে।
উদাহরণ:
(বেস+$12) >> 8 & 0xff00
'A'-80H
(বেস+0x12)
শেষ উদাহরণটি একটি সতর্কতা সৃষ্টি করে কারণ বন্ধনীটি প্রয়োজনীয় ছিল না এবং হতে পারে
একটি মাইক্রো-প্রসেসর অ্যাড্রেসিং মোড প্রস্তাব করুন।
সমস্ত গাণিতিক অভিব্যক্তি 32 বিটে মূল্যায়ন করা হয়। গাণিতিক অপারেশন ওভারফ্লো
নীরবে পাটিগণিতের মানগুলি তারপর মাইক্রো- দ্বারা উহ্য আকারে ছোট করা হয়
প্রসেসর মেমোনিক। এই ছাঁটাই একটি সতর্ক বার্তার কারণ হতে পারে৷
উদাহরণ: নিম্নলিখিত সমস্ত নির্দেশাবলী
(6502) LDA #$1234
(6800) ldaa $1234, x
(Z80) ld (ix+0C2H), খ
একটি সতর্কতা কারণ
>>> সতর্কতা: অপারেন্ড টলমলানি
তবে অভিব্যক্তি
$1123454 * 1298992
নীরবে উপচে পড়ে।
Pseudo-mnemonics
নিম্নলিখিত ছদ্ম-স্মৃতিবিদ্যা সবসময় স্বীকৃত হয়.
সিপিইউ cpuname
নির্বাচিত মাইক্রো-প্রসেসরের ধরন নির্দেশ করে। এটি অনু মাইক্রো-এর আগে উপস্থিত হওয়া আবশ্যক
প্রসেসর নির্দিষ্ট নির্দেশ। এর সম্ভাব্য মান cpuname তালিকাভুক্ত করা হয় যখন আপনি
ডাকা ক্র্যাস যুক্তি ছাড়া। বর্তমান তালিকা অন্তর্ভুক্ত 6800, 6801, 6803, 6502,
65C02, এবং Z80
আউটপুট বিনফরম্যাট
আউটপুট ফাইলের বিন্যাস নির্দেশ করে। যুক্তি বিনফরম্যাট মান নিতে পারে স্কোড
Motorola এর S কোড ব্যবহার করে একটি আউটপুট ফাইল তৈরি করার জন্য, বা HEX ইন্টেলের হেক্সের জন্য
বিন্যাস ডিফল্ট নির্বাচিত মাইক্রো-প্রসেসরের উপর নির্ভর করে।
কোড
স্থানীয় লেবেলের সুযোগ সীমাবদ্ধ করুন এবং একটি প্রোগ্রাম বিভাগ চালু করুন।
ডামি স্থানীয় লেবেলের সুযোগ সীমাবদ্ধ করুন এবং একটি জাল প্রোগ্রাম বিভাগ চালু করুন যার একমাত্র
প্রভাব কোড তৈরি না করে লেবেল সংজ্ঞায়িত করা হয়.
লেবেল EQU অভিব্যক্তি
লেবেল = অভিব্যক্তি
লেবেলের মান নির্ধারণ করুন লেবেল. এই নির্দেশাবলী ব্যবহার করে সংজ্ঞায়িত লেবেল হতে পারে
প্রোগ্রামে পরে পুনরায় সংজ্ঞায়িত করা হয়েছে।
[লেবেল] DB অভিব্যক্তি[,...,অভিব্যক্তি]
নির্দিষ্ট ডেটা বাইট (8 বিট) সন্নিবেশ করান।
[লেবেল] DW অভিব্যক্তি[,...,অভিব্যক্তি]
নির্দিষ্ট ডেটা শব্দ (16 বিট) সন্নিবেশ করান। বাইট অর্ডার নির্ভর করে
নির্বাচিত মাইক্রো-প্রসেসর।
[লেবেল] DL অভিব্যক্তি[,...,অভিব্যক্তি]
নির্দিষ্ট ডেটা লং (32 বিট) সন্নিবেশ করান। বাইট অর্ডার নির্ভর করে
নির্বাচিত মাইক্রো-প্রসেসর।
[লেবেল] DDB অভিব্যক্তি[,...,অভিব্যক্তি]
নির্দিষ্ট ডবল বাইট (16 বিট) সন্নিবেশ করান। বাইট অর্ডার এর বিপরীত
নির্বাচিত মাইক্রো-প্রসেসরের জন্য স্বাভাবিক বাইট ক্রম।
[লেবেল] উচ্চক্রমে স্ট্রিং ধ্রুবক
স্ট্রিং এর ascii উপস্থাপনা সন্নিবেশ করান স্ট্রিং ধ্রুবক . স্ট্রিং হতে হবে
ডবল উদ্ধৃতি দ্বারা সীমাবদ্ধ। সি এস্কেপ সিকোয়েন্স \r, \n, \t, \0, \', \", এবং \\
স্বীকৃত হয়
[লেবেল] DS countexpr,[valexpr]
অন্তঃস্থ countexpr মান সহ বাইট valexpr. ডিফল্ট মান শূন্য হয়।
[লেবেল] আলাইন এমনকি
[লেবেল] আলাইন ODD
প্রোগ্রাম কাউন্টার জোড় বা বিজোড় করার জন্য একটি নাল বাইট সন্নিবেশ করান.
IF condexpr
...
ছাড়া আর অন্য
...
ENDC
শর্তাধীন সমাবেশ: যদি অভিব্যক্তি condexpr অ শূন্য, অবস্থিত লাইন প্রক্রিয়া
মধ্যে IF এবং ছাড়া আর অন্য ছদ্ম-স্মৃতিবিদ্যা। অন্যথায় অবস্থিত লাইন প্রক্রিয়া
মধ্যে ছাড়া আর অন্য এবং ENDC ছদ্ম-স্মৃতিবিদ্যা। শর্তসাপেক্ষ সমাবেশ নির্দেশাবলী
নেস্ট করা যেতে পারে। দ্য ছাড়া আর অন্য অংশ বাদ দেওয়া যেতে পারে।
লেবেল ম্যাক্রো
...
ENDM
একটি নতুন মেমোনিক সংজ্ঞায়িত করুন লেবেল এর মধ্যে অবস্থিত সমস্ত নির্দেশাবলীর সমতুল্য
ম্যাক্রো এবং ENDM ছদ্ম-স্মৃতিবিদ্যা। ম্যাক্রোর আমন্ত্রণ একটি তালিকা নির্দিষ্ট করতে পারে
কমা দ্বারা বিভক্ত অপারেন্ড। চরিত্রের ক্রম \1, \2, ... \N ম্যাক্রোতে
সংজ্ঞা সরবরাহকৃত অপারেন্ড দ্বারা প্রতিস্থাপিত হয়। চরিত্রের ক্রম \0 is
সরবরাহকৃত অপারেন্ডের সংখ্যা দ্বারা প্রতিস্থাপিত হয়।
EXITM
এই ছদ্ম মেমোনিক ম্যাক্রো থেকে প্রস্থান করার জন্য একটি ম্যাক্রো সংজ্ঞার ভিতরে ব্যবহার করা যেতে পারে। এই
কন্ডিশনাল অ্যাসেম্বলি সিউডো-মেমোনিক্সের সাথে একত্রে উপযোগী।
অন্তর্ভুক্ত ফাইলের নাম
অ্যাসেম্বলারকে নামযুক্ত ফাইল প্রক্রিয়া করতে বাধ্য করুন ফাইলের নাম বর্তমান বিন্দুতে।
তালিকা ON
তালিকা বন্ধ
একটি তালিকার উৎপাদন সক্ষম বা অক্ষম করুন (ডিফল্ট চালু আছে।)
CLIST ON
CLIST বন্ধ
একটি এর অ সক্রিয় শাখাগুলির জন্য একটি তালিকার উত্পাদন সক্ষম বা নিষ্ক্রিয় করুন৷
শর্তসাপেক্ষ সমাবেশ নির্মাণ (ডিফল্ট চালু আছে)
আমি তালিকা ON
আমি তালিকা বন্ধ
অন্তর্ভুক্ত ফাইলগুলির জন্য একটি তালিকার উত্পাদন সক্ষম বা অক্ষম করুন (ডিফল্ট বন্ধ।)
MLIST ON
MLIST বন্ধ
ম্যাক্রো সম্প্রসারণের জন্য একটি তালিকার উৎপাদন সক্ষম বা অক্ষম করুন (ডিফল্ট হল
বন্ধ।)
ন্যাম খেতাব
নাম দিন খেতাব তালিকা পৃষ্ঠার শিরোনাম জন্য.
পৃষ্ঠা
একটি নতুন তালিকা পাতা শুরু করুন.
পৃষ্ঠা কলাম,সারি
একটি তালিকা পৃষ্ঠার আকার নির্দিষ্ট করুন.
এড়িয় সংখ্যা
লাফালাফি করা সংখ্যা লাইন।
ব্যর্থ বার্তা
একটি ত্রুটি বার্তা তৈরি করুন বার্তা.
EXAMPLE টি
এখানে একটি ছোট 6502 প্রোগ্রাম রয়েছে:
সিপিইউ 6502
cout = $fded ; প্রদর্শন a চরিত্র
* = $300 ; জড় করা at $300
কোড
pstring ldy #0
.1 LDA বার্তা, y
Q হতে .2
জেএসআর cout
ইনগুলি
.2 bne .1
RTS
বার্তা উচ্চক্রমে "এই is দ্য বার্তা "
কোড
ক্রেডিটস
লিওন বোট্টো, সেপ্টেম্বর 1987।
onworks.net পরিষেবা ব্যবহার করে অনলাইনে ক্র্যাসম ব্যবহার করুন