GoGPT Best VPN GoSearch

অনওয়ার্কস ফেভিকন

xa - ক্লাউডে অনলাইন

উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটরের মাধ্যমে OnWorks বিনামূল্যে হোস্টিং প্রদানকারীতে xa চালান

এটি হল xa কমান্ড যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।

কার্যক্রম:

NAME এর


xa - 6502/R65C02/65816 ক্রস অ্যাসেম্বলার

সাইনোপিসিস


xa [অনুযায়ী OPTION] ... ফাইল

বর্ণনাঃ


xa 8 সিরিজের 6502-বিট প্রসেসরের জন্য একটি মাল্টি-পাস ক্রস-অ্যাসেম্বলার (যেমন
6502, 65C02, 6504, 6507, 6510, 7501, 8500, 8501 এবং 8502), রকওয়েল R65C02, এবং
16-বিট 65816 প্রসেসর। সিনট্যাক্সের বর্ণনার জন্য, দেখুন সংযোজনকারী বাক্য গঠন আরও মধ্যে
এই ম্যানুয়াল পৃষ্ঠা।

বিকল্প


-v ভার্বোজ আউটপুট।

-x পুরানো ফাইলের নাম আচরণ ব্যবহার করুন (ওভাররাইড -o, -e এবং -l) এই বিকল্প এখন
অবমূল্যায়ন

-C কোন CMOS অপকোড নেই (ডিফল্ট হল R65C02 opcodes এর অনুমতি দেওয়া)

-W কোন 65816 opcodes (ডিফল্ট)।

-w 65816 অপকোডের অনুমতি দিন।

-B ব্লক খোলা/বন্ধ সহ লাইন দেখান (দেখুন PSEUDO-OPS).

-c এক্সিকিউটেবল ফাইলের পরিবর্তে o65 অবজেক্ট ফাইল তৈরি করুন (কোন লিঙ্কিং করা হয়নি); নথি পত্র
অনির্ধারিত রেফারেন্স থাকতে পারে।

-o ফাইলের নাম
আউটপুট ফাইলের নাম সেট করুন। ডিফল্ট হয় a.o65; বিশেষ ফাইলের নাম ব্যবহার করুন - আউটপুট করতে
স্ট্যান্ডার্ড আউটপুট।

-e ফাইলের নাম
errorlog ফাইলের নাম সেট করুন, ডিফল্ট কোনটি নয়।

-l ফাইলের নাম
লেবেলিস্ট ফাইলের নাম সেট করুন, ডিফল্ট কোনোটি নয়। এটি প্রতীক টেবিল এবং ব্যবহার করা যেতে পারে
যেমন disassemblers দ্বারা ডিএক্সএ(1) উত্স পুনর্গঠন.

-r লেবেলিস্টে ক্রস-রেফারেন্স তালিকা যোগ করুন (প্রয়োজন -l).

-M কোলনগুলিকে মন্তব্যে উপস্থিত হওয়ার অনুমতি দিন; MASM সামঞ্জস্যের জন্য। এটি প্রভাবিত করে না
কোলন ব্যাখ্যা অন্যত্র।

-R রিলোকেটিং মোডে অ্যাসেম্বলার শুরু করুন।

-লেবেল
সংজ্ঞায়িত লেবেল লিঙ্ক করার সময়ও একটি পরম (কিন্তু অনির্ধারিত) লেবেল হিসাবে।

-খ? addr
সেগমেন্টের জন্য সেগমেন্ট বেস সেট করুন ? সম্বোধন করা addr. ? এর জন্য t, d, b বা z হওয়া উচিত
পাঠ্য, ডেটা, বিএসএস বা শূন্য সেগমেন্ট, যথাক্রমে।

-A addr
টেক্সট সেগমেন্ট একটি ঠিকানায় শুরু করুন যাতে ফাইলটি যখন ঠিকানায় শুরু হয়
addr, স্থানান্তর প্রয়োজন হয় না. ওভাররাইড করে -বিটি; অন্যান্য বিভাগ এখনও হতে হবে
সঙ্গে যত্ন নেওয়া হয়েছে -b.

-G রপ্তানিকৃত বিশ্বগুলির তালিকা দমন করুন।

-DDEF=TEXT
কমান্ড লাইনে একটি প্রিপ্রসেসর ম্যাক্রো সংজ্ঞায়িত করুন (দেখুন প্রিপ্রসেসর).

-I Dir ডিরেক্টরি যোগ করুন Dir অন্তর্ভুক্ত পথের জন্য (আগে XAINPUT; দেখ পরিবেশ).

-O চারসেট
অক্ষর স্ট্রিং জন্য আউটপুট অক্ষর সেট সংজ্ঞায়িত করুন. বর্তমানে ASCII সমর্থিত
(ডিফল্ট), PETSCII (কমোডোর ASCII), PETSCREEN (কমোডোর স্ক্রিন কোড) এবং উচ্চ
(সমস্ত অক্ষরে উচ্চ বিট সেট করুন)।

-পি? বিকল্প প্রিপ্রসেসর অক্ষর সেট করুন ?. আপনি যখন চান তখন এটি দরকারী
ব্যবহার CPP(1) এবং একই সময়ে অন্তর্নির্মিত প্রিপ্রসেসর (দেখুন প্রিপ্রসেসর).
আপনার শেলের জন্য অক্ষর উদ্ধৃত করা প্রয়োজন হতে পারে (উদাহরণ: -p'~' ).

