每個(gè)計(jì)算機(jī)的微處理器管理計(jì)算機(jī)的算術(shù),邏輯和控制活動(dòng)。
每種處理器都有自己的一套處理的各種操作,如獲得從鍵盤輸入,在屏幕上顯示信息,并執(zhí)行各種其他工作的指令。這些指令被稱為“機(jī)器語言指令。
處理器只理解的機(jī)器語言指令串1和0。然而,在軟件開發(fā)中使用的機(jī)器語言太含糊和復(fù)雜。因此,具有低的電平的匯編語言中符號(hào)代碼和更容易理解的形式,表示各種指令的一個(gè)特定的系列處理器設(shè)計(jì)的。
匯編語言的理解提供知識(shí):
接口程序與操作系統(tǒng),處理器和BIOS;
表示在內(nèi)存中的數(shù)據(jù)和其它外部設(shè)備;
處理器如何訪問和執(zhí)行指令;
指示如何訪問和處理數(shù)據(jù);
程序是如何訪問外部設(shè)備。
用匯編語言的其它的優(yōu)點(diǎn)是:
它需要較少的內(nèi)存和執(zhí)行時(shí)間;
它允許特定硬件的復(fù)雜的工作;
適合那些時(shí)間緊急工作;
這是最適合編寫中斷服務(wù)程序和其他內(nèi)存駐留程序。
PC機(jī)的內(nèi)部的主要硬件包括處理器,存儲(chǔ)器和寄存器。寄存器處理器組件的形體數(shù)據(jù)和地址。執(zhí)行一個(gè)程序的系統(tǒng)會(huì)將其復(fù)制到內(nèi)部存儲(chǔ)器從外部裝置。處理器執(zhí)行的程序指令。
計(jì)算機(jī)存儲(chǔ)的基本單位是位,它可能是:(1)或關(guān)閉(0)。一組的九個(gè)相關(guān)位使得一個(gè)字節(jié)。用于數(shù)據(jù)和8位用于奇偶校驗(yàn)的最后一個(gè)。根據(jù)規(guī)則奇偶校驗(yàn)數(shù)位是:(1)在每個(gè)字節(jié)應(yīng)該永遠(yuǎn)是奇數(shù)。
因此,奇偶校驗(yàn)位是用來使奇數(shù)一個(gè)字節(jié)中的比特?cái)?shù)。如果是偶數(shù),奇偶系統(tǒng)假定有奇偶校驗(yàn)錯(cuò)誤(雖然罕見)由于硬件故障或電子干擾可能會(huì)導(dǎo)致。
該處理器支持以下數(shù)據(jù)大?。?/p>
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
每一個(gè)數(shù)字系統(tǒng)的使用位置的符號(hào),即一個(gè)數(shù)字寫在每個(gè)位置都有不同的位置值。每個(gè)位置上的底數(shù),它是2的二進(jìn)制數(shù)字系統(tǒng),電源,冪從0開始并加1。
下表顯示了一個(gè)8位的二進(jìn)制數(shù),其中所有位都設(shè)置上的位置的值。
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 |
一個(gè)二進(jìn)制數(shù)的值,是根據(jù)1個(gè)比特的存在下,它們的位置值。因此,給定的二進(jìn)制數(shù)的值是:1 +2 + 4 +816+32+64+128 =255,這是相同的為 28 - 1.
十六進(jìn)制數(shù)字系統(tǒng)使用基本16。數(shù)字的范圍從0到15。按照慣例,字母A至F用來表示十六進(jìn)制數(shù)字對(duì)應(yīng)的十進(jìn)制值10到15。
十六進(jìn)制數(shù)字計(jì)算的主要用途是縮寫冗長(zhǎng)的二進(jìn)制表示。基本上是一個(gè)十六進(jìn)制數(shù)系統(tǒng)除以一半中的每個(gè)字節(jié),每個(gè)半字節(jié)表達(dá)的值代表的二進(jìn)制數(shù)據(jù)。下表提供了十進(jìn)制,二進(jìn)制和十六進(jìn)制等效:
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 |
其相當(dāng)于十六進(jìn)制轉(zhuǎn)換成二進(jìn)制數(shù),為4個(gè)連續(xù)組,每個(gè)組分解,從右邊開始,十六進(jìn)制數(shù)對(duì)應(yīng)的數(shù)字寫的那些組。
例子: 二進(jìn)制數(shù)10001100 11010001等于十六進(jìn)制 - 8CD1
一個(gè)十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制寫入到4位二進(jìn)制相當(dāng)于每個(gè)十六進(jìn)制數(shù)字。
例子: 十六進(jìn)制數(shù)FAD8相當(dāng)于二進(jìn)制 - 1111 1010 1101 1000
下表說明了二進(jìn)制加法的四個(gè)簡(jiǎn)單的規(guī)則:
(i) | (ii) | (iii) | (iv) |
---|---|---|---|
1 | |||
0 | 1 | 1 | 1 |
+0 | +0 | +1 | +1 |
=0 | =1 | =10 | =11 |
規(guī)則(ⅲ)和(ⅳ)示出一個(gè)1位的進(jìn)位到下一個(gè)左邊的位置。
Example:
Decimal | Binary |
---|---|
60 | 00111100 |
+42 | 00101010 |
102 | 01100110 |
負(fù)二進(jìn)制值表示2的補(bǔ)碼表示。根據(jù)這條規(guī)則,轉(zhuǎn)換成二進(jìn)制數(shù),其負(fù)面價(jià)值是扭轉(zhuǎn)其位值加1。
例子:
Number 53 | 00110101 |
Reverse the bits | 11001010 |
Add 1 | 1 |
Number -53 | 11001011 |
從另一個(gè)減去一個(gè)值,數(shù)量減去2的補(bǔ)碼格式轉(zhuǎn)換,并添加數(shù)字。
例如: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位溢出丟失。
處理器控制指令的執(zhí)行的過程中,通過被稱為讀取解碼執(zhí)行周期或執(zhí)行周期。它由三個(gè)連續(xù)的步驟:
從存儲(chǔ)器中取指令
解碼或識(shí)別的指令
執(zhí)行指令
在同一時(shí)間,該處理器可以訪問一個(gè)或多個(gè)字節(jié)的內(nèi)存。讓我們考慮一個(gè)十六進(jìn)制數(shù)0725H。此號(hào)碼將需要兩個(gè)字節(jié)的存儲(chǔ)器。高位字節(jié)或最重要的字節(jié)是07和低位字節(jié)是25。
該處理器將數(shù)據(jù)存儲(chǔ)在反向字節(jié)序列,即,低位字節(jié)存儲(chǔ)在低位內(nèi)存地址和高位字節(jié)中高內(nèi)存地址。因此,如果處理器帶來的值0725H從注冊(cè)到內(nèi)存,它會(huì)轉(zhuǎn)移到下一個(gè)內(nèi)存地址25第一較低的內(nèi)存地址和07。
x: 內(nèi)存地址
當(dāng)處理器從存儲(chǔ)器到寄存器的數(shù)值數(shù)據(jù),它再次逆轉(zhuǎn)字節(jié)。有兩種類型的內(nèi)存地址:
絕對(duì)地址的具體位置 - 直接引用。
段地址(或偏移) - 內(nèi)存段的起始地址的偏移值