2信息表示解析_第1頁(yè)
2信息表示解析_第2頁(yè)
2信息表示解析_第3頁(yè)
2信息表示解析_第4頁(yè)
2信息表示解析_第5頁(yè)
已閱讀5頁(yè),還剩79頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第二章第二章 計(jì)算機(jī)中的信息表示計(jì)算機(jī)中的信息表示 數(shù)據(jù)信息數(shù)據(jù)信息控制信息控制信息數(shù)值型數(shù)據(jù)數(shù)值型數(shù)據(jù)非數(shù)值型數(shù)據(jù)非數(shù)值型數(shù)據(jù)指令信息等指令信息等 第一節(jié)第一節(jié) 數(shù)據(jù)信息的表示數(shù)據(jù)信息的表示 2.1.1 表示數(shù)據(jù)的大小表示數(shù)據(jù)的大小二進(jìn)制、八進(jìn)制、十六進(jìn)制、二二進(jìn)制、八進(jìn)制、十六進(jìn)制、二-十進(jìn)制十進(jìn)制2.1.2 表示數(shù)據(jù)的符號(hào)表示數(shù)據(jù)的符號(hào)原碼、補(bǔ)碼、反碼原碼、補(bǔ)碼、反碼2.1.3 表示小數(shù)點(diǎn)表示小數(shù)點(diǎn)定點(diǎn)、浮點(diǎn)定點(diǎn)、浮點(diǎn)2.1.1 進(jìn)位制與數(shù)制轉(zhuǎn)換u進(jìn)位制是指用一組固定的符號(hào)和統(tǒng)一的規(guī)則來表示數(shù)值大小的一種計(jì)數(shù)方法 。u幾個(gè)概念 一組數(shù)碼用來表示某種進(jìn)制的符號(hào) 基數(shù)數(shù)制所用的數(shù)碼個(gè)數(shù) 位權(quán)

2、表示不同位置上的權(quán)值u進(jìn)位計(jì)數(shù)制十進(jìn)制 二進(jìn)制 八進(jìn)制 十六進(jìn)制2.1.1 進(jìn)位制與數(shù)制轉(zhuǎn)換u1. 進(jìn)位計(jì)數(shù)制u(1)十進(jìn)制必須有10個(gè)有序數(shù)字符號(hào):0、1、2、3、4、5、6、7、8、9和一個(gè)小數(shù)點(diǎn)符號(hào)“.”;遵循做加法時(shí)“逢十進(jìn)一” ,做減法時(shí)“借一當(dāng)十”的計(jì)數(shù)規(guī)則;任何一個(gè)十進(jìn)制數(shù)都可以表示成以10為底的冪的多項(xiàng)式。1221100112211102101211010)10()10()10( )10()10()10()10().()(nmiiimmnnnnmnnKKKKKKKKKKKKKKKN2.1.1 進(jìn)位制與數(shù)制轉(zhuǎn)換u基數(shù)為R的進(jìn)位計(jì)數(shù)制的特點(diǎn):必須有R個(gè)有序數(shù)字符號(hào):0、1、2、R-

3、1和一個(gè)小數(shù)點(diǎn)符號(hào)“.”;遵循做加法時(shí)“逢R進(jìn)一” ,做減法時(shí)“借一當(dāng)R”的計(jì)數(shù)規(guī)則;任何一個(gè)R進(jìn)制數(shù)N都可以表示為:1221100112211210121)()()( )()()()().()(nmiiimmnnnnRmnnRRKRKRKRKRKRKRKRKKKKKKKKN2.1.1 進(jìn)位制與數(shù)制轉(zhuǎn)換u(2)二進(jìn)制二進(jìn)制的數(shù)碼符號(hào)有兩個(gè)0和1,基數(shù)為2,運(yùn)算規(guī)則為“逢二進(jìn)一,借一當(dāng)二”,權(quán)為2n 。任意一個(gè)二進(jìn)制數(shù)N可以表示為:優(yōu)點(diǎn):表示簡(jiǎn)單可靠,所用元器件少,且存儲(chǔ)傳輸二進(jìn)制數(shù)方便。運(yùn)算規(guī)則簡(jiǎn)單,電路容易實(shí)現(xiàn)和控制。 1221012122).()(nmiiimnnKKKKKKKKN2.1.

4、1 進(jìn)位制與數(shù)制轉(zhuǎn)換u(3) 八進(jìn)制具有8個(gè)不同的數(shù)字符號(hào)0、1、2、3、4、5、6、7,基數(shù)為8,運(yùn)算規(guī)則為“逢八進(jìn)一,借一當(dāng)八” ,權(quán)為8n。任意一個(gè)八進(jìn)制數(shù)N可以表示為:u(4) 十六進(jìn)制具有16個(gè)不同的數(shù)字符號(hào)0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,基數(shù)為16,運(yùn)算規(guī)則為“逢十六進(jìn)一,借一當(dāng)十六” ,權(quán)為16n 1821012188).()(nmiiimnnKKKKKKKKN1162101211616).()(nmiiimnnKKKKKKKKN2.1.1 進(jìn)位制與數(shù)制轉(zhuǎn)換u2. 數(shù)制轉(zhuǎn)換(1) R進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)按權(quán)展開法:將任意一個(gè)R進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)時(shí)

5、,求出每一位數(shù)字與其位權(quán)的乘積之和,即可得到相應(yīng)的十進(jìn)制數(shù)。mmnnnnRmnnRKRKRKRKRKRKRKKKKKKKK)()()()()()()().(2211001122112101212.1.1 進(jìn)位制與數(shù)制轉(zhuǎn)換(2) 十進(jìn)制轉(zhuǎn)換為R進(jìn)制整數(shù)部分:除基取余用十進(jìn)制整數(shù)除以基數(shù)R取余數(shù),直到商為0,得到的余數(shù)從右向左排列即可得到R進(jìn)制整數(shù)部分各位的數(shù)碼。小數(shù)部分:乘基取整用十進(jìn)制小數(shù)乘以基數(shù)R取整數(shù),直到小數(shù)部分為0或滿足精度要求為止,得到的整數(shù)從左向右排列即可得到R進(jìn)制小數(shù)部分各位的數(shù)碼。對(duì)于既有整數(shù)又有小數(shù)的十進(jìn)制數(shù),可以先將整數(shù)和小數(shù)分別進(jìn)行轉(zhuǎn)換,然后再合并得到所要結(jié)果。 2.1.

6、1 進(jìn)位制與數(shù)制轉(zhuǎn)換u【例】將(29. 25)10轉(zhuǎn)換成二進(jìn)制數(shù) 。解: 整數(shù)部分:除2取余,將29反復(fù)除以2,直到商為0為止,然后從后往前寫出所得余數(shù)。小數(shù)部分:乘2取整,將0.75連續(xù)乘以2,選取進(jìn)位整數(shù),直到乘積為0或滿足精度為止,然后從前往后寫出所選取的整數(shù)。所以,(29. 25)10=(11101.01)22.1.1 進(jìn)位制與數(shù)制轉(zhuǎn)換u(3)二八進(jìn)制轉(zhuǎn)換 二進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制數(shù)從小數(shù)點(diǎn)開始,將二進(jìn)制數(shù)整數(shù)部分從右向左3位一組,小數(shù)部分從左向右3為一組進(jìn)行劃分,最后一組若不足3位則用0補(bǔ)足,然后寫出每組對(duì)應(yīng)的八進(jìn)制字符,即可得到對(duì)應(yīng)的八進(jìn)制數(shù)?!纠繉?1110100110.1011)

