After the assembly language is created it is necessary to determine how to represent each instruction as a number. |
Sau khi ngôn ngữ lập trình hợp ngữ được tạo ra, cần phải xác định cách biểu diễn mỗi hướng dẫn dưới dạng một con số. |
This establishes a one-to-one correspondence between each instruction in the assembly language and each instruction code in the set of instruction codes. |
Điều này thiết lập sự tương ứng một-một giữa mỗi lệnh trong hợp ngữ và mỗi mã lệnh trong bộ mã lệnh. |
Converting a program from assembly language to instruction codes is called assembling, and conversion from instruction codes back into assembly language is called disassembling. |
Chuyển đổi một chương trình từ ngôn ngữ hợp ngữ thành mã hướng dẫn được gọi là lắp ráp (assembling), và việc chuyển đổi từ mã hướng dẫn trở lại ngôn ngữ hợp ngữ được gọi là giải lắp (disassembling). |
Several choices we must make at this point are: |
Một số lựa chọn chúng ta phải thực hiện vào thời điểm này là: |
What number is used to represent each assembly language instruction? |
Số nào được sử dụng để đại diện cho mỗi hướng dẫn ngôn ngữ lắp ráp? |
How are instruction operands encoded? |
Các toán hạng hướng dẫn được mã hóa như thế nào? |
Are operands part of the instruction word (remember, by word I mean number), or are they separate words (numbers)? |
Các toán hạng có phải là một phần của từ hướng dẫn (hãy nhớ, theo từ tôi có nghĩa là số) hay chúng là các từ (số) riêng biệt? |
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. |
Đầu tiên, để trả lời câu hỏi cuối cùng, vì chỉ có một số lượng nhỏ các hướng dẫn và thanh ghi trong máy ảo này nên không khó để mã hóa tất cả các toán hạng trong một từ lệnh duy nhất, ngay cả khi (để đơn giản) tôi đã sử dụng một từ hướng dẫn 16-bit. |
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). |
Như vậy, một số 16 bit được viết dưới dạng thập lục phân có 4 chữ số, giúp chúng ta dễ dàng truy cập vào 4 trường thông tin, mỗi trường chứa 16 biến thể (0-9 và A-F). |
The first digit of a machine word will be the instruction number. |
Chữ số đầu tiên của một từ máy sẽ là số hướng dẫn. |
This gives our VM the potential for having up to 16 different instructions. |
Điều này mang lại tiềm năng cho máy ảo của chúng ta có tới 16 hướng dẫn khác nhau. |
This is a small amount by contemporary standards, but it is plenty for our example virtual machine. |
Đây là một lượng nhỏ theo tiêu chuẩn hiện đại, nhưng nó rất nhiều cho máy ảo ví dụ của chúng tôi. |
The next three digits will be used for the operands. |
Ba chữ số tiếp theo sẽ được sử dụng cho các toán hạng. |
These can be used as three 1-digit operands, two operands of 1 and 2 digits, or a single 3-digit operand. |
Chúng có thể được sử dụng làm ba toán hạng có 1 chữ số, hai toán hạng có 1 và 2 chữ số hoặc một toán hạng có 3 chữ số. |
Having made these decisions, let us now establish the encoding. |
Sau khi đưa ra những quyết định này, bây giờ chúng ta hãy thiết lập mã hóa. |
Recall that we have 16 instruction numbers available. |
Hãy nhớ lại rằng chúng tôi có 16 số hướng dẫn có sẵn. |
The halt instruction will be instruction 0, and there is an important reason for choosing 0 for this instruction. |
Lệnh tạm dừng sẽ là lệnh 0 và có một lý do quan trọng để chọn 0 cho lệnh này. |
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. |
Vì không gian trống trong bộ nhớ của máy tính có khả năng sẽ được điền đầy bằng các số 0, bất kỳ chương trình hoạt động không kiểm soát nào cuối cùng sẽ gặp phải số 0 và cố gắng thực thi hướng dẫn này, ngay lập tức dừng chương trình. |