在线二区人妖系列_国产亚洲欧美日韩在线一区_国产一级婬片视频免费看_精品少妇一区二区三区在线

鍍金池/ 教程/ Java/ Assembly - 什么是匯編語言
Assembly 變量聲明
Assembly匯編 STOS指令
Assembly 條件
Assembly 尋址模式和MOV指令
Assembly匯編教程
Assembly - 什么是匯編語言
Assembly 循環(huán)
Assembly 內(nèi)存段
Assembly匯編 宏
Assembly 寄存器
Assembly匯編 遞歸
Assembly匯編 CMPS指令
Assembly匯編 內(nèi)存管理
Assembly匯編 LODS指令
Assembly 基本語法
Assembly匯編 過程
Assembly匯編 文件管理
Assembly匯編 數(shù)組
Assembly匯編 SCAS指令
Assembly 算術(shù)指令
Assembly 環(huán)境設(shè)置
Assembly匯編 字符串處理
Assembly 數(shù)字
Assembly 常量
Assembly匯編 MOVS指令
Assembly 邏輯指令
Assembly 系統(tǒng)調(diào)用

Assembly - 什么是匯編語言

匯編語言是什么

每個(gè)計(jì)算機(jī)的微處理器管理計(jì)算機(jī)的算術(shù),邏輯和控制活動(dòng)。

每種處理器都有自己的一套處理的各種操作,如獲得從鍵盤輸入,在屏幕上顯示信息,并執(zhí)行各種其他工作的指令。這些指令被稱為“機(jī)器語言指令。

處理器只理解的機(jī)器語言指令串1和0。然而,在軟件開發(fā)中使用的機(jī)器語言太含糊和復(fù)雜。因此,具有低的電平的匯編語言中符號(hào)代碼和更容易理解的形式,表示各種指令的一個(gè)特定的系列處理器設(shè)計(jì)的。

匯編語言的優(yōu)點(diǎn)

匯編語言的理解提供知識(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硬件的基本特點(diǎn)

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

二進(jìn)制數(shù)字系統(tǒng)

每一個(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)

十六進(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)制算術(shù)

下表說明了二進(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位溢出丟失。

尋址內(nèi)存中的數(shù)據(jù)

處理器控制指令的執(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。

Data at memory

x: 內(nèi)存地址

當(dāng)處理器從存儲(chǔ)器到寄存器的數(shù)值數(shù)據(jù),它再次逆轉(zhuǎn)字節(jié)。有兩種類型的內(nèi)存地址:

  • 絕對(duì)地址的具體位置 - 直接引用。

  • 段地址(或偏移) - 內(nèi)存段的起始地址的偏移值