7、2轉(zhuǎn)換為八進(jìn)制數(shù) 。解:2.1.1 進(jìn)位制與數(shù)制轉(zhuǎn)換八進(jìn)制轉(zhuǎn)換為二進(jìn)制以小數(shù)點(diǎn)為界,將每位八進(jìn)制數(shù)用相應(yīng)的3位二進(jìn)制數(shù)代替,然后將其連在一起即可得到對(duì)應(yīng)的二進(jìn)制數(shù)?!纠繉?5321.46)8轉(zhuǎn)換為二進(jìn)制數(shù) 。所以,(5321.46)8=(101 011 010 001.100 110)22.1.1 進(jìn)位制與數(shù)制轉(zhuǎn)換u(4)二十六進(jìn)制轉(zhuǎn)換 二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù)從小數(shù)點(diǎn)開始,將二進(jìn)制數(shù)整數(shù)部分從右向左4位一組,小數(shù)部分從左向右4為一組進(jìn)行劃分,最后一組若不足4位則用0補(bǔ)足,然后寫出每組對(duì)應(yīng)的十六進(jìn)制字符,即可得到對(duì)應(yīng)的十六進(jìn)制數(shù)?!纠繉?1110100110.1011)2轉(zhuǎn)換為十六進(jìn)制數(shù)。

8、 解:2.1.1 進(jìn)位制與數(shù)制轉(zhuǎn)換十六進(jìn)制轉(zhuǎn)換為二進(jìn)制以小數(shù)點(diǎn)為界,將每位十六進(jìn)制數(shù)用相應(yīng)的4位二進(jìn)制數(shù)代替,然后將其連在一起即可得到對(duì)應(yīng)的十六進(jìn)制數(shù)?!纠繉?5B21.4F)16轉(zhuǎn)換為二進(jìn)制數(shù)。 解:所以,(5B21.4F)16=(0101 1011 0010 0001.0100 1111)2 BCD碼u例: (156)10=(0001 0101 0110)BCD2.1.1 進(jìn)位制與數(shù)制轉(zhuǎn)換u(5) 八十六進(jìn)制轉(zhuǎn)換以二進(jìn)制為橋梁!八進(jìn)制轉(zhuǎn)換為十六進(jìn)制時(shí),先將八進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù),再將得到的二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù);反之,十六進(jìn)制向八進(jìn)制轉(zhuǎn)換時(shí),先將十六進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù),再將得到的二進(jìn)

9、制數(shù)轉(zhuǎn)換為八進(jìn)制數(shù)。2.1.2 帶符號(hào)數(shù)的表示機(jī)器數(shù)在機(jī)器內(nèi)使用的,連同正、負(fù)號(hào)一起數(shù)字化的數(shù)。u1. 原碼數(shù)值位用絕對(duì)值表示;符號(hào)位用“0”表示正號(hào),用“1”表示負(fù)號(hào)。換句話說,即數(shù)字化的符號(hào)位加上數(shù)的絕對(duì)值。 定點(diǎn)小數(shù)的原碼定義定點(diǎn)整數(shù)的原碼定義2.1.2 帶符號(hào)數(shù)的表示u原碼特點(diǎn):最高位為符號(hào)位,正數(shù)為0,負(fù)數(shù)為1,數(shù)值位與真值一樣,保持不變。“0”的原碼表示有兩種不同的表示形式,以整數(shù)(8位)為例:+0原=00000000, -0原=10000000容易理解,與代數(shù)中正負(fù)數(shù)的表示接近,原碼乘除運(yùn)算比較方便,但是加減運(yùn)算規(guī)則復(fù)雜。2.1.2 帶符號(hào)數(shù)的表示u2. 反碼符號(hào)位用“0”表示正

10、號(hào),用“1”表示負(fù)號(hào);正數(shù)的反碼數(shù)值位與真值的數(shù)值位相同,負(fù)數(shù)的反碼數(shù)值位是將真值各位按位取反(“0”變成“1”,“1”變成“0”)得到。 定點(diǎn)小數(shù)反碼定義:定點(diǎn)整數(shù)反碼定義:2.1.2 帶符號(hào)數(shù)的表示u3. 補(bǔ)碼 符號(hào)位用“0”表示正號(hào),用“1”表示負(fù)號(hào);正數(shù)補(bǔ)碼的數(shù)值位與真值的數(shù)值位相同,負(fù)數(shù)補(bǔ)碼的數(shù)值位將真值各位按位取反后,最低位加1得到。 定點(diǎn)小數(shù)補(bǔ)碼定義:定點(diǎn)整數(shù)補(bǔ)碼定義:2.1.3 數(shù)的定點(diǎn)表示與浮點(diǎn)表示u1. 定點(diǎn)表示法定點(diǎn)數(shù)數(shù)的小數(shù)點(diǎn)位置固定不變。一般地,小數(shù)點(diǎn)的位置只有兩種約定:一種約定小數(shù)點(diǎn)位置在符號(hào)位之后、有效數(shù)值部分最高位之前,即定點(diǎn)小數(shù);另一種約定小數(shù)點(diǎn)位置在有效數(shù)值

