每個計算機的微處理器管理計算機的算術,邏輯和控制活動。
每種處理器都有自己的一套處理的各種操作,如獲得從鍵盤輸入,在螢幕上顯示資訊,並執行各種其他工作的指令。這些指令被稱為“機器語言指令。
處理器只理解的機器語言指令串1和0。然而,在軟體開發中使用的機器語言太含糊和複雜。因此,具有低的電平的組合語言中符號程式碼和更容易理解的形式,表示各種指令的一個特定的系列處理器設計的。
組合語言的理解提供知識:
介面程式與作業系統,處理器和BIOS;
表示在記憶體中的資料和其它外部裝置;
處理器如何存取和執行指令;
指示如何存取和處理資料;
程式是如何存取外部裝置。
用組合語言的其它的優點是:
它需要較少的記憶體和執行時間;
它允許特定硬體的複雜的工作;
適合那些時間緊急工作;
這是最適合編寫中斷服務程式和其他記憶體駐留程式。
PC機的內部的主要硬體包括處理器,儲存器和暫存器。暫存器處理器元件的形體資料和地址。執行一個程式的系統會將其複製到內部儲存器從外部裝置。處理器執行的程式指令。
計算機儲存的基本單位是位,它可能是:(1)或關閉(0)。一組的九個相關位使得一個位元組。用於資料和8位元用於奇偶校驗的最後一個。根據規則奇偶校驗數位是:(1)在每個位元組應該永遠是奇數。
因此,奇偶校驗位是用來使奇數一個位元組中的位元數。如果是偶數,奇偶系統假定有奇偶校驗錯誤(雖然罕見)由於硬體故障或電子干擾可能會導致。
該處理器支援以下資料大小:
Word: a 2-byte data item
Doubleword: a 4-byte (32 bit) data item
Quadword: an 8-byte (64 bit) data item
Paragraph: a 16-byte (128 bit) area
Kilobyte: 1024 bytes
Megabyte: 1,048,576 bytes
每一個數位系統的使用位置的符號,即一個數位寫在每個位置都有不同的位置值。每個位置上的底數,它是2的二進位制數位系統,電源,冪從0開始並加1。
下表顯示了一個8位元的二進位制數,其中所有位都設定上的位置的值。
Bit value | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
---|---|---|---|---|---|---|---|---|
Position value as a power of base 2 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
Bit number | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
一個二進位制數的值,是根據1個位元的存在下,它們的位置值。因此,給定的二進位制數的值是:1 +2 + 4 +816+32+64+128 =255,這是相同的為 28 - 1.
十六進位制數位系統使用基本16。數位的範圍從0到15。按照慣例,字母A至F用來表示十六進位制數位對應的十進位制值10到15。
十六進位制數位計算的主要用途是縮寫冗長的二進位制表示。基本上是一個十六進位制數系統除以一半中的每個位元組,每個半位元組表達的值代表的二進位制資料。下表提供了十進位制,二進位制和十六進位制等效:
Decimal number | Binary representation | Hexadecimal representation |
---|---|---|
0 | 0 | 0 |
1 | 1 | 1 |
2 | 10 | 2 |
3 | 11 | 3 |
4 | 100 | 4 |
5 | 101 | 5 |
6 | 110 | 6 |
7 | 111 | 7 |
8 | 1000 | 8 |
9 | 1001 | 9 |
10 | 1010 | A |
11 | 1011 | B |
12 | 1100 | C |
13 | 1101 | D |
14 | 1110 | E |
15 | 1111 | F |
其相當於十六進位制轉換成二進位制數,為4個連續組,每個組分解,從右邊開始,十六進位制數對應的數位寫的那些組。
例子: 二進位制數10001100 11010001等於十六進位制 - 8CD1
一個十六進位制數轉換為二進位制寫入到4位元二進位制相當於每個十六進位制數位。
例子: 十六進位制數FAD8相當於二進位制 - 1111 1010 1101 1000
下表說明了二進位制加法的四個簡單的規則:
(i) | (ii) | (iii) | (iv) |
---|---|---|---|
1 | |||
0 | 1 | 1 | 1 |
+0 | +0 | +1 | +1 |
=0 | =1 | =10 | =11 |
規則(ⅲ)和(ⅳ)示出一個1位的進位到下一個左邊的位置。
Example:
Decimal | Binary |
---|---|
60 | 00111100 |
+42 | 00101010 |
102 | 01100110 |
負二進位制值表示2的二補數表示。根據這條規則,轉換成二進位制數,其負面價值是扭轉其位值加1。
例子:
Number 53 | 00110101 |
Reverse the bits | 11001010 |
Add 1 | 1 |
Number -53 | 11001011 |
從另一個減去一個值,數量減去2的二補數格式轉換,並新增數位。
例如:53減42
Number 53 | 00110101 |
Number 42 | 00101010 |
Reverse the bits of 42 | 11010101 |
Add 1 | 1 |
Number -42 | 11010110 |
53 - 42 = 11 | 00001011 |
最後1位溢位丟失。
處理器控制指令的執行的過程中,通過被稱為讀取解碼執行週期或執行週期。它由三個連續的步驟:
從儲存器中取指令
解碼或識別的指令
執行指令
在同一時間,該處理器可以存取一個或多個位元組的記憶體。讓我們考慮一個十六進位制數0725H。此號碼將需要兩個位元組的儲存器。高位位元組或最重要的位元組是07和低位位元組是25。
該處理器將資料儲存在反向位元組序列,即,低位位元組儲存在低位記憶體地址和高位位元組中高記憶體地址。因此,如果處理器帶來的值0725H從註冊到記憶體,它會轉移到下一個記憶體地址25第一較低的記憶體地址和07。
x: 記憶體地址
當處理器從儲存器到暫存器的數值資料,它再次逆轉位元組。有兩種型別的記憶體地址:
絕對地址的具體位置 - 直接參照。
段地址(或偏移) - 記憶體段的起始地址的偏移值