After the assembly language is created it is necessary to determine how to represent each instruction as a number. |
.بعد إنشاء لغة التجميع من الضروري تحديد كيفية تمثيل كل تعليم كرقم |
This establishes a one-to-one correspondence between each instruction in the assembly language and each instruction code in the set of instruction codes. |
وهذا يحدد مراسلات واحد إلى واحد بين كل تعليمة بلغة التجميع وكل رمز تعليمات في مجموعة .رموز التعليمات |
Converting a program from assembly language to instruction codes is called assembling, and conversion from instruction codes back into assembly language is called disassembling. |
ويطلق على تحويل برنامج من لغة التجميع إلى رموز التعليمات تجميع، والتحويل من رموزك التعليمات مرة أخرى إلى لغة التجميع يسمى التفكيك. |
Several choices we must make at this point are: |
هناك العديد من الخيارات التي يجب علينا اتخاذها في هذه المرحلة هي: |
What number is used to represent each assembly language instruction? |
ما هو الرقم الذي يستخدم لتمثيل كل تعليم لغة التجميع؟ |
How are instruction operands encoded? |
كيف يتم ترميز عمليات التشغيل؟ |
Are operands part of the instruction word (remember, by word I mean number), or are they separate words (numbers)? |
هل هي جزء من كلمة التعليمات (تذكر، بالكلمة أعني العدد)، أم أنها كلمات منفصلة (أرقام)؟ |
First, to answer the last question, since there are only small numbers of instructions and registers in this VM it should not be very difficult to encode all operands in a single instruction word, even if (for the sake of simplicity) I were to use a 16-bit instruction word. |
أولا، للإجابة على السؤال الأخير، حيث لا توجد سوى أعداد صغيرة من التعليمات والسجلات في هذا فم لا ينبغي أن يكون من الصعب جدا لترميز جميع المعاملات في كلمة واحدة تعليمات، حتى لو (من أجل البساطة) كنت لاستخدام كلمة تعليمات 16 بت. |
Thus, a 16-bit number written in hexadecimal has 4 digits, giving us easy access to 4 information fields, each containing 16 variations (0-9 and A-F). |
وهكذا، عدد 16 بت مكتوبة في الست عشري يحتوي على 4 أرقام، مما يتيح لنا سهولة الوصول إلى 4 حقول المعلومات، كل تحتوي على 16 الاختلافات (0-9 و A-F). |
The first digit of a machine word will be the instruction number. |
سيكون الرقم الأول من كلمة الجهاز هو رقم التعليمات. |
This gives our VM the potential for having up to 16 different instructions. |
وهذا يعطي فم لدينا إمكانية وجود ما يصل إلى 16 تعليمات مختلفة. |
This is a small amount by contemporary standards, but it is plenty for our example virtual machine. |
هذا هو كمية صغيرة بالمعايير المعاصرة، ولكن هو الكثير لدينا مثال الجهاز الظاهري. |
The next three digits will be used for the operands. |
سيتم استخدام الأرقام الثلاثة التالية للمنتديات.
|
These can be used as three 1-digit operands, two operands of 1 and 2 digits, or a single 3-digit operand. |
هذه يمكن أن تستخدم ثلاث عمليات من 1 أرقام، اثنين من المعاملات من 1 و 2 أرقام، أو واحد من 3 أرقام المعامل. |
Having made these decisions, let us now establish the encoding. |
بعد اتخاذ هذه القرارات، دعونا الآن إنشاء الترميز. |
Recall that we have 16 instruction numbers available. |
اذكر أن لدينا 16 تعليمات التعليمات المتاحة.
|
The halt instruction will be instruction 0, and there is an important reason for choosing 0 for this instruction. |
وسوف تكون تعليمات وقف التعليمات 0، وهناك سبب مهم لاختيار 0 لهذه التعليمات. |
Since empty space in the computer's memory will most likely be filled with 0s, any run-away program will eventually encounter a 0 and attempt to execute this instruction, immediately halting the program. |
وبما أن مساحة فارغة في ذاكرة الكمبيوتر على الأرجح أن تكون مليئة 0S، أي برنامج بعيدا سوف تواجه في نهاية المطاف 0 ومحاولة لتنفيذ هذه التعليمات، ووقف البرنامج فورا. |