11、部分最低位之后,即定點(diǎn)整數(shù)。 2.1.3 數(shù)的定點(diǎn)表示與浮點(diǎn)表示u注意:不管是定點(diǎn)小數(shù)還是定點(diǎn)整數(shù),計(jì)算機(jī)所處理的數(shù)必須在該定點(diǎn)數(shù)所能表示的范圍之內(nèi),否則會(huì)發(fā)生溢出。若數(shù)據(jù)小于定點(diǎn)數(shù)所能表示的最小值時(shí),計(jì)算機(jī)將其作“0”處理,稱為下溢。若數(shù)據(jù)大于定點(diǎn)數(shù)能表示的最大值時(shí),計(jì)算機(jī)將無法表示,稱為上溢。將上溢和下溢統(tǒng)稱為溢出。2.1.3 數(shù)的定點(diǎn)表示與浮點(diǎn)表示u2. 浮點(diǎn)數(shù)表示浮點(diǎn)數(shù)數(shù)的小數(shù)點(diǎn)位置不固定。 二進(jìn)制所表示的浮點(diǎn)數(shù)的一般形式:M=S2P,其中純小數(shù)S是數(shù)M的尾數(shù),表示數(shù)的精度;整數(shù)P是數(shù)M的階碼,確定了小數(shù)點(diǎn)的位置,表示數(shù)的范圍; 2P為比例因子。 2.1.3 數(shù)的定點(diǎn)表示與浮點(diǎn)表示u計(jì)

12、算機(jī)中浮點(diǎn)數(shù)的格式 如下:其中,ES為階碼的符號(hào)位,表示階的正負(fù);MS為尾數(shù)的符號(hào)位,表示階的正負(fù)。E1 E2 E3 EmMSM1 M2 M3 Mn階符尾數(shù)尾符ES階碼2.1.3 數(shù)的定點(diǎn)表示與浮點(diǎn)表示uPentium處理器三種類型浮點(diǎn)數(shù)格式 :參數(shù) 單精度浮點(diǎn)數(shù) 雙精度浮點(diǎn)數(shù) 擴(kuò)充精度浮點(diǎn)數(shù) 浮點(diǎn)數(shù)長(zhǎng)度(字長(zhǎng)) 32 64 80 尾數(shù)長(zhǎng)度P 23 52 64 符號(hào)位S位數(shù) 1 1 1 指數(shù)E長(zhǎng)度 8 11 15 最大指數(shù) +127 +1023 +16383 最小指數(shù) -126 -1022 -16382 2.1.4 非數(shù)值型數(shù)據(jù)的表示u1. 邏輯數(shù)據(jù)可用一位二進(jìn)制數(shù)表示事物的兩個(gè)對(duì)立面,若用“

13、1”表示事物成立,則“0”表示不成立 。邏輯數(shù)據(jù):如“0”和“1”,“真”和“假”,“是”和“否” 等。注意,邏輯數(shù)據(jù)“0”和“1”是邏輯概念,表達(dá)的是事物的邏輯關(guān)系,沒有數(shù)值的大小之分。2.1.4 非數(shù)值型數(shù)據(jù)的表示u2. 字符編碼國(guó)際上通用的ASCII碼是7位版本,即用7位二進(jìn)制碼表示,共有128(27=128)個(gè)字符,其中有32個(gè)控制字符, 10個(gè)阿拉伯?dāng)?shù)字,52個(gè)大小寫英文字母, 32個(gè)各種標(biāo)點(diǎn)符號(hào)和運(yùn)算符號(hào)。 ASCII碼字符表見課本表2-5 。2.1.4 非數(shù)值型數(shù)據(jù)的表示2. 漢字編碼(2)漢字輸入碼直接從輸入設(shè)備輸入的各種漢字輸入方法的編碼。漢字輸入法大體可以分為以下幾種: u

14、流水碼:如區(qū)位碼、電報(bào)碼、通信密碼,優(yōu)點(diǎn)是重碼少,缺點(diǎn)是難于記憶; u音碼:以漢語拼音為基準(zhǔn)輸入漢字,優(yōu)點(diǎn)是容易掌握,但重碼率高; u形碼:根據(jù)漢字的字型進(jìn)行編碼,優(yōu)點(diǎn)是重碼少,但不容易掌握; u音形碼:將音碼和形碼結(jié)合起來,能減少重碼率,并提高漢字輸入速度。 2.1.4 非數(shù)值型數(shù)據(jù)的表示(1)漢字內(nèi)碼漢字機(jī)內(nèi)碼是漢字存儲(chǔ)在計(jì)算機(jī)內(nèi)的編碼。漢字機(jī)內(nèi)碼、國(guó)標(biāo)碼和區(qū)位碼3者之間的關(guān)系為:區(qū)位碼(十進(jìn)制數(shù))的兩個(gè)字節(jié)分別轉(zhuǎn)換為十六進(jìn)制數(shù)后加20H得到對(duì)應(yīng)的國(guó)標(biāo)碼;國(guó)標(biāo)碼的兩個(gè)字節(jié)的最高位置1,即漢字交換碼(國(guó)標(biāo)碼)的兩個(gè)字節(jié)分別加80H即可得到對(duì)應(yīng)的機(jī)內(nèi)碼;區(qū)位碼(十進(jìn)制數(shù))的兩個(gè)字節(jié)分別轉(zhuǎn)換為十

15、六進(jìn)制數(shù)后加A0H得到對(duì)應(yīng)的機(jī)內(nèi)碼。u(3)漢字字模碼漢字字形碼是以點(diǎn)陣方式表示漢字,將漢字分解為若干個(gè)“點(diǎn)”組成的點(diǎn)陣字形。 每個(gè)點(diǎn)在存儲(chǔ)器中用一位二進(jìn)制數(shù)存儲(chǔ),則對(duì)于nn點(diǎn)陣,一個(gè)漢字所需要的存儲(chǔ)空間為nn/8個(gè)字節(jié)。 如一個(gè)1616點(diǎn)陣漢字需要32個(gè)字節(jié)的存儲(chǔ)空間,一個(gè)2424點(diǎn)陣漢字需要72個(gè)字節(jié)的存儲(chǔ)空間。 第二節(jié)第二節(jié) 指令信息的表示指令信息的表示 指令:指示計(jì)算機(jī)執(zhí)行某類操作的信息的集合。指令:指示計(jì)算機(jī)執(zhí)行某類操作的信息的集合。本節(jié)主要討論:一般本節(jié)主要討論:一般指令格式指令格式 常用常用尋址方式尋址方式 面向用戶面向用戶指令類型指令類型2.2.1 指令格式指令格式指令基本格式