--help বিকল্পগুলির সারাংশ দেখান।

--সংস্করণ
প্রোগ্রামের সংস্করণ দেখান।

সংযোজনকারী বাক্য গঠন


6502 অ্যাসেম্বলি ল্যাঙ্গুয়েজ প্রোগ্রামিং এবং স্মৃতিবিদ্যার একটি ভূমিকা এর সুযোগের বাইরে
এই ম্যানুয়াল পৃষ্ঠা। আমরা আপনাকে আমন্ত্রণ জানাচ্ছি যে কোনো সংখ্যক চমৎকার বই নিয়ে তদন্ত করার জন্য
বিষয় একটি দরকারী শিরোনাম হল রিচার্ড ম্যানসফিল্ডের "মেশিন ল্যাঙ্গুয়েজ ফর বিগিনার্স"
(কম্পিউট!), আটারি, কমোডোর এবং অ্যাপল 8-বিট সিস্টেমকে কভার করে এবং এটি ব্যাপকভাবে উপলব্ধ
ব্যবহৃত বাজারে।

xa স্ট্যান্ডার্ড NMOS 6502 opcodes পাশাপাশি ব্যবহৃত Rockwell CMOS opcodes উভয়কেই সমর্থন করে
65C02 (R65C02) এ। সঙ্গে -w বিকল্প, xa এছাড়াও 65816 এর জন্য অপকোড গ্রহণ করবে। NMOS
6502 নথিভুক্ত অপকোড ইচ্ছাকৃতভাবে সমর্থিত নয়, এবং ম্যানুয়ালি প্রবেশ করা উচিত
ব্যবহার করে .বাইট ছদ্ম-অপ (দেখুন PSEUDO-OPS) R65C02 এবং 65816 এর মধ্যে দ্বন্দ্বের কারণে
NMOS 6502-এ নির্দেশনা সেট এবং অনথিভুক্ত নির্দেশাবলী, তাদের ব্যবহার নিরুৎসাহিত করা হয়।

সাধারণভাবে, xa কম-বেশি স্ট্যান্ডার্ড 6502 অ্যাসেম্বলার ফরম্যাট গ্রহণ করে যেমন জনপ্রিয় করা হয়েছে
এমএএসএম এবং টার্বো অ্যাসেম্বলার। মান এবং ঠিকানাগুলি আক্ষরিক হিসাবে বা হিসাবে প্রকাশ করা যেতে পারে
অভিব্যক্তি; বুদ্ধি করা,

123 দশমিক মান

$234 হেক্সাডেসিমেল মান

& 123 অকট্যাল

010110% বাইনারি

* প্রোগ্রাম কাউন্টারের বর্তমান মান

যেকোন উদ্ধৃত অক্ষরের ASCII মান সরাসরি প্রোগ্রাম টেক্সটে ঢোকানো হয়
(উদাহরণ: "প্রতি" আউটপুট স্ট্রীমে বাইট "A" সন্নিবেশ করায়); এছাড়াও দেখুন PSEUDO-OPS
অধ্যায়. এটি বর্তমানে নির্বাচিত অক্ষর সেট দ্বারা প্রভাবিত হয়, যদি থাকে।

লেবেলগুলি অন্যান্য মাল্টি-পাস অ্যাসেম্বলারের মতোই প্রোগ্রামের পাঠ্যের মধ্যে অবস্থানগুলি সংজ্ঞায়িত করুন। ক
লেবেল এমন কিছু দ্বারা সংজ্ঞায়িত করা হয় যা একটি অপকোড নয়; উদাহরণস্বরূপ, একটি লাইন যেমন

লেবেল1 LDA #0

সংজ্ঞায়িত লেবেল1 প্রোগ্রাম কাউন্টারের বর্তমান অবস্থান হতে হবে (এইভাবে এর ঠিকানা
Lda বিভাগ opcode)। একটি লেবেলকে একটি অভিব্যক্তির মান নির্ধারণ করে স্পষ্টভাবে সংজ্ঞায়িত করা যেতে পারে,
যেমন

লেবেল2 = $d000

যা সংজ্ঞায়িত করে লেবেল2 ঠিকানা হতে হবে $d000, যথা, VIC-II রেজিস্টারের শুরু
কমোডোর 64 কম্পিউটারে ব্লক করুন। প্রোগ্রাম কাউন্টার * একটি বিশেষ ধরনের বলে মনে করা হয়
লেবেল, এবং যেমন বিবৃতি দিয়ে বরাদ্দ করা যেতে পারে

* = $c000

যা প্রোগ্রাম কাউন্টারকে দশমিক অবস্থান 49152 এ সেট করে। ব্যতিক্রম ছাড়া
প্রোগ্রাম কাউন্টার, লেবেল একাধিকবার বরাদ্দ করা যাবে না. স্পষ্টভাবে ঘোষণা করা
একটি লেবেলের পুনঃসংজ্ঞা, এটির আগে একটি - (ড্যাশ) রাখুন, যেমন,

-লেবেল2 = $d020

যা সেট করে লেবেল2 কমোডোর 64 বর্ডার কালার রেজিস্টারে। একটি লেবেলের সুযোগ হল
এটি যে ব্লকের মধ্যে থাকে তার দ্বারা প্রভাবিত (দেখুন PSEUDO-OPS ব্লক নির্দেশাবলীর জন্য)। একটি লেবেল
সঙ্গে হার্ড-নির্দিষ্ট হতে পারে -L কমান্ড লাইন অপশন।

