freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

微機(jī)原理2ppt課件-在線瀏覽

2025-04-11 00:11本頁(yè)面
  

【正文】 MOV BX , TYPE BUFF ? MOV BX, 01 第 4章 匯編語(yǔ)言程序設(shè)計(jì) 第 4章第 19頁(yè)共 256頁(yè) ④ LENGTH操作符: LENGTH運(yùn)算符得到這個(gè)變量的個(gè)數(shù)。 ⑤ SIZE操作符: 如果一個(gè)變量已經(jīng)用 DUP說明,則利用SIZE運(yùn)算符可以得到分配給該變量的字節(jié)總數(shù),如果未用 DUP說明,則結(jié)果是 TYPE運(yùn)算的結(jié)果。 如: STUFF DD ? …… MOV BX, WORD PTR STUFF 指令: MOV BX, STUFF 是否正確?為什么? 2. 組合運(yùn)算符 合成運(yùn)算符則可以規(guī)定存儲(chǔ)器操作數(shù)的某個(gè)屬性,例如類型等。 但它只指定變量或標(biāo)號(hào)的類型屬性 , 并不為它分配存儲(chǔ)區(qū) , 它的段屬性和偏移屬性與下一條可分配地址的變量或標(biāo)號(hào)屬性相同 。以下指令是正確的: MOV AX, SECOND+2 MOV BH, FIRST+4 12 35 46 78 33 46 58 79 …. 23 FIRST SECOND ( AX) =7846H ( BH) =33H 指令: MOV AX, FIRST MOV BH, SECOND+3 是否正確? 第 4章 匯編語(yǔ)言程序設(shè)計(jì) 第 4章第 22頁(yè)共 256頁(yè) 3. 分離運(yùn)算符 HIGH和 LOW 運(yùn)算符 HIGH和 LOW分別用來得到一個(gè)數(shù)值或地址表達(dá)式的高位和低位字節(jié)。 ? 優(yōu)先級(jí)相同時(shí)按表達(dá)式中從左到右的順序運(yùn)算。 ? 各種運(yùn)算符的優(yōu)先級(jí)見表 ,表中同一行中的運(yùn)算符具有同等的優(yōu)先級(jí)。 適當(dāng)?shù)丶有┳⑨寖?nèi)容,可以增加程序的可讀性,便于閱讀、理解和修改程序。一條語(yǔ)句可以寫成多行,續(xù)行符使用&。偽操作又稱為偽指令,它們不像機(jī)器指令那樣是在程序運(yùn)行期間由計(jì)算機(jī)來執(zhí)行的,而是 在匯編程序?qū)υ闯绦騾R編期間由匯編程序處理的 ,它們可以完成如處理器選擇、定義程序模式、定義數(shù)據(jù)、分配存儲(chǔ)區(qū)、指示程序結(jié)束等功能。 第 4章 匯編語(yǔ)言程序設(shè)計(jì) 第 4章第 27頁(yè)共 256頁(yè) 定義符號(hào)的偽指令 1. 等值偽指令 EQU 格式: 符號(hào)名 EQU 表達(dá)式 功能:給符號(hào)名定義一個(gè)值,賦予一個(gè)符號(hào)名、表達(dá)式或助記符??梢?, EQU的引入提高了程序的可讀性,也使其更加易于修改 。舉例如下: 第 4章 匯編語(yǔ)言程序設(shè)計(jì) 第 4章第 28頁(yè)共 256頁(yè) CONSTANT EQU 256 ; 將數(shù) 256賦以符號(hào)名 CONSTANT DATA EQU HEIGHT+12 ; HEIGHT為一標(biāo)號(hào),地址表達(dá)式賦 ;以符號(hào)名 DATA ALPHA EQU 7 BETA EQU ALPHA2 ; 這是一組賦值偽操作,把 72=5賦以 ;符號(hào)名 BETA ADDR EQU VAR + BETA ; 將 VAR+5賦以符號(hào)名 ADDR B EQU [BP+8] ;變址引用賦以符號(hào)名 B P8 EQU DS: [BP+8] ;加段前綴的變址引用賦以符號(hào)名 P8 第 4章 匯編語(yǔ)言程序設(shè)計(jì) 第 4章第 29頁(yè)共 256頁(yè) 在 EQU語(yǔ)句的表達(dá)式中,如果有變量或標(biāo)號(hào)的表達(dá)式,則在該語(yǔ)句前應(yīng)該先給出它們的定義。 第 4章 匯編語(yǔ)言程序設(shè)計(jì) 第 4章第 30頁(yè)共 256頁(yè) 2. 等號(hào)偽指令 “ =” 另外,還有一個(gè)與 EQU相類似的 “ =”偽操作也可以作為賦值操作使用。 例如, EMP=6或 EMP EQU 6都可以使數(shù) 6賦給符號(hào)名 EMP,然而不允許兩者同時(shí)使用。這種情況下,在第一個(gè)語(yǔ)句后的指令中, EMP的值為 7;而在第二個(gè)語(yǔ)句后的指令中, EMP的值為 8。解除符號(hào)后,可用 EQU重新進(jìn)行定義。其中,變量是可有可無(wú)的,它用符號(hào)地址表示,其作用與指令語(yǔ)句前的標(biāo)號(hào)相同,但 它的后面不跟冒號(hào)。 注釋字段用來說明該偽指令的功能,它也是可有可無(wú)的。 第 4章 匯編語(yǔ)言程序設(shè)計(jì) 第 4章第 33頁(yè)共 256頁(yè) 常用的偽指令有以下幾種: (1) DB用來定義字節(jié),其后的每個(gè)操作數(shù)都占有一個(gè)字節(jié) (8位 )的存儲(chǔ)單元。 (3) DD用來定義雙字 (4個(gè)字節(jié) ),其后的每個(gè)操作數(shù)占有兩個(gè)字 (32位 )。這一偽指令只能用于 386及其后繼機(jī)型中。 (6) DT用來定義 5字 (10個(gè)字節(jié) ),其后的每個(gè)操作數(shù)占有 5個(gè)字,形成壓縮的 BCD碼形式。 DW和 DD偽指令還可存儲(chǔ)地址, DF偽指令則可存儲(chǔ)由 16位段地址及 32位偏移地址組成的遠(yuǎn)地址指針。 第 4章 匯編語(yǔ)言程序設(shè)計(jì) 第 4章第 35頁(yè)共 256頁(yè) 【 例 42】 操作數(shù)可以是常數(shù),或者是表達(dá)式 (根據(jù)該表達(dá)式可以求得一個(gè)常數(shù) ),如: DATA_BYTE DB 10, 4, 10H DATA_WORD DW 100, 100H, 5 DATA_DW DD 60, 0FFFDH 00 0A 04 10 64 00 00 01 FB FF 3C 00 00 00 FD FF 00 DATA_BYTE DATA_DW 10D 4D 10H 100D 100H 5D 60D 0FFFD H DATA_WORD 第 4章 匯編語(yǔ)言程序設(shè)計(jì) 第 4章第 36頁(yè)共 256頁(yè) 【 例 43】 操作數(shù)也可以是字符串,如: MESSAGE DB 39。 存儲(chǔ)情況如圖 (a)所示, 48 45 4C 4C 4F H E L L O MESSAGE (a) 圖 第 4章 匯編語(yǔ)言程序設(shè)計(jì) 第 4章第 37頁(yè)共 256頁(yè) 圖 例 43的匯編結(jié)果 48454C4C4FHELLOM E S S A G E4142AB( a ) (b)4241BA( c )而 DB ?AB?和 DW ?AB?的存儲(chǔ)情況分別如下: 第 4章 匯編語(yǔ)言程序設(shè)計(jì) 第 4章第 38頁(yè)共 256頁(yè) 【 例 44】 操作數(shù) “?” 可以保留存儲(chǔ)空間,但不存入數(shù)據(jù)。 圖 例 44的匯編結(jié)果 00——00——3400——52DD E FA B C第 4章 匯編語(yǔ)言程序設(shè)計(jì) 第 4章第 39頁(yè)共 256頁(yè) 操作數(shù)還可以使用復(fù)制操作符 (DUPLICATION OPERATOR)來復(fù)制某個(gè) (或某些 )操作數(shù)。 第 4章 匯編語(yǔ)言程序設(shè)計(jì) 第 4章第 40頁(yè)共 256頁(yè) 【 例 45】 使用 DUP實(shí)現(xiàn)重復(fù)定義。 由圖可見,例 45中的第一個(gè)語(yǔ)句和語(yǔ)句 ARRAY1 DB 0, 1, 2,?, 0, 1, 2,?是等價(jià)的。NAME的格式是: NAME MODULE_NAME 匯編程序?qū)⒁越o出的 MODULE_NAME作為模塊的名字。同時(shí),如果程序中沒有使用 NAME偽操作,則匯編程序?qū)⒂? TEXT中的前六個(gè)字符作為模塊名。如果程序中既無(wú) NAME又無(wú) TITLE偽操作,則將用源文件名作為模塊名。 表示源程序結(jié)束的偽操作的格式為 END [ LABEL] 第 4章 匯編語(yǔ)言程序設(shè)計(jì) 第 4章第 43頁(yè)共 256頁(yè) 其中, 標(biāo)號(hào) (LABEL)指示程序開始執(zhí)行的起始地址 。匯編程序?qū)⒃谟龅?END時(shí)結(jié)束匯編,而程序則將從主模塊的第一個(gè)標(biāo)號(hào)處開始執(zhí)行。也就是說,要告訴匯編程序應(yīng)該選擇哪一種指令系統(tǒng)。 第 4章 匯編語(yǔ)言程序設(shè)計(jì) 第 4章第 45頁(yè)共 256頁(yè) 此類偽指令主要有以下幾種 : (1) .8086:選擇 8086指令系統(tǒng)。 (3) .286P:選擇保護(hù)方式下的 80286指令系統(tǒng)。 (5) .386P:選擇保護(hù)方式下的 80386指令系統(tǒng)。 (7) .486P:選擇保護(hù)方式下的 80486指令系統(tǒng)。 (9) .586P:選擇保護(hù)方式下的 Pentium指令系統(tǒng)。此外,上述偽指令均支持相應(yīng)的協(xié)處理器指令。它們可放在程序中,如程序中使用了一條 80486所增加的指令,則可以在該指令的上一行加上 .486。 當(dāng)開始匯編或在每一段開始時(shí),把地址計(jì)數(shù)器初始化為零,以后在匯編過程中,每處理一條指令,地址計(jì)數(shù)器就增加一個(gè)值,此值為該指令所需要的字節(jié)數(shù) 。 第 4章 匯編語(yǔ)言程序設(shè)計(jì) 第 4章第 48頁(yè)共 256頁(yè) 當(dāng) $用在指令中時(shí),它表示本條指令的第一個(gè)字節(jié)的地址 。 當(dāng) $用在偽操作的參數(shù)字段時(shí),則和它用在指令中的情況不同,它所表示的是地址計(jì)數(shù)器的當(dāng)前值。 ARRAY DW 1, 2, $+4, 3, 4, $+4 如匯編時(shí) ARRAY分配的偏移地址為0074, 則匯編后的存儲(chǔ)區(qū)將如圖 。 當(dāng)在指令中用到 $ 時(shí),它只代表該指令的首地址,而與 $本身所在的字節(jié)無(wú)關(guān)。例如: VECTORS SEGMENT ORG 10 VECT1 DW 47A5H ORG 20 VECT2 DW 0C596H VECTORS ENDS 第 4章 匯編語(yǔ)言程序設(shè)計(jì) 第 4章第 51頁(yè)共 256頁(yè) 則 VECT1的偏移地址值為 0AH, 而 VECT2的偏移地址值為 14H。如程序中需要訪問該緩沖區(qū),則可用LABEL偽操作來定義該緩沖區(qū)的如下變量名 : 第 4章 匯編語(yǔ)言程序設(shè)計(jì) 第 4章第 52頁(yè)共 256頁(yè) BUFFER LABEL BYTE ORG $+8 當(dāng)然,其完成的功能和 BUFFER DB 8 DUP(?) 是一樣的。一個(gè)字的地址最好從偶地址開始,所以對(duì)于字類型數(shù)組 ,為保證其從偶地址開始,可以在其前用 EVEN偽操作來達(dá)到這一目的。當(dāng)然, ALIGN 2和 EVEN是等價(jià)的。為此,需要用段定義偽操作,其格式如下: 第 4章 匯編語(yǔ)言程序設(shè)計(jì) 第 4章第 56頁(yè)共 256頁(yè) SEGMENT_NAME SEGMENT 段 體 SEGMENT_NAME ENDS 其中,刪節(jié)號(hào)部分對(duì)于數(shù)據(jù)段、附加段和堆棧段來說,一般是存儲(chǔ)單元的定義、分配等偽操作;對(duì)于代碼段則是指令及偽操作。 ASSUME NOTHING則可取消前面由 ASSUME所指定的段寄存器。 DATE_SEG1 SEGMENT ;定義數(shù)據(jù)段 DATE_SEG1 ENDS DATA_SEG2 SEGMENT ;定義數(shù)據(jù)附加段 DATA_SEG2 ENDS CODE_SEG SEGMENT ;定義代碼段 ASSUME CS:CODE_SEG , DS:DATA_SEG1 , ES:DATA_SEG2 ;開始執(zhí)行的入口地址設(shè)置 DS寄存器為當(dāng)前數(shù)據(jù)段 … … 第 4章 匯編語(yǔ)言程序設(shè)計(jì) 第 4章第 59頁(yè)共 256頁(yè) START: MOV AX, DATA_SEG1 ;將數(shù)據(jù)段地址賦予 DS MOV DS, AX ;設(shè)置 ES寄存器為當(dāng)前附加段 MOV AX, DATA_SEG2 ;將附加數(shù)據(jù)段地址賦予 ES MOV ES, AX CODE_SEG ENDS ;代碼段定義結(jié)束 END START ;源程序結(jié)束 … 第 4章 匯編語(yǔ)言程序設(shè)計(jì) 第 4章第 60頁(yè)共 256頁(yè) 由于 ASSUME偽操作只是指定某個(gè)段分配給哪一個(gè)段寄存器,它并不能把段地址裝入段寄存器中 ,要把段地址裝入段寄存器中,就必須在代碼段中有對(duì)段地址裝入相應(yīng)的段寄存器中的指令。如果程序中有堆棧段,也需要把段地址裝入 SS中。 第 4章 匯編語(yǔ)言程序設(shè)計(jì) 第 4章第 61頁(yè)共 256頁(yè) 為了對(duì)段定義作進(jìn)一步地控制, SEGMENT偽操作添加有類型及屬性的說明,其格式如下: 段名 SEGMENT [定位類型 ][組合類型][使用類型] [類別 ]
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1