16、指令基本格式操作碼操作碼 地址碼地址碼 D D一個(gè)一個(gè)一個(gè)或幾個(gè)一個(gè)或幾個(gè)MOV AX,SIADD AX,AX;a*2MOV DX,AXADD AX,AX;a*4ADD AX,AX;a*8ADD AX,DX;a*8 + a*2ADD AX,DI ;a*10+b1. 指令字長(zhǎng)指令字長(zhǎng)定長(zhǎng)指令格式定長(zhǎng)指令格式變長(zhǎng)指令格式變長(zhǎng)指令格式便于控制便于控制(1) 定長(zhǎng)操作碼定長(zhǎng)操作碼各指令各指令的位置、位數(shù)固定相同。的位置、位數(shù)固定相同。(2 2)擴(kuò)展操作碼)擴(kuò)展操作碼各指令各指令的位置、位數(shù)不固定,根據(jù)需要的位置、位數(shù)不固定,根據(jù)需要變化。變化。合理利用存儲(chǔ)空間合理利用存儲(chǔ)空間2. 操作碼結(jié)構(gòu)操作碼結(jié)構(gòu)

17、例例. 指令字長(zhǎng)指令字長(zhǎng)16位,可含有位,可含有3 3、2 2、1 1或或0 0個(gè)地址,每個(gè)地址占個(gè)地址,每個(gè)地址占4 4位。位。操作碼操作碼 地址碼地址碼 15 12 11 8 7 4 3 00000 0000 X X Y Y Z Z 1110 1110 X X Y Y Z Z.11111111 0000 0000 Y ZY Z 1111 1111 1110 1110 Y ZY Z.三地址指令三地址指令 1515條條二地址指令二地址指令 1515條條11111111 11111111 0000 0000 Z Z 1111 11111111 1111 1110 1110 Z Z.一地址指令一地

18、址指令 1515條條11111111 11111111 11111111 0000 0000 1111 11111111 1111 11111111 1111 1111.零地址指令零地址指令 1616條條 指令的尋址方式 指令尋址找出下一條將要執(zhí)行的指令在存儲(chǔ)器中的地址。 u1. 順序?qū)ぶ贩绞酱鎯?chǔ)器指令n指令n+1指令n+2指令n+m指令寄存器PC+1nn+1指令的尋址方式u2. 跳躍尋址方式采用指令跳躍尋址方式,可以實(shí)現(xiàn)程序轉(zhuǎn)移或構(gòu)成循環(huán)程序,從而能縮短程序長(zhǎng)度,或?qū)⒛承┏绦蜃鳛楣渤绦蛞谩?存儲(chǔ)器指令n轉(zhuǎn)移地址(m)指令n+1指令m指令寄存器PC+1nm3. 地址結(jié)構(gòu)地址結(jié)構(gòu)指令中提供的

19、地址數(shù)指令中提供的地址數(shù)存儲(chǔ)單元地址碼存儲(chǔ)單元地址碼寄存器編號(hào)寄存器編號(hào)(1)指令提供地址的方式)指令提供地址的方式顯地址方式顯地址方式隱地址方式隱地址方式:指令中明顯指明地址。指令中明顯指明地址。:地址隱含約定地址隱含約定,不出現(xiàn)在指令中。不出現(xiàn)在指令中。直接或間接給出直接或間接給出使用使用隱地址隱地址可以減少指令中的地址數(shù),可以減少指令中的地址數(shù),簡(jiǎn)化簡(jiǎn)化地址結(jié)構(gòu)地址結(jié)構(gòu)。(2) 地址結(jié)構(gòu)的簡(jiǎn)化地址結(jié)構(gòu)的簡(jiǎn)化操作數(shù)操作數(shù)地址地址 四地址結(jié)構(gòu)指令四地址結(jié)構(gòu)指令格式:格式: D1 D2 D3 D4 D1 D2 D3 D4結(jié)果結(jié)果地址地址下條指下條指令地址令地址功能:功能: (D1)(D1)(D

20、2) D3(D2) D3(D4) (D4) 下條指令下條指令用指令計(jì)數(shù)器用指令計(jì)數(shù)器PCPC指示指令地址。指示指令地址。三地址結(jié)構(gòu)指令三地址結(jié)構(gòu)指令格式:格式:操作數(shù)操作數(shù)地址地址 D1 D2 D3 D1 D2 D3 結(jié)果結(jié)果地址地址下條指令地址下條指令地址功能:功能:轉(zhuǎn)移時(shí),用轉(zhuǎn)移轉(zhuǎn)移時(shí),用轉(zhuǎn)移地址修改地址修改PCPC內(nèi)容。內(nèi)容。(D1)(D1)(D2) D3(D2) D3(PC) + 1 PC(PC) + 1 PC源源/目的目的二地址結(jié)構(gòu)指令二地址結(jié)構(gòu)指令格式:格式: D1 D2 D1 D2 目的目的/源源功能:功能: (D1)(D1)(D2) D2/D1(D2) D2/D1(PC) +

21、1 PC(PC) + 1 PC雙操作數(shù):雙操作數(shù):一地址結(jié)構(gòu)指令一地址結(jié)構(gòu)指令格式:格式: D1 D1 隱含約定隱含約定單操作數(shù):?jiǎn)尾僮鲾?shù):功能:功能:零地址結(jié)構(gòu)指令零地址結(jié)構(gòu)指令格式:格式:(D1)(D1)(A) A(A) A(PC) + 1 PC(PC) + 1 PC(D1) D1(D1) D1(PC) + 1 PC(PC) + 1 PC 功能:功能:用于堆?;蛱厥庵噶畈僮鳌S糜诙褩;蛱厥庵噶畈僮鳌?.2.2 尋址方式尋址方式與數(shù)據(jù)有關(guān)的尋址方式與數(shù)據(jù)有關(guān)的尋址方式 確定內(nèi)存單元的地址確定內(nèi)存單元的地址與轉(zhuǎn)移地址有關(guān)的尋址方式與轉(zhuǎn)移地址有關(guān)的尋址方式 確定轉(zhuǎn)移地址確定轉(zhuǎn)移地址尋址方式尋址方

22、式 分類分類目的操作數(shù),目的操作數(shù),源操作數(shù)源操作數(shù)MOV以以MOV指令為例指令為例: u寄存器操作數(shù)寄存器操作數(shù)放在放在8個(gè)通用寄存器或個(gè)通用寄存器或4個(gè)段寄存器中的操作數(shù)個(gè)段寄存器中的操作數(shù)只能存放字操作數(shù)只能存放字操作數(shù)段寄存器存放段寄存器存放當(dāng)前操作數(shù)的當(dāng)前操作數(shù)的段基地址段基地址SIDIBPSPCSDSESSS(1)立即尋址方式立即尋址方式 (Immediate Addressing )特點(diǎn):特點(diǎn):操作數(shù)包含在指令中。操作數(shù)包含在指令中。 操作數(shù)是指令的組成部分(可以是操作數(shù)是指令的組成部分(可以是8 8位或位或1616位)位), ,取出指令就立即獲得取出指令就立即獲得操作數(shù)操作數(shù)立