সেই নির্দেশাবলীর জন্য যেখানে সঞ্চয়ক হল অন্তর্নিহিত যুক্তি (যেমন ASL এবং lsr;
Inc এবং ডিসেম্বর R65C02 এ; ইত্যাদি), এর সাথে সঞ্চয়কারীকে স্পষ্টভাবে উল্লেখ করার বাগধারা a is
অপ্রয়োজনীয় কারণ সঠিক ফর্ম নির্বাচন করা হবে যদি কোন সুস্পষ্ট যুক্তি না থাকে। আসলে,
লেবেল হস্তান্তরের সাথে সামঞ্জস্যের জন্য, যদি নামে একটি লেবেল থাকে a, এই আসলে হবে
একটি মেমরি অবস্থান হিসাবে লেবেল উল্লেখ করে কোড তৈরি করুন এবং সঞ্চয়কারী নয়।
অন্যথায়, সমাবেশকারী অভিযোগ করবে।

লেবেল এবং অপকোড লাগতে পারে এক্সপ্রেশন গণনা করা মানগুলিকে অনুমতি দেওয়ার জন্য তাদের যুক্তি হিসাবে, এবং
নিজেরাই অন্য লেবেল এবং/অথবা প্রোগ্রাম কাউন্টার উল্লেখ করতে পারে। একটি অভিব্যক্তি যেমন
ল্যাব1+1 (যা লেবেলের বর্তমান মানের উপর কাজ করে Lab1 এবং একে একে বৃদ্ধি করে) হতে পারে
সর্বোচ্চ থেকে সর্বনিম্ন অগ্রাধিকার দেওয়া নিম্নলিখিত অপারেন্ডগুলি ব্যবহার করুন:

* গুণ (অগ্রাধিকার 10)

/ পূর্ণসংখ্যা বিভাগ (অগ্রাধিকার 10)

+ সংযোজন (অগ্রাধিকার 9)

- বিয়োগ (9)

<< বামে সরান (8)

>> ডানদিকে সরান (8)

>= => (7) এর চেয়ে বড় বা সমান

< (7) এর চেয়ে বেশি

<= =< কম বা সমান (7)

< কম (7)

= সমান (6)

<> >< সমান নয় (6)

& বিটওয়াইজ এবং (5)

^ bitwise XOR (4)

| বিটওয়াইজ বা (3)

&& যৌক্তিক এবং (2)

|| যৌক্তিক বা (1)

বন্ধনী বৈধ। একটি লেবেল পুনরায় সংজ্ঞায়িত করার সময়, পাটিগণিত বা বিটওয়াইজ অপারেটরগুলিকে একত্রিত করে
= (সমান) অপারেটরের সাথে যেমন += ইত্যাদি বৈধ, যেমন,

- রিডিফ্লেবেল += (লেবেল12/4)

সাধারণত, xa অপারেন্ডের মান নির্ণয় করার চেষ্টা করে এবং (যখন একটি উল্লেখ করে
মেমরি অবস্থান) যেখানে উপযুক্ত সেখানে শূন্য পৃষ্ঠা, 16-বিট বা (65816-এর জন্য) 24-বিট ঠিকানা ব্যবহার করুন
এবং যেখানে নির্দিষ্ট অপকোড দ্বারা সমর্থিত। এটি ছোট এবং দ্রুত কোড তৈরি করে, এবং
প্রায় সবসময় পছন্দনীয়।

তবুও, আপনি এই উপসর্গ অপারেটর ব্যবহার করতে পারেন একটি নির্দিষ্ট রেন্ডারিং বাধ্য করতে
অপারেন্ড যেগুলি একটি আট বিট ফলাফল তৈরি করে তারা 8-বিট ঠিকানাতেও ব্যবহার করা যেতে পারে
মোড, যেমন তাৎক্ষণিক এবং শূন্য পৃষ্ঠা।

< অভিব্যক্তির কম বাইট, যেমন, LDA #

> এক্সপ্রেশনের উচ্চ বাইট

! এমন পরিস্থিতিতে যেখানে অভিব্যক্তিটিকে পরম হিসাবে বোঝা যেতে পারে বা
শূন্য পৃষ্ঠার মান, তাদের জন্য একটি শূন্য পৃষ্ঠার যুক্তিতে অপ্টিমাইজ করার চেষ্টা করবেন না
অপকোড যা এটি সমর্থন করে (অর্থাৎ, 16 বিট শব্দ হিসাবে রাখুন)

@ 24 এর জন্য 65816-বিট পরিমাণ হিসাবে রেন্ডার করুন (নির্দিষ্ট করতে হবে -w কমান্ড-লাইন বিকল্প)। এই is
প্রয়োজনীয় থেকে উল্লেখ কোন 24-বিট পরিমাণ

