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

正文內(nèi)容

微機原理2ppt課件-wenkub

2023-03-09 00:11:30 本頁面
 

【正文】 的結(jié)果。 ① SEG: 利用 SEG操作符可以得到一個標號或變量的段值 例: MOV AX , SEG BUFF ② OFFSET: 利用 OFFSET可以得到一個標號或變量的偏移地址 例: MOV BX , OFFSET BUFF; ( LEA BX, BUFF) 第 4章 匯編語言程序設(shè)計 第 4章第 18頁共 256頁 ③ TYPE:運算符 TYPE的運算結(jié)果是一個數(shù)值 , 這個數(shù)值與存儲器操作數(shù)類型屬性的對應(yīng)關(guān)系如下: 對于變量有 3種: 1 字節(jié)型; 2 字型; 4 雙字型 。 運算結(jié)果為真時,表示為0FFFFH;運算結(jié)果為假時,表示為 0000H。 邏輯運算符的功能在匯編階段完成,邏輯運算指令的功能在程序執(zhí)行階段完成。 算術(shù)運算符可以用于數(shù)值表達式和地址表達式中,用于計算數(shù)據(jù)或地址的結(jié)果: 下面的兩條指令是正確的。如用COUNT EQU 3或 COUNT=3定義后, COUNT就是一個符號常數(shù),與數(shù)值常數(shù) 3等價。包含在單引號中的若干個字符形成字符串常數(shù),字符串在計算機中存儲的是相應(yīng)字符的 ASCII碼。 第 4章 匯編語言程序設(shè)計 第 4章第 12頁共 256頁 1) 常數(shù) (1) 數(shù)值常數(shù) 。 3. 操作數(shù) 指令中的操作數(shù)是用來指定參與操作的數(shù)據(jù) 。如BYTE(DB, 1個字節(jié)長 )、 WORD(DW, 2個字節(jié)長 )、DWORD(DD, 4個字節(jié)長 )、 FWORD(DF, 6個字節(jié)長 )、QWORD(DQ, 8個字節(jié)長 )、 TBYTE(DT, 10個字節(jié)長 )。此值必須在一個段寄存器中(如 DS或 ES中)。 第 4章 匯編語言程序設(shè)計 第 4章第 9頁共 256頁 (2) 變量在數(shù)據(jù)段、附加數(shù)據(jù)段或堆棧段中定義,后面不跟冒號 。當程序中引用一個標號時,該標號的段地址則總是在 CS寄存器中。 為了便于記憶,名字的定義應(yīng)該做到見名知義,如用BUFFER表示緩沖區(qū)、 SUM表示累加和等。一條宏指令語句的功能相當于若干條指令語句的功能。 第 4章 匯編語言程序設(shè)計 第 4章第 5頁共 256頁 2) 偽指令語句 偽指令語句也叫 指示性語句 ,它只是為匯編程序在翻譯匯編語言源程序時提供有關(guān)信息,并不翻譯成機器代碼。第 4章 匯編語言程序設(shè)計 第 4章第 1頁共 256頁 第 4章 匯編語言程序設(shè)計 匯編語言程序格式 偽指令 匯編語言源程序結(jié)構(gòu) 匯編語言程序的上機過程 匯編語言程序設(shè)計 程序設(shè)計舉例 第 4章 匯編語言程序設(shè)計 第 4章第 2頁共 256頁 匯編語言程序格式 程序結(jié)構(gòu) 【 例 41】 給出一個完整的匯編語言源程序,該程序的功能是完成兩個字節(jié)數(shù)據(jù)相加。例如,程序中的語句: BUF1 DB 34H BUF2 DB 2AH SUM DB ? 以上這些語句都是偽指令語句,其功能是在內(nèi)存中開辟 3個名字分別為 BUF BUF SUM的字節(jié)單元,前兩個單元的初值分別為 34H和 2AH, SUM僅指定一個字節(jié)單元,不定義確定的初值。 第 4章 匯編語言程序設(shè)計 第 4章第 6頁共 256頁 語句格式 指令語句和偽指令語句的格式是類似的,其格式如下: [名字 ] 指令助記符 操作數(shù) [;注釋 ] 其中,帶方括號的項可以省略,注釋內(nèi)容以分號 (; )引導(dǎo)。 第 4章 匯編語言程序設(shè)計 第 4章第 8頁共 256頁 3) 名字的兩種主要形式 名字有 標號 和 變量 兩種主要形式。 偏移屬性 :標號的偏移地址是從段起始地址到定義標號的位置之間的字節(jié)數(shù)。它也可以用 LABEL或 EQU偽操作來定義。 偏移屬性 :變量的偏移地址是從段的起始地址到定義變量的位置之間的字節(jié)數(shù)。 在同一個程序中,同樣的標號或變量的定義只允許出現(xiàn)一次,否則匯編程序會指示出錯。對于一般指令,可以有一個或兩個操作數(shù),也可以沒有操作數(shù);對于偽指令和宏指令,可以有多個操作數(shù)。匯編語言中的數(shù)值常數(shù)可以是二進制、八進制、十進制或十六進制數(shù),書寫時用加后綴 (二進制用 B、八進制用 O或 Q、 十進制用 D、 十六進制用 H)的方式標明即可。如 ‘ A?的值是 41H,‘ AB?的值是 4142H等。 第 4章 匯編語言程序設(shè)計 第 4章第 14頁共 256頁 2) 表達式 由運算對象和運算符組成的合法式子就是表達式 ,分為 數(shù)值表達式 和 地址表達式 兩種。 MOV AL, 4*8+5 ;數(shù)值表達式 MOV SI, OFFSET BUF+12 ;地址表達式 第 4章 匯編語言程序設(shè)計 第 4章第 15頁共 256頁 (2) 邏輯運算符 有 AND(與 )、 OR(或 )、 XOR(異或 )、NOT(非 )。 在匯編階段,指令 AND AL, 78H AND 0FH等價于指令A(yù)ND AL, 08H。 指令 MOV BX, 32 EQ 45 等價于 MOV BX, 0; 指令 MOV BX, 56 GT 30 等價于 MOV BX, 0FFFFH。 對于標號有 2種: - 1 NEAR( 段內(nèi) ) , - 2 FAR( 段間 ) 。即: SIZE= TYPE LENGTH 例: BUFF DW 10 DUP(?) MOV CX, LENGTH BUFF ? MOV CX, 10 MOV CX, SIZE BUF ? MOV CX, 20 第 4章 匯編語言程序設(shè)計 第 4章第 20頁共 256頁 ( 1) PTR運算符 :功能是對已分配的存儲器地址臨時賦予另一種類型屬性,但不改變操作數(shù)本身的類型屬性 格式: 類型 PTR 表達式 利用 PTR運算符還可以建立一個新的存儲器操作數(shù) , 它與原來的同名操作數(shù)具有相同的段和偏移量 , 但可以有不同的類型 , 不過這個新類型僅在當前語句有效 。 格式: THIS 類型 例: FIRST EQU THIS BYTE SECOND DW 100 DUP ( ?) 這里 FIRST和 SECOND實際上代表同一個數(shù)據(jù)區(qū),其中共有 200個字節(jié),但FIRET的類型為字節(jié)、 SECOND的類型為字。 ? 圓括號可提高運算的優(yōu)先級,圓括號內(nèi)的運算總是在其 任何相臨的運算之前進行。匯編源程序時,注釋部分不產(chǎn)生機器代碼。 偽指令形式上與一般指令相似,但 偽指令只是為匯編程序提供有關(guān)信息,不產(chǎn)生相應(yīng)的機器代碼 。上式中的表達式可以是任何有效的操作數(shù)格式,可以是任何可以求出常數(shù)值的表達式,也可以是任何有效的助記符。它們之間的區(qū)別是: EQU偽操作中的表達式名是不允許重復(fù)定義的,而 “ =”偽操作則允許重復(fù)定義。 … … 第 4章 匯編語言程序設(shè)計 第 4章第 31頁共 256頁 解除定義偽操作 PRGE 格式: PURGE 符號 1,符號 2, ……. 符號 N 功能:解除指定符號的定義。 如果語句中有變量名,則匯編程序使其記為第一個字節(jié)的偏移地址。 (2) DW用來定義字,其后的每個操作數(shù)占有一個字 (16位,其低位字節(jié)在第一個字節(jié)地址中,高位字節(jié)在第二個字節(jié)地址中 )。 第 4章 匯編語言程序設(shè)計 第 4章第 34頁共 256頁 (5) DQ用來定義 4字 (8個字節(jié) ),其后的每個操作數(shù)占有 4個字 (64位 ),可用來存放雙精度浮點數(shù)。下面舉例說明。如: ABC DB 0,?,?, 0 DEF DW ?, 52,? 經(jīng)匯編后的存儲情況如圖 。 ARRAY1 DB 2 DUP(0, 1, 2,? ) ARRAY2 DB 100 DUP( ? ) 經(jīng)匯編后的存儲情況如圖 。如果程序中沒有使用 NAME偽操作,則可使用 TITLE偽操作,其格式為 TITLE TEXT 第 4章 匯編語言程序設(shè)計 第 4章第 42頁共 256頁 TITLE偽操作可指定列表文件的每一頁上打印的標題。所以, NAME及 TITLE偽操作并不是必要的,但一般經(jīng)常使用 TITLE,以便在列表文件中能打印出標題來。 第 4章 匯編語言程序設(shè)計 第 4章第 44頁共 256頁 指令集選擇偽指令 由于 80x86的所有處理器都支持 8086/8088指令系統(tǒng),而且每一種高檔的機型又都增加了一些新的指令,因此,在編寫程序時要對所用處理器有一個確切的選擇。 (2) .286:選擇 80286指令系統(tǒng)。 (6) .486:選擇 80486指令系統(tǒng)。 第 4章 匯編語言程序設(shè)計 第 4章第 46頁共 256頁 有關(guān) “ 選擇保護方式下的 XXXX指令系統(tǒng) ” 的含義是指包括 特權(quán)指令在內(nèi)的指令系統(tǒng)。 第 4章 匯編語言程序設(shè)計 第 4章第 47頁共 256頁 地址計數(shù)器與對準偽操作 1. 地址計數(shù)器 ——$ 在匯編程序?qū)υ闯绦騾R編的過程中,使用地址計數(shù)器(LOCATION COUNTER)來保存當前正在匯編的指令的偏移地址。在這里, $+6必須是另一條指令的首地址,否則,匯編程序?qū)⒅甘境鲥e信息。 注意: ARRAY數(shù)組中的兩個 $+4得到的結(jié)果是不同的,這是由于 $的值是在不斷變化的緣故。 常數(shù)表達式也可以表示從當前已定義過的符號開始的位移量,或表示從當前地址計數(shù)器值 $開始的位移量,如: ORG $+8 可以表示跳過 8個字節(jié)的存儲區(qū),亦即建立了一個 8字節(jié)的未初始化的數(shù)據(jù)緩沖區(qū)。 例如: DATA_SEG SEGMENT EVEN ;保證地址從偶地址開始 WORD_ARRAY DW 100 DUP(?) DATA_SEG ENDS … … 第 4章 匯編語言程序設(shè)計 第 4章第 54頁共 256頁 4. ALIGN偽操作 ALIGN偽操作為保證雙字類型數(shù)組邊界從 4的倍數(shù)開始創(chuàng)造了條件,其格式為 ALIGN BOUNDARY 其中, BOUNDARY必須是 2的冪,例如: .DATA ALIGN 4 ARRAY DB 100 DUP(? ) 就可保證 ARRAY的值為 4的倍數(shù)。 … … 第 4章 匯編語言程序設(shè)計 第 4章第 57頁共 256頁 此外,還必須明確段和段寄存器的關(guān)系,這可用ASSUME偽操作來實現(xiàn),其格式為: ASSUME 段寄存器名 :段名 [, 段寄存器名 :段名 ,...] ASSUME 段寄存器名 : NOTHING 其中,段寄存器名必須是 CS、 DS、 ES和 SS(對于 386及其后繼機型還有 FS和 GS)中的一個,而段名則必須是由SEGMENT定義的段中的段名。如在上面的程序中,分別用兩條 MOV指令完成這一操作。但是,如果需要用連接程序把本程序與其他程序模塊相連接時,就需要使用這些說明。 第 4章 匯編語言程序設(shè)計 第 4章第 63頁共 256頁 DWORD: 該段必須從雙字邊界開始,即段起始地址的最低位必須為 4的倍數(shù) 。 PUBLIC: 該段連接時可以把不同模塊中的同名段相連接而合并為一個段,其連接次序由連接命令指定。重疊部分的內(nèi)容取決于排列在最后一段的內(nèi)容 。 第 4章 匯編語言程序設(shè)計 第 4章第 66頁共 256頁 STACK: 把不同模塊中的同名段組合而形成一個堆棧段,該段的長度為原有各堆棧段長度的總和 ,原有各段之間并無PUBLIC所連接段中的間隙,而且 棧頂可自動指向連接后形成的大堆棧段的(最終地址 +1)處 。其取值可以是: USE16:使用 16位尋址方式。 使用類型的默認項是 USE16。沒有類別名的邏輯段,與其它無類別名的邏輯段一起連續(xù)裝入內(nèi)存。 第 4章 匯編語言程序設(shè)計 第 4章第 75頁共 256頁 圖 匯編語言程序的建立及匯編過程 編輯程序文
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1