23、即數(shù)立即數(shù)例例1: MOV AL, 5執(zhí)行指令后執(zhí)行指令后: (AL) = 05H指令指令05存儲(chǔ)器存儲(chǔ)器B005AL例例2: MOV AX, 3045H執(zhí)行指令后執(zhí)行指令后: (AX) = 3045H用途:用途:給變量或寄存器賦常量值給變量或寄存器賦常量值限制:限制:只能用于源操作數(shù)只能用于源操作數(shù)AX低地址低地址高地址高地址指指令令OP45存儲(chǔ)器存儲(chǔ)器304530(2)存儲(chǔ)器直接尋址方式)存儲(chǔ)器直接尋址方式 (Direct Addressing )特點(diǎn):特點(diǎn):操作數(shù)的偏移地址包含在指令中。操作數(shù)的偏移地址包含在指令中。例:設(shè)例:設(shè) ( DS ) = 3000H MOV AX, 2000H要

24、訪問的存儲(chǔ)單元物理地址為:要訪問的存儲(chǔ)單元物理地址為: 30000H+2000H=32000H設(shè)設(shè): (32000H)=3050H執(zhí)行指令后執(zhí)行指令后: (AX)=3050H指令指令 MOV AX, 2000H 2000H5030存儲(chǔ)器存儲(chǔ)器代碼段代碼段op0020數(shù)據(jù)段數(shù)據(jù)段30000H32000HAX3050用途用途: 用于存取用于存取單變量單變量中的操作數(shù)中的操作數(shù)。(3)寄存器尋址方式()寄存器尋址方式(Register Addressing )特點(diǎn):特點(diǎn):操作數(shù)存在寄存器中。操作數(shù)存在寄存器中。例:例: MOV AX, BX執(zhí)行指令前執(zhí)行指令前: (AX) = 3045H (BX)

25、= 4000H 執(zhí)行指令后執(zhí)行指令后: (AX) = 4000H (BX) = 4000H 用途:用途:用寄存器提供操作數(shù)時(shí)存取速度快。用寄存器提供操作數(shù)時(shí)存取速度快。 存儲(chǔ)單元號(hào)存儲(chǔ)單元號(hào)寄存器號(hào)寄存器號(hào)( (數(shù)在數(shù)在M M中中) )( (數(shù)在數(shù)在M M中中) )格式格式(3 3)間接尋址)間接尋址指令給出操作數(shù)的間接地址。指令給出操作數(shù)的間接地址。 存儲(chǔ)器間址存儲(chǔ)器間址操作碼操作碼 間接地址間接地址D D D=0030D=003000600060.00600060 S S.S =(D)S =(D) M間址單元間址單元地址指針地址指針 1000H1000HAXAX用途用途: : 可用于處理數(shù)

26、組可用于處理數(shù)組5050A0A0 A A0 0 5050存儲(chǔ)器存儲(chǔ)器數(shù)據(jù)段數(shù)據(jù)段20000H20000H21000H21000H XXXX XXXX21002H21002H例:設(shè)例:設(shè) ( DS ) = 2000H ( DS ) = 2000H ( BX ) = ( BX ) = 1000H1000H指令為指令為: : MOV AX, BX MOV AX, BX 數(shù)組起始地址數(shù)組起始地址 寄存器間接尋址方式寄存器間接尋址方式計(jì)算操作數(shù)物理地址的公式:計(jì)算操作數(shù)物理地址的公式:物理地址物理地址= =(DSDS) 16+16+(BX)(BX)(SI)(SI)(DI)(DI)20000H20000H

27、+ +1000H1000H = = 21000H21000H 要訪問的存儲(chǔ)單元要訪問的存儲(chǔ)單元物理地址物理地址為:為:設(shè)設(shè): (: (21000H21000H)=)=50A0H50A0H執(zhí)行指令后執(zhí)行指令后: (: (AXAX)=)=50A0H50A0H= =(SSSS) 16+16+(BPBP) 1000H1000HAXAX用途用途: : 可用于處理數(shù)組可用于處理數(shù)組5050A0A0 A A0 0 5050存儲(chǔ)器存儲(chǔ)器數(shù)據(jù)段數(shù)據(jù)段20000H20000H21000H21000H XXXX XXXX21002H21002H例:設(shè)例:設(shè) ( DS ) = 2000H ( DS ) = 2000H

28、 ARRAY = ARRAY = 1000H1000H指令為指令為: : MOV AX, MOV AX, ARRAY ARRAY 數(shù)組起始地址數(shù)組起始地址 存儲(chǔ)器間接尋址方式存儲(chǔ)器間接尋址方式20000H20000H+ + ARRAYARRAY = = 21000H21000H 要訪問的存儲(chǔ)單元要訪問的存儲(chǔ)單元物理地址物理地址為:為:設(shè)設(shè): (: (21000H21000H)=)=50A0H50A0H執(zhí)行指令后執(zhí)行指令后: (: (AXAX)=)=50A0H50A0H基址尋址和變址尋址方式基址尋址和變址尋址方式+ +指令中的位移量指令中的位移量 = = 操作數(shù)的偏移地址操作數(shù)的偏移地址計(jì)算操作