` আরও অপ্টিমাইজেশান বল করুন, এমনকি যদি নির্দেশের দৈর্ঘ্য নাও হতে পারে
নির্ভরযোগ্যভাবে নির্ধারিত (দেখুন নোটস'ন'বাগস)

অভিব্যক্তিগুলি অপকোডের আর্গুমেন্ট হিসাবে বা প্রিপ্রসেসরের মধ্যে ঘটতে পারে (দেখুন প্রিপ্রসেসর
সিনট্যাক্সের জন্য)। উদাহরণ স্বরূপ,

LDA লেবেল2+1

এ মান নেয় লেবেল2+1 (আমাদের আগের লেবেলের মান ব্যবহার করে, এটি হবে $d021), এবং
হিসাবে একত্রিত করা হবে $ad $21 $d0 ডিস্কে। একইভাবে,

LDA #

সর্বনিম্ন 8 বিট নিতে হবে লেবেল2 (অর্থাৎ, $20), এবং সেগুলিকে সঞ্চয়কারীর কাছে বরাদ্দ করুন
(নির্দেশনাটি হিসাবে একত্রিত করা $a9 $20 ডিস্কে)।

মন্তব্য একটি সেমিকোলন (;) দিয়ে নির্দিষ্ট করা হয়, যেমন

;এই is a মন্তব্য

এগুলি ব্যবহার করে সি ভাষা শৈলীতেও নির্দিষ্ট করা যেতে পারে /* */ এবং // কোনটি
এ বোঝা যায় প্রিপ্রসেসর স্তর (qv)।

সাধারণত, কোলন (:) বিবৃতিকে আলাদা করে, যেমন

লেবেল4 LDA #0:sta $d020

or

লেবেল2: LDA #2

(একটি লেবেল নির্দিষ্ট করার জন্য একটি কোলন ব্যবহার নোট করুন, অন্য কিছু অ্যাসেম্বলারের মতো, যা
xa এছাড়াও কোলন সহ বা ছাড়া বোঝে)। এটি সেমিকোলন মন্তব্যের ক্ষেত্রেও প্রযোজ্য,
যেমন যে

; a মন্তব্য: এলডিএ #0

একটি অপকোড দ্বারা অনুসরণ করা একটি মন্তব্য হিসাবে বোঝা যায়৷ এটি পরাজিত করতে, ব্যবহার করুন -M কমান্ড লাইন
মন্তব্যের মধ্যে কোলনকে অনুমতি দেওয়ার বিকল্প। এই প্রযোজ্য নয় /* */ এবং // মন্তব্য,
যা প্রিপ্রসেসর স্তরে (কিউভি) মোকাবেলা করা হয়।

PSEUDO-OPS


ছদ্ম-অপস মেটা- বা ইনলাইনড কমান্ড বোঝাতে অ্যাসেম্বলার দ্বারা ব্যবহৃত মিথ্যা অপকোড।
অধিকাংশ সমাবেশকারীদের মত, xa একটি সমৃদ্ধ সেট আছে.

.byt মান 1, মান 2, মান 3,...
সরাসরি একত্রিত বস্তুতে স্থাপন করার জন্য বাইটের একটি স্ট্রিং নির্দিষ্ট করে। দ্য
আর্গুমেন্ট এক্সপ্রেশন হতে পারে. বাইট যে কোন সংখ্যা নির্দিষ্ট করা যেতে পারে.

.ac "টেক্সট1" "টেক্সট2",...
একটি অক্ষর স্ট্রিং নির্দিষ্ট করে যা একত্রিত বস্তুতে ঢোকানো হবে।
বর্তমানে নির্দিষ্ট অক্ষর সেট অনুযায়ী স্ট্রিং বোঝা যায়; জন্য
উদাহরণস্বরূপ, যদি ASCII নির্দিষ্ট করা হয়, তাহলে সেগুলি ASCII হিসাবে রেন্ডার করা হবে, এবং যদি PETSCII হয়
নির্দিষ্ট, তারা সমতুল্য কমডোর ASCII সমতুল্য অনুবাদ করা হবে.
অন্যান্য অ-মানক ASCII যেমন Atari কম্পিউটারের জন্য ATASCII-এর ASCII ব্যবহার করা উচিত
সমতুল্য অক্ষর; গ্রাফিক এবং নিয়ন্ত্রণ অক্ষর নির্দিষ্ট করা উচিত
স্পষ্টভাবে ব্যবহার করে .byt আপনি চান সুনির্দিষ্ট চরিত্রের জন্য. উল্লেখ করার সময় উল্লেখ করুন
একটি অপকোডের যুক্তি, .ac প্রয়োজন হয় না; উদ্ধৃত অক্ষর সহজভাবে করতে পারেন
ঢোকানো হবে (যেমন, LDA #"ক" ), এবং বর্তমান অক্ষর সেট দ্বারা প্রভাবিত হয়।
অক্ষর স্ট্রিং যে কোনো সংখ্যা নির্দিষ্ট করা যেতে পারে.

.byt এবং .ac সমার্থক, তাই আপনি যেমন জিনিস মিশ্রিত করতে পারেন .byt $ 43, 22, "a চরিত্র
স্ট্রিং" এবং প্রত্যাশিত ফলাফল পান। স্ট্রিং বর্তমান অক্ষর সেট সাপেক্ষে,
কিন্তু অবশিষ্ট বাইট পরিবর্তন ছাড়াই ঢোকানো হয়।

.aasc "টেক্সট1" "টেক্সট2",...
যে একটি অক্ষর স্ট্রিং নির্দিষ্ট করে সর্বদা নির্বিশেষে সত্য ASCII তে রেন্ডার করা হয়েছে
বর্তমান অক্ষর সেট। লাইক .ac, এটা সমার্থক .byt.

.শব্দ মান1, মান 2, মান3...
16 এ একত্রিত বস্তুতে স্থাপন করার জন্য 6502-বিট শব্দের একটি স্ট্রিং নির্দিষ্ট করে
লিটল-এন্ডিয়ান ফরম্যাট (অর্থাৎ, লো-বাইট/হাই-বাইট)। যুক্তি হতে পারে
অভিব্যক্তি শব্দের যে কোন সংখ্যা নির্দিষ্ট করা যেতে পারে.

.dsb দৈর্ঘ্য, ফিলবাইট
একটি ডেটা ব্লক নির্দিষ্ট করে; মোট লম্বা এর পুনরাবৃত্তি ফিলবাইট ঢোকানো হবে
একত্রিত বস্তুর মধ্যে। উদাহরণ স্বরূপ, .dsb 5, $10 পাঁচ বাইট সন্নিবেশ করা হবে, প্রতিটি
বস্তুর মধ্যে 16 দশমিক হচ্ছে। আর্গুমেন্ট এক্সপ্রেশন হতে পারে.

.বিন অফসেট,দৈর্ঘ্য,"ফাইলের নাম"
দ্বারা নির্দিষ্ট করা আরও ব্যাখ্যা ছাড়াই একটি বাইনারি ফাইল ইনলাইন করে ফাইলের নাম থেকে
অফসেট অফসেট দৈর্ঘ্য লম্বা. এটি আপনাকে ডেটা সন্নিবেশ করতে দেয় যেমন a
পূর্বে একত্রিত অবজেক্ট ফাইল বা একটি ছবি বা অন্যান্য বাইনারি ডেটা স্ট্রাকচার,
এই ফাইলের অবজেক্টে সরাসরি ইনলাইন করা হয়েছে। যদি লম্বা শূন্য, তারপর এর দৈর্ঘ্য
ফাইলের নাম, অফসেট বিয়োগ, পরিবর্তে ব্যবহার করা হয়. আর্গুমেন্ট এক্সপ্রেশন হতে পারে.

.( স্কোপিংয়ের জন্য একটি নতুন ব্লক খোলে। একটি ব্লকের মধ্যে, সংজ্ঞায়িত সমস্ত লেবেল এর জন্য স্থানীয়
ব্লক এবং যেকোনো সাব-ব্লক, এবং এনক্লোজিং ব্লক হওয়ার সাথে সাথে সুযোগের বাইরে চলে যান
বন্ধ (অর্থাৎ, আভিধানিকভাবে স্কোপড)। ব্লকের বাইরে সংজ্ঞায়িত সমস্ত লেবেল এখনও আছে
এর মধ্যে দৃশ্যমান। একটি ব্লকের মধ্যে একটি গ্লোবাল লেবেল স্পষ্টভাবে ঘোষণা করতে, এর আগে
লেবেল দিয়ে + অথবা এর আগে & শুধুমাত্র পূর্ববর্তী স্তরের মধ্যে এটি ঘোষণা করতে (বা
বিশ্বব্যাপী যদি আপনি শুধুমাত্র এক স্তরের গভীরে থাকেন)। স্কোপিং এর ষোলটি স্তর অনুমোদিত।

.) একটি ব্লক বন্ধ করে দেয়।

.as .al .xs .xl
শুধুমাত্র 65816 মোডে প্রাসঙ্গিক (এর সাথে -w বিকল্প নির্দিষ্ট)। এই ছদ্ম অপ্স সেট
ভবিষ্যতে নির্দেশাবলীর জন্য কি আকারের সঞ্চয়কারী এবং X/Y-রেজিস্টার ব্যবহার করা উচিত; .as
এবং .xs যথাক্রমে অ্যাকিউমুলেটর এবং ইনডেক্স রেজিস্টারের জন্য 8-বিট অপারেন্ড সেট করুন,
এবং .al এবং .xl 16-বিট অপারেন্ড সেট করুন। উদ্দেশ্যমূলকভাবে এই ছদ্ম-অপস না
স্বয়ংক্রিয়ভাবে ইস্যু সেপ্টেম্বর এবং খ্যাতি CPU-তে নির্দিষ্ট প্রস্থ সেট করার নির্দেশাবলী;
আপনার প্রয়োজন অনুযায়ী প্রসেসর বিট সেট করুন, অথবা একটি ম্যাক্রো নির্মাণ বিবেচনা করুন। .al এবং .xl
যদি ত্রুটি তৈরি করে -w নির্দিষ্ট করা হয় না।

নিম্নলিখিত ছদ্ম-অপস প্রাথমিকভাবে স্থানান্তরযোগ্য .o65 অবজেক্টে প্রযোজ্য। একটি পূর্ণ আলোচনা
রিলোকেটেবল ফরম্যাট এই ম্যানপেজের সুযোগের বাইরে, কারণ এটি বর্তমানে একটি ফরম্যাট
অন্ত: প্রবাহ. প্রস্তাবিত v1.2 বিন্যাসে ডকুমেন্টেশন আছে doc/fileformat.txt মধ্যে xa
ইনস্টলেশন ডিরেক্টরি।

.টেক্সট .ডেটা .বিএসএস .শূন্য
এই ছদ্ম-অপস বিভিন্ন সেগমেন্টের মধ্যে স্যুইচ করে, .টেক্সট হল আসল কোড
বিভাগ, .ডেটা হচ্ছে ডাটা সেগমেন্ট, .bss হচ্ছে অপ্রবর্তিত লেবেল স্পেস
বরাদ্দ এবং .zero অপ্রাথমিক করা হচ্ছে বরাদ্দের জন্য শূন্য পৃষ্ঠা স্থান। বিএসএস-এ
এবং .শূন্য, শুধুমাত্র লেবেল মূল্যায়ন করা হয়। এই ছদ্ম-অপস আপেক্ষিক এবং বৈধ
পরম মোড

সারিবদ্ধ মূল্য
বর্তমান সেগমেন্টকে একটি বাইট সীমারেখায় সারিবদ্ধ করে (2, 4 বা 256) মূল্য
(এবং আপেক্ষিক মোড সক্ষম হলে এটিকে হেডারে রাখে)। অন্যান্য মান তৈরি করে
একটি ভুল.

.fopt প্রকার, মান 1, মান 2, মান 3,...
মত কাজ করে .byt/.asc ব্যতীত যে মানগুলি অবজেক্ট ফাইলের মধ্যে এমবেড করা হয়েছে
ফাইল অপশন। যুক্তি আদর্শ ফাইল অপশন হচ্ছে উল্লেখ করতে ব্যবহৃত হয়
উল্লেখিত এই বিকল্পগুলির একটি সারণী স্থানান্তরযোগ্য o65 ফাইল বিন্যাসে রয়েছে
বর্ণনা বিকল্পগুলির অবশিষ্টগুলি সন্নিবেশ করার মান হিসাবে ব্যাখ্যা করা হয়। যে কোন
মানের সংখ্যা নির্দিষ্ট করা যেতে পারে, এবং স্ট্রিংও হতে পারে।

প্রিপ্রসেসর


xa সি-ভাষা প্রিপ্রসেসরের অনুরূপ একটি প্রিপ্রসেসর প্রয়োগ করে CPP(1)
এবং অনেক বৈচিত্র উভয় ক্ষেত্রেই প্রযোজ্য। উদাহরণস্বরূপ, সি হিসাবে, ব্যবহার /* */ মন্তব্যের জন্য
সীমাবদ্ধতাও সমর্থিত xa, এবং তাই ডবল স্ল্যাশ ব্যবহার করে মন্তব্য //. দ্য
প্রিপ্রসেসর কন্টিনিউয়েশন লাইনগুলিকেও সমর্থন করে, যেমন, ব্যাকস্ল্যাশ (\) দিয়ে শেষ হওয়া লাইনগুলি।
নিম্নলিখিত লাইনটি তারপর এটিতে এমনভাবে যুক্ত করা হয়েছে যেন কোনও বিভাজক নতুন লাইন নেই। এটাও
প্রিপ্রসেসর স্তরে পরিচালিত হয়।

স্মৃতি ও জটিলতার কারণে এর পূর্ণ প্রস্থ CPP(1) বাক্য গঠন সম্পূর্ণ নয়
সমর্থিত বিশেষ করে, ম্যাক্রো সংজ্ঞা ফরওয়ার্ড-সংজ্ঞায়িত নাও হতে পারে (যেমন, একটি ম্যাক্রো
সংজ্ঞা শুধুমাত্র একটি পূর্বে সংজ্ঞায়িত ম্যাক্রো সংজ্ঞা উল্লেখ করতে পারে, ম্যাক্রো ব্যতীত
ফাংশন, যেখানে পুনরাবৃত্ত মূল্যায়ন সমর্থিত; যেমন, থেকে # define WW AA , AA অবশ্যই থাকতে হবে
ইতিমধ্যে সংজ্ঞায়িত করা হয়েছে। কিছু অন্যান্য নির্দেশ সমর্থিত নয়, বা অধিকাংশ মানসম্মত নয়
প্রাক-সংজ্ঞায়িত ম্যাক্রো, এবং মূল্যায়ন এবং লাইনের দৈর্ঘ্যের অন্যান্য সীমা রয়েছে। কারন
রক্ষণাবেক্ষণকারী xa স্বীকার করুন যে কিছু ফাইলের তুলনায় আরও জটিল প্রস্তুতির প্রয়োজন হবে
বিল্ট-ইন প্রিপ্রসেসর সরবরাহ করতে পারে, প্রিপ্রসেসর গ্রহণ করবে CPP(1)-শৈলী
লাইন/ফাইলের নাম/পতাকা আউটপুট। যখন এই লাইনগুলি ইনপুট ফাইলে দেখা যায়, xa চিকিৎসা করবে
তাদের মত cc যে পতাকা উপেক্ষা করা হয় ছাড়া হবে. xa স্ট্যান্ডার্ড ফাইল গ্রহণ করে না
পার্সিং কারণে ইনপুট, তাই আপনি আপনার ডাম্প করা উচিত CPP(1) একটি মধ্যবর্তী আউটপুট
অস্থায়ী ফাইল, যেমন

cc -E পরীক্ষা > test.xa
xa test.xa

কোন বিশেষ যুক্তি পাস করা প্রয়োজন xa; উপস্থিতি CPP(1) আউটপুট সনাক্ত করা হয়
স্বয়ংক্রিয়ভাবে.

নোট করুন যে মাধ্যমে আপনার ফাইল পাস CPP(1) হস্তক্ষেপ করতে পারে xaএর নিজস্ব প্রিপ্রসেসর
নির্দেশাবলী এই ক্ষেত্রে, থেকে নির্দেশাবলী মুখোশ CPP(1), ব্যবহার করুন -p একটি নির্দিষ্ট করার বিকল্প
পরিবর্তে বিকল্প চরিত্র #, যেমন টিল্ড (যেমন, -p'~' ) এই বিকল্পের সাথে এবং
যুক্তি নির্দিষ্ট, তারপর পরিবর্তে # অন্তর্ভুক্ত, উদাহরণস্বরূপ, আপনি ব্যবহার করতে পারেন ~ অন্তর্ভুক্ত, এ
উপরন্তু # অন্তর্ভুক্ত (যা এখনও গৃহীত হবে xa প্রিপ্রসেসর, ধরে নেওয়া
কোনো বেঁচে থাকা CPP(1))। যে কোনো চরিত্র ব্যবহার করা যেতে পারে, যদিও খোলামেলাভাবে প্যাথলজিক পছন্দ হতে পারে
পার্সিংয়ের সময় মজাদার এবং হতাশাজনক গ্লিচের দিকে নিয়ে যায়। এছাড়াও আপনি এই বিকল্পটি ব্যবহার করতে পারেন
ডিফার প্রিপ্রসেসর নির্দেশাবলী যে CPP(1) ফাইলটি আসলে পর্যন্ত খুব তাড়াতাড়ি ব্যাখ্যা করতে পারে
পায় xa প্রক্রিয়াকরণের জন্য নিজেই।

নিম্নলিখিত প্রিপ্রসেসর নির্দেশাবলী সমর্থিত.

# অন্তর্ভুক্ত "ফাইলের নাম"
ফাইলের বিষয়বস্তু সন্নিবেশ করান ফাইলের নাম এই অবস্থানে। ফাইল না পাওয়া গেলে,
এটি দ্বারা নির্দিষ্ট পাথ ব্যবহার করে অনুসন্ধান করা হয় -I কমান্ড লাইন বিকল্প বা
পরিবেশ সূচক XAINPUT (qv)। ঢোকানো হলে, ফাইলটিও পার্স করা হবে
প্রিপ্রসেসর নির্দেশাবলীর জন্য।

#প্রতিধ্বনি মন্তব্য
মন্তব্য সন্নিবেশ মন্তব্য এররলগ ফাইলে, এর সাথে নির্দিষ্ট করা হয়েছে -e কমান্ড লাইন
বিকল্প।

#ছাপা অভিব্যক্তি
অভিব্যক্তির মান গণনা করে অভিব্যক্তি এবং এররলগ ফাইলে প্রিন্ট করে।

# define সংজ্ঞা দিন পাঠ
ম্যাক্রো সমতুল্য সংজ্ঞা দিন পাঠ্য সহ পাঠ যেমন যেখানেই হোক সংজ্ঞা দিন প্রদর্শিত হবে
সমাবেশ উত্স, পাঠ তার জায়গায় প্রতিস্থাপিত হয় (ঠিক মত CPP(1) করবে)। ভিতরে
যোগ, # define যেমন ম্যাক্রো ফাংশন নির্দিষ্ট করতে পারেন CPP(1) যেমন একটি নির্দেশ
মত # define mult(a,b) ((ক)*(খ)) যেখানেই একটি প্রত্যাশিত ফলাফল উৎপন্ন হবে
ফর্মের অভিব্যক্তি mult(a,b) উৎসে প্রদর্শিত হয়। এটিও নির্দিষ্ট করা যেতে পারে
এর সাথে কমান্ড লাইনে -D বিকল্প ম্যাক্রো ফাংশনের আর্গুমেন্ট হতে পারে
পুনরাবৃত্তিমূলকভাবে মূল্যায়ন, অন্যদের থেকে ভিন্ন # defines; প্রিপ্রসেসর পুনরায় চেষ্টা করবে-
দশ বার পর্যন্ত অন্য প্রিপ্রসেসর সংজ্ঞা refencing কোনো যুক্তি মূল্যায়ন
অভিযোগ করার আগে।

নিম্নলিখিত নির্দেশাবলী শর্তসাপেক্ষ. যদি শর্তসাপেক্ষে সন্তুষ্ট না হয়, তাহলে
নির্দেশিকা এবং এর সমাপ্তির মধ্যে সোর্স কোড #endif অপসারিত হয় এবং না
একত্রিত বাসা বাঁধার পনেরটি স্তর পর্যন্ত সমর্থিত।

#endif একটি শর্তাধীন ব্লক বন্ধ করে।

# আরও একটি শর্তাধীন ব্লকের জন্য বিকল্প পথ প্রয়োগ করে।

#ifdef সংজ্ঞা দিন
ম্যাক্রো হলেই সত্য সংজ্ঞা দিন সংজ্ঞায়িত করা.

#ifndef সংজ্ঞা দিন
বিপরীত; ম্যাক্রো হলেই সত্য সংজ্ঞা দিন পূর্বে সংজ্ঞায়িত করা হয়নি।

#যদি অভিব্যক্তি
অভিব্যক্তি হলে সত্য অভিব্যক্তি অ-শূন্য মূল্যায়ন. অভিব্যক্তি উল্লেখ করতে পারে
অন্যান্য ম্যাক্রো।

#প্রবাহিত লেবেল
লেবেল হলে সত্য লেবেল ব্যবহার করা হয়েছে (কিন্তু অগত্যা একটি মান দিয়ে তাত্ক্ষণিক নয়)।
এই কাজ on লেবেল, না ম্যাক্রো

#ifldef লেবেল
লেবেল হলে সত্য লেবেল সংজ্ঞায়িত করা এবং একটি মান দিয়ে বরাদ্দ করা হয়েছে। এই কাজ on লেবেল,
না ম্যাক্রো

অন্তর্ভুক্ত ফাইলের শেষে আনক্লোজড কন্ডিশনাল ব্লক সতর্কতা তৈরি করে; খোলা
সমাবেশের শেষে শর্তসাপেক্ষ ব্লকগুলি একটি ত্রুটি তৈরি করে।

#প্রবাহিত এবং #ifldef লেবেলের উপর ভিত্তি করে একটি লাইব্রেরি তৈরি করার জন্য দরকারী। উদাহরণ স্বরূপ,
আপনি আপনার লাইব্রেরির কোডে এরকম কিছু ব্যবহার করতে পারেন:

#প্রবাহিত লেবেল
#ifldef লেবেল
#প্রতিধ্বনি লেবেল ইতিমধ্যে সংজ্ঞায়িত, লাইব্রেরি ক্রিয়া লেবেল না পারেন be সন্নিবেশিত
# আরও
লেবেল /* তোমার কোড */
#endif
#endif

পরিবেশ


xa নিম্নলিখিত পরিবেশ ভেরিয়েবল ব্যবহার করে, যদি তারা বিদ্যমান থাকে:

XAINPUT
ফাইল পাথ অন্তর্ভুক্ত করুন; উপাদানগুলিকে `,' দ্বারা পৃথক করা উচিত।