29、數(shù)物理地址的公式:計(jì)算操作數(shù)物理地址的公式:1) 1) 操作數(shù)物理地址操作數(shù)物理地址= =(DS)(DS) 16+16+2) 2) 操作數(shù)物理地址操作數(shù)物理地址= =(SS)(SS) 16+ (BP) +16+ (BP) +8 8位位移量位位移量1616位位移量位位移量+ +(SI)(SI)(DI)(DI)(BX)(BX)8 8位位移量位位移量1616位位移量位位移量基址寄存器(基址寄存器(BXBX、BPBP)變址寄存器(變址寄存器(SISI、DIDI)指令指令 4000H4000H30000H30000HAXAX12123434例:設(shè)例:設(shè) ( DS ) = 3000H ARRAY=( DS

30、 ) = 3000H ARRAY=4000H4000H ( SI ) = ( SI ) = 2000H2000H指令為指令為: : MOV AX, ARRAY SI MOV AX, ARRAY SI 3434 1212存儲(chǔ)器存儲(chǔ)器代碼段代碼段 opop 0000 4040數(shù)據(jù)段數(shù)據(jù)段36000H36000H opop 2000H2000H 數(shù)組起始地址數(shù)組起始地址30000H30000H+ +4000H4000H+2000H = +2000H = 36000H36000H 要訪問的存儲(chǔ)單元要訪問的存儲(chǔ)單元物理地址物理地址為:為:設(shè)設(shè): (: (36000H36000H)=)=1234H1234

31、H用途用途: : 可用于處理數(shù)組可用于處理數(shù)組執(zhí)行指令后執(zhí)行指令后: (: (AXAX)=)=1234H1234H指令指令 4000H4000H30000H30000HAXAX12123434例:設(shè)例:設(shè) ( DS ) = 3000H ARRAY=( DS ) = 3000H ARRAY=4000H4000H ( BX ) = ( BX ) = 2000H2000H指令為指令為: : MOV AX, ARRAY BX MOV AX, ARRAY BX 3434 1212存儲(chǔ)器存儲(chǔ)器代碼段代碼段 opop 0000 4040數(shù)據(jù)段數(shù)據(jù)段36000H36000H opop 2000H2000H 數(shù)

32、組起始地址數(shù)組起始地址30000H30000H+ +4000H4000H+2000H = +2000H = 36000H36000H 要訪問的存儲(chǔ)單元要訪問的存儲(chǔ)單元物理地址物理地址為:為:設(shè)設(shè): (: (36000H36000H)=)=1234H1234H用途用途: : 可用于處理數(shù)組可用于處理數(shù)組執(zhí)行指令后執(zhí)行指令后: (: (AXAX)=)=1234H1234H 基址變址尋址方式基址變址尋址方式特點(diǎn):特點(diǎn):( (基址寄存器基址寄存器) ) + + ( (變址寄存器變址寄存器) ) = = 操作數(shù)的偏移地址操作數(shù)的偏移地址計(jì)算操作數(shù)物理地址的公式:計(jì)算操作數(shù)物理地址的公式:1) 1) 操作

33、數(shù)物理地址操作數(shù)物理地址= =(DS)(DS) 16+16+2) 2) 操作數(shù)物理地址操作數(shù)物理地址= =( SS)( SS) 16+ (BP) +16+ (BP) +(BX) +(BX) +(SI)(SI)(DI)(DI)(SI)(SI)(DI)(DI) 0158H0158HAXAX12123434例:設(shè)例:設(shè) ( DS ) = 2100H( DS ) = 2100H( BX ) = ( BX ) = 0158H0158H( DI ) = ( DI ) = 1000H1000H指令為:指令為:MOV AX, BX+DIMOV AX, BX+DI 3434 1212存儲(chǔ)器存儲(chǔ)器數(shù)據(jù)段數(shù)據(jù)段21

34、000H21000H22158H22158H 1000H1000H 數(shù)組起始地址數(shù)組起始地址21000H21000H+ +0158H0158H+ +1000H1000H= = 22158H22158H 要訪問的存儲(chǔ)單元要訪問的存儲(chǔ)單元物理地址物理地址為:為:設(shè)設(shè): (: (22158H22158H)=)=1234H1234H執(zhí)行指令后執(zhí)行指令后: (: (AXAX)=)=1234H1234H用途用途: : 可用于處理數(shù)組可用于處理數(shù)組 假設(shè)已知假設(shè)已知(DS)=2900H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)= 0100H,(BP)=0010H,變量名,變

35、量名VAL的值為的值為0050H,試指出,試指出下列源操作數(shù)字段的尋址方式是什么?其物理地址值是多下列源操作數(shù)字段的尋址方式是什么?其物理地址值是多少?少? (1) MOV AX,0ABH (2) MOV AX,BX (3) MOV AX,100H (4) MOV AX,VAL (5) MOV AX,BX (6) MOV AX,SI (7) MOV AX,BX+10 (8) MOV AX,VALBX (9) MOV AX,BXSI 2.2.3 2.2.3 指令類型指令類型1.1.傳送指令傳送指令源地址源地址 目的地址目的地址數(shù)數(shù)設(shè)置時(shí)需考慮:設(shè)置時(shí)需考慮:(1 1)規(guī)定傳送范圍)規(guī)定傳送范圍例

36、例. DJS-100. DJS-100系列:系列: 8 80 0X86X86: IBM370 IBM370:R R M MR R M M,R R R RR R M M,R R R R,M M M M(2 2)指明傳送單位)指明傳送單位例例. . 用操作碼說明用操作碼說明(VAX-11)(VAX-11):用地址量說明用地址量說明(8(80 0X86)X86):傳送次數(shù)由傳送次數(shù)由計(jì)數(shù)器控制計(jì)數(shù)器控制MOVMOVB B 8 8MOV MOV AXAX,BXBX MOVMOVW W 1616MOVMOVL L 3232MOV MOV ALAL,BLBL MOV MOV EAXEAX,EBXEBX 例

37、例. 80X86. 80X86的串傳送指令:的串傳送指令:REPREP MOVSWMOVSW(3 3)設(shè)置尋址方式)設(shè)置尋址方式在尋址方式的設(shè)置上幾乎不受限制,能比較在尋址方式的設(shè)置上幾乎不受限制,能比較集中地反映指令系統(tǒng)各種尋址方式的實(shí)現(xiàn)。集中地反映指令系統(tǒng)各種尋址方式的實(shí)現(xiàn)。8 8161632322.2.輸入輸入/ /輸出指令輸出指令各種信息各種信息主機(jī)主機(jī) 外設(shè)外設(shè)設(shè)置時(shí)需考慮:設(shè)置時(shí)需考慮:(1 1)I/OI/O指令的功能擴(kuò)展指令的功能擴(kuò)展如何用通用如何用通用I/OI/O指令實(shí)現(xiàn)對(duì)各種具體設(shè)備的控制?指令實(shí)現(xiàn)對(duì)各種具體設(shè)備的控制? I/O I/O指令中留有擴(kuò)展余地指令中留有擴(kuò)展余地指令

38、中某些字段編碼事先不定義,需要時(shí)再約定指令中某些字段編碼事先不定義,需要時(shí)再約定其含義。其含義。 I/O I/O接口中設(shè)置控制接口中設(shè)置控制/ /狀態(tài)寄存器狀態(tài)寄存器用于外設(shè)種類、數(shù)量不多的場(chǎng)合。用于外設(shè)種類、數(shù)量不多的場(chǎng)合。(2 2)主機(jī)對(duì)外設(shè)的尋址方式)主機(jī)對(duì)外設(shè)的尋址方式如何設(shè)置控制如何設(shè)置控制/ /狀態(tài)寄存器是接口設(shè)計(jì)的關(guān)鍵。狀態(tài)寄存器是接口設(shè)計(jì)的關(guān)鍵。尋找尋找I/OI/O接口中的寄存器的方式。接口中的寄存器的方式。主機(jī)用主機(jī)用輸出指令輸出指令或或傳送指令傳送指令將具體設(shè)備的控制命令將具體設(shè)備的控制命令按約定的代碼格式送往接口中的按約定的代碼格式送往接口中的控制寄存器控制寄存器,向外,

39、向外設(shè)發(fā)出命令。設(shè)發(fā)出命令。外設(shè)的狀態(tài)信息也以某種格式放在接口的狀態(tài)寄存外設(shè)的狀態(tài)信息也以某種格式放在接口的狀態(tài)寄存器中,主機(jī)用器中,主機(jī)用輸入指令輸入指令或或傳送指令傳送指令從從狀態(tài)寄存器狀態(tài)寄存器中中取出有關(guān)信息進(jìn)行查詢、分析。取出有關(guān)信息進(jìn)行查詢、分析。I/OI/O端口端口尋找尋找I/OI/O接口中的寄存器接口中的寄存器的方式。的方式。如何為如何為I/OI/O端口分配地址?端口分配地址? 單獨(dú)編址單獨(dú)編址I/OI/O地址空間不占主存空間,可與主存空間重疊。地址空間不占主存空間,可與主存空間重疊。=1 =1 訪問存儲(chǔ)器訪問存儲(chǔ)器=0 =0 訪問訪問I/OI/O端口端口需設(shè)置標(biāo)志區(qū)分訪問對(duì)象

40、,如需設(shè)置標(biāo)志區(qū)分訪問對(duì)象,如編址到寄存器編址到寄存器:為每個(gè)寄存器:為每個(gè)寄存器(I/O(I/O端口端口) )分配獨(dú)分配獨(dú) 立的端口地址;立的端口地址; I/OI/O指令中給出端口地址。指令中給出端口地址。M/IOM/IO 統(tǒng)一編址統(tǒng)一編址I/OI/O端口占據(jù)部分主存空間。端口占據(jù)部分主存空間。常將存儲(chǔ)空間的低端分配給主存單元,高端分配常將存儲(chǔ)空間的低端分配給主存單元,高端分配給給I/OI/O端口,以示區(qū)分。端口,以示區(qū)分。編址到寄存器編址到寄存器 設(shè)置設(shè)置專用專用I/OI/O指令指令針對(duì)單獨(dú)編址,用針對(duì)單獨(dú)編址,用I/OI/O指令訪問指令訪問I/OI/O端口。端口。指令中說明輸入指令中說明

41、輸入/ /輸出操作,并給出端口地址。輸出操作,并給出端口地址。 :為每個(gè)寄存器:為每個(gè)寄存器(I/O(I/O端口端口) )分配總分配總 線地址;線地址; 訪問外設(shè)時(shí),指令中給出總線地址。訪問外設(shè)時(shí),指令中給出總線地址。(3 3)I/OI/O指令設(shè)置方式指令設(shè)置方式顯式顯式I/OI/O指令指令例例. 80X86I/O. 80X86I/O指令設(shè)置指令設(shè)置 輸入:輸入:IN ALIN AL,n n;端口地址端口地址(n) AL(n) AL( (直接端口尋址直接端口尋址) ) IN ALIN AL,DXDX;間接端口地址間接端口地址(DX) AL(DX) AL( (間接端口尋址間接端口尋址) ) 輸出

42、:輸出:OUT nOUT n,ALAL;(AL) n(AL) n( (直接端口尋址直接端口尋址) ) OUT DXOUT DX,ALAL;(AL) (DX)(AL) (DX)( (間接端口尋址間接端口尋址) )主機(jī)調(diào)用輸入機(jī):主機(jī)調(diào)用輸入機(jī): 用用傳送指令傳送指令實(shí)現(xiàn)實(shí)現(xiàn)I/OI/O操作操作針對(duì)統(tǒng)一編址,用傳送指令訪問針對(duì)統(tǒng)一編址,用傳送指令訪問I/OI/O端口。端口。不設(shè)專用不設(shè)專用I/OI/O指令。指令。例例. . 某機(jī)某機(jī)I/OI/O接口中設(shè)置接口中設(shè)置控制控制/ /狀態(tài)寄存器狀態(tài)寄存器CSRCSR, ,其總線地址為其總線地址為177550177550(8(8進(jìn)制進(jìn)制) )數(shù)據(jù)緩沖寄存器

43、數(shù)據(jù)緩沖寄存器DBRDBR,其總線地址為,其總線地址為177552177552隱式隱式I/OI/O指令指令控制控制/ /狀態(tài)字格式:狀態(tài)字格式:出錯(cuò)出錯(cuò) 故障故障 忙忙 完成完成 允許中斷允許中斷 維護(hù)維護(hù) 校驗(yàn)校驗(yàn) 啟動(dòng)啟動(dòng)15 14 12 7 6 2 1 015 14 12 7 6 2 1 0啟動(dòng):?jiǎn)?dòng):測(cè)試:測(cè)試:取數(shù):取數(shù):主機(jī)主機(jī) 177550177550控制字控制字( (啟動(dòng)位為啟動(dòng)位為1)1)傳送指令傳送指令主機(jī)主機(jī) 177550177550 狀態(tài)字狀態(tài)字傳送指令傳送指令主機(jī)主機(jī) 177552177552 數(shù)據(jù)數(shù)據(jù)傳送指令傳送指令 通過通過I/OI/O處理機(jī)進(jìn)行處理機(jī)進(jìn)行I/OI

44、/O操作操作CPUCPU執(zhí)行簡(jiǎn)單執(zhí)行簡(jiǎn)單I/OI/O指令指令 ( (啟動(dòng)、停止、查詢、清除啟動(dòng)、停止、查詢、清除) )設(shè)置時(shí)需考慮設(shè)置時(shí)需考慮操作數(shù)類型操作數(shù)類型、符號(hào)符號(hào)、進(jìn)制進(jìn)制等;等;運(yùn)算結(jié)束后設(shè)置相應(yīng)運(yùn)算結(jié)束后設(shè)置相應(yīng)狀態(tài)標(biāo)志狀態(tài)標(biāo)志。兩級(jí)兩級(jí)I/OI/O指令指令(1 1)算術(shù)運(yùn)算指令)算術(shù)運(yùn)算指令I(lǐng)/OI/O處理機(jī)執(zhí)行處理機(jī)執(zhí)行I/OI/O操作指令操作指令 ( (輸入、輸出輸入、輸出) )3.3.算術(shù)邏輯運(yùn)算指令算術(shù)邏輯運(yùn)算指令(2 2)邏輯運(yùn)算指令)邏輯運(yùn)算指令實(shí)現(xiàn)對(duì)代碼位的實(shí)現(xiàn)對(duì)代碼位的設(shè)置設(shè)置、測(cè)試測(cè)試、清除清除、修改修改等。等。與與或或異或異或邏輯運(yùn)算和移位指令邏輯運(yùn)算和移位