XAOUTPUT
আউটপুট ফাইল পাথ।

নোটস'ন'বাগস


R65C02 নির্দেশাবলী আইএনএ (প্রায়শই রেন্ডার করা হয় Inc a) এবং DEA (ডিসেম্বর a) হিসেবে রেন্ডার করতে হবে
মাত্র Inc এবং ডিসেম্বর নির্দেশাবলী যথাক্রমে।

ফরোয়ার্ড-সংজ্ঞায়িত লেবেল -- অর্থাৎ, বর্তমান নির্দেশের পরে সংজ্ঞায়িত লেবেল
প্রক্রিয়া করা হয় -- লেবেল শেষ হয়ে গেলেও শূন্য পৃষ্ঠা নির্দেশাবলীতে অপ্টিমাইজ করা যাবে না
একটি শূন্য পৃষ্ঠা অবস্থান হিসাবে সংজ্ঞায়িত করা হচ্ছে, কারণ সংযোজনকারী এর মান জানেন না
একটি নির্দেশের দৈর্ঘ্য গণনা করা হলে প্রথম পাসের সময় অগ্রিম লেবেল।
দ্বিতীয় পাসে, একটি সতর্কতা জারি করা হবে যখন একটি নির্দেশ যা হতে পারে
এই সীমাবদ্ধতার কারণে অপ্টিমাইজ করা যাবে না। (অবশ্যই, এটি প্রযোজ্য নয়
ব্রাঞ্চিং বা জাম্পিং নির্দেশাবলী কারণ সেগুলি যেভাবেই অপ্টিমাইজ করা যায় না, এবং সেগুলি
নির্দেশাবলী যা করতে পারে কেবল একটি 8-বিট প্যারামিটার সর্বদা একটি 8-বিটে কাস্ট করা হবে
পরিমাণ।) যদি নির্দেশের আগে লেবেলটিকে অন্যথায় সংজ্ঞায়িত করা না যায়, তাহলে
ব্যাকটিক উপসর্গ ` লেবেল যেখানেই থাকুক না কেন আরও অপ্টিমাইজেশন জোর করতে ব্যবহার করা যেতে পারে
যতক্ষণ পর্যন্ত নির্দেশ এটি সমর্থন করে। নির্বিচারে জোর করে ইস্যু করা যায়
বিপদে পরিপূর্ণ, তবে, এবং সুপারিশ করা হয় না; এই নিরুৎসাহিত করার জন্য, সমাবেশকারী
অ্যাড্রেসিং মোড পরিস্থিতিতে এর ব্যবহার সম্পর্কে অভিযোগ করবে যেখানে কোনও অস্পষ্টতা নেই, যেমন
পরোক্ষ সূচী হিসাবে, শাখা এবং তাই।

এছাড়াও, অপ্টিমাইজেশন যেভাবে পরিচালিত হয় তার আরও পরিণতি হিসাবে, আমরা এটি পুনরাবৃত্তি করি সব
24-বিট পরিমাণ এবং লেবেল যা 24 মোডে একটি 65816-বিট পরিমাণ উল্লেখ করে, পূর্বে
ঘোষণা বা অন্যথায়, অবশ্যই সঙ্গে prepended করা @ উপসর্গ অন্যথায়, অ্যাসেম্বলার করবে
16 বিট অপ্টিমাইজ করার চেষ্টা করুন, যা অবাঞ্ছিত হতে পারে।

onworks.net পরিষেবা ব্যবহার করে xa অনলাইন ব্যবহার করুন


বিনামূল্যে সার্ভার এবং ওয়ার্কস্টেশন

উইন্ডোজ এবং লিনাক্স অ্যাপ ডাউনলোড করুন

লিনাক্স কমান্ডগুলি

Ad




×
ভি .আই. পি  বিজ্ঞাপন
❤️এখানে কেনাকাটা করুন, বুক করুন, অথবা কিনুন — বিনামূল্যে, পরিষেবাগুলি বিনামূল্যে রাখতে সাহায্য করে।