45、指令 位操作指令可以體現(xiàn)匯編語言對(duì)硬件的控制能力。位操作指令可以體現(xiàn)匯編語言對(duì)硬件的控制能力。(1)邏輯運(yùn)算指令邏輯運(yùn)算指令 按位進(jìn)行邏輯與、或、異或、非運(yùn)算的操作。按位進(jìn)行邏輯與、或、異或、非運(yùn)算的操作。 1) 邏輯與指令邏輯與指令A(yù)ND ANDdst,src (dst)(dst)(src) 2) 邏輯或指令邏輯或指令OR ORdst,src (dst)(dst)(src) (dst)(dst) (src) 3)異或指令異或指令XOR XOR dst,src 4)邏輯非指令邏輯非指令NOTNOTopr (opr)(opr)求反)求反 源操作數(shù)源操作數(shù)1 保留原值保留原值 0 置置0特點(diǎn):特點(diǎn)

46、: 1010 0 011 目的操作數(shù)目的操作數(shù)源操作數(shù)源操作數(shù)(1)邏輯與操作邏輯與操作保留保留清清00010 何時(shí)該用何種邏輯操作?何時(shí)該用何種邏輯操作?邏輯運(yùn)算和移位指令邏輯運(yùn)算和移位指令 源操作數(shù)源操作數(shù)1 置置1 0 保留原值保留原值特點(diǎn):特點(diǎn): 1010 0 011 目的操作數(shù)目的操作數(shù)源操作數(shù)源操作數(shù)(2)邏輯或操作邏輯或操作置置1保留保留1011 源操作數(shù)源操作數(shù)1 取反取反 0 保留原值保留原值特點(diǎn):特點(diǎn): 1010 0011 目的操作數(shù)目的操作數(shù)源操作數(shù)源操作數(shù)(3)異或操作異或操作求反求反保留保留1001邏輯運(yùn)算和移位指令邏輯運(yùn)算和移位指令 如何確定源操作數(shù)?如何確定源操作

47、數(shù)? 例:例:將將AL的的D0位和位和D1位清位清0。 設(shè)(設(shè)(AL)= BFH,指令為,指令為ANDAL, ?分析:分析:1011 1111B 1111 1100B (FCH)1011 1100B應(yīng)將源操作數(shù)取為立即數(shù)應(yīng)將源操作數(shù)取為立即數(shù)FCH,指令為:,指令為: AND AL,0FCH 執(zhí)行指令后:執(zhí)行指令后: (AL)=BCH 根據(jù)上述操作的特點(diǎn),可以確定該用什么操作實(shí)現(xiàn)需要的功能根據(jù)上述操作的特點(diǎn),可以確定該用什么操作實(shí)現(xiàn)需要的功能: 保留某些位保留某些位(其他位清(其他位清0 0)用邏輯與操作)用邏輯與操作 某位置某位置1 1 用邏輯或操作,用邏輯或操作,某位求反某位求反用異或操作

48、用異或操作 邏輯運(yùn)算和移位指令邏輯運(yùn)算和移位指令 例:例:將將AL中中的的大寫字母大寫字母(AL) )= 41H 轉(zhuǎn)換為小寫字母轉(zhuǎn)換為小寫字母即即 41H 61H指令為:指令為: OR AL, ?分析:分析: 0100 0001B (41H) 0010 0000B (20H)20H執(zhí)行指令后:執(zhí)行指令后: (AL)=61H小寫轉(zhuǎn)換為大寫的指令為:小寫轉(zhuǎn)換為大寫的指令為: AND AL, ?0DFH 110 1 1111B (DFH)執(zhí)行指令后:執(zhí)行指令后: (AL)=41H 0110 0001B (61H) 0100 0001B (41H) 根據(jù)需要的功能,先確定根據(jù)需要的功能,先確定邏輯運(yùn)算

49、指令邏輯運(yùn)算指令,再利用邏輯,再利用邏輯運(yùn)算指令的特點(diǎn)運(yùn)算指令的特點(diǎn)確定源操作數(shù)確定源操作數(shù)。 邏輯運(yùn)算方法:邏輯運(yùn)算方法:邏輯運(yùn)算和移位指令邏輯運(yùn)算和移位指令 例:測(cè)試?yán)簻y(cè)試AL的的D0位是否為位是否為1。 MOV AL,0F3HTEST AL,01H 執(zhí)行指令后:執(zhí)行指令后: ZF=0分析:分析:1111 0011B 0000 0001B0000 0001B根據(jù)根據(jù)ZF=0可知可知AL的的D0位為位為1 指令系統(tǒng)有專門的指令來檢測(cè)指令系統(tǒng)有專門的指令來檢測(cè)ZF的設(shè)置,從而控制程的設(shè)置,從而控制程序的處理流程序的處理流程。邏輯運(yùn)算和移位指令邏輯運(yùn)算和移位指令 (2) 移位指令移位指令 1)

50、邏輯左移指令邏輯左移指令 SHL opr,count 2)算術(shù)左移指令算術(shù)左移指令SALopr,count oprCF補(bǔ)補(bǔ)0SHL / SAL 移位移位例:將例:將BL中的值邏輯左移中的值邏輯左移1位位 ,設(shè)(,設(shè)(BL)= =AFH SHLBL,1 1 0 1 0 1 1 1 10指令執(zhí)行前指令執(zhí)行前0 1 0 1 1 1 1 01指令執(zhí)行后指令執(zhí)行后執(zhí)行指令后:執(zhí)行指令后: (BL)=5EH(分為邏輯移位、算術(shù)移位和循環(huán)移位三類)(分為邏輯移位、算術(shù)移位和循環(huán)移位三類)邏輯運(yùn)算和移位指令邏輯運(yùn)算和移位指令 3)邏輯右移指令邏輯右移指令 SHR opr,count 4)算術(shù)右移指令算術(shù)右移指令SARopr,count oprCF補(bǔ)補(bǔ)0SHR 移位移位S保持保持符號(hào)符號(hào)SAR 移位移位例例:將將BL中的值邏輯右移中的值邏輯右移1位位 ,設(shè)(,設(shè)(BL)= =AFH SHRBL,1 1 0 1 0 1 1 1 10指令執(zhí)行前指令執(zhí)行前0 1 0 1 0 1 1 11指令執(zhí)行后指令執(zhí)行后執(zhí)行指令后:執(zhí)行指令后: (BL)=57H邏輯運(yùn)算和移位指令邏輯運(yùn)算

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論