微機原理與接口

微機原理與接口

ID:43974835

大?。?99.00 KB

頁數(shù):59頁

時間:2019-10-17

微機原理與接口_第1頁
微機原理與接口_第2頁
微機原理與接口_第3頁
微機原理與接口_第4頁
微機原理與接口_第5頁
資源描述:

《微機原理與接口》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。

1、第四章匯編語言程序設(shè)計4.1匯編語言的語句格式4.2MASM中的表達式4.3偽指令語句4.4常用DOS系統(tǒng)功能調(diào)用和BIOS中斷調(diào)用4.5程序設(shè)計方法第四章匯編語言程序設(shè)計匯編語言:用指令的助記符、標(biāo)號、偽指令等書寫程序的語言。匯編語言源程序:用匯編語言書寫的程序。匯編:把匯編語言源程序翻譯成在機器上能執(zhí)行的機器語言程序(稱目標(biāo)程序)的過程。匯編程序:完成匯編過程的程序。匯編語言是面向計算機硬件的語言,和機器密切相關(guān),采用不同CPU的計算機,通常有不同的匯編語言。第四章匯編語言程序設(shè)計一個匯編語言實例:DATASEGMENTBLOCKDB

2、43H,0ABH,…PDATADB20DUP(?)NDATADB20DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:PUSHDSMOVAX,0PUSHAXMOVAX,DATAMOVDS,AXMOVES,AXLEASI,BLOCKLEADI,PDATALEABX,NDATACLDMOVCX,PDATA-BLOCKGOON:LODSBTESTAL,80HJNZMINUSSTOSBJMPAGAINMINUS:XCHGBX,DISTOSBXCHGBX,DIAGAIN:LOOPGOONCODE

3、ENDSENDSTART4.1匯編語言的語句格式[名字]操作碼/偽指令[操作數(shù)][;注釋]各部分之間至少要用一個空格作為間隔,其中名字是一個符號,它可以是標(biāo)號或變量,由英文字母、數(shù)字及專用字符組成,最大長度不能超過31個,且不能由數(shù)字打頭,不能用保留字(如寄存器名,指令助記符,偽指令)。操作碼:是一個助記符,它可以是指令、偽指令(又叫偽操作)或宏指令。操作數(shù):參加本指令運算的數(shù)據(jù)??梢允浅?shù)、變量、標(biāo)號(統(tǒng)稱數(shù)據(jù)項P127)、寄存器名、表達式。4.1匯編語言的語句格式[名字]操作碼/偽指令[操作數(shù)][;注釋]匯編語言源程序中的語句主要有兩

4、種類型:指令性語句(P127):其格式為指示性語句(P127),又叫偽指令,其格式為:指令性語句是計算機可執(zhí)行的。而指示性語句不能執(zhí)行,只用來定義變量,分配存儲單元,指示程序開始和結(jié)束等,為計算機提供必要的信息。這兩種語句的差別:匯編時能否形成對應(yīng)的機器碼。[標(biāo)號:][前綴]指令助記符[操作數(shù)][;注釋]變量偽指令指示符操作數(shù)[,,];注釋表達式是常數(shù)、寄存器、標(biāo)號、變量與一些運算符組合的序列。4.2MASM中的表達式匯編時按一定的優(yōu)先規(guī)則對表達式進行計算后可得到一個數(shù)值或一個地址。算術(shù)運算符(ArithmeticOperators)邏輯

5、運算符(LogicalOperators)關(guān)系運算符(RelationalOperators)數(shù)值返回運算符(Value-ReturningOperators)修改屬性運算符(ModifingattributeOperators)其它運算符(OtherOperators)教材P129表4-1給出了MASM中可采用的運算符號。一、算術(shù)運算符有+、-、*、/,MOD,SHL、SHR。其中MOD表示除法運算后得到的余數(shù)。例:19/7的商是2;19MOD7則結(jié)果為5(余數(shù))算術(shù)運算符可以用于數(shù)字表達式。例:MOVAL,2*7匯編后為B0H,0EH

6、算術(shù)運算符也可以用于地址表達式,但對地址運算的結(jié)果應(yīng)有明確的物理意義。例如,兩個地址的乘或除無意義,而加或減則可以。例:LEASI,SUM+3表示變量SUM的地址加上3得到的和作為新的存儲器地址。AND、OR、XOR和NOT,它們只能用于數(shù)字表達式中。二、邏輯運算符例:MOVCL,36HAND0FH經(jīng)匯編后結(jié)果等同于:MOVCL,06H這些邏輯運算符也是8086/8088的指令助記符,但不會造成混亂,前者在匯編時進行,而后者在指令執(zhí)行時進行的。例:ANDDX,PORT_VARAND0FEH后一個邏輯運算符AND在匯編時進行,若PORT_V

7、AR為81H,則匯編后表達式算出為80H.執(zhí)行前一個指令助記符AND時,將(DX)與80H相與,結(jié)果在DX中。共有6個:EQ、NE、LT、LE、GT、GE。三、關(guān)系運算符關(guān)系運算符的兩個操作數(shù)必須都是數(shù)字或者是同一段內(nèi)的兩個存儲器地址。例:MOVBX,PORT_VALGE5若PORT_VAL的值大于等于5,則匯編后結(jié)果等效為:MOVBX,0FFFFH若PORT_VAL的值小于5,則匯編后結(jié)果等效為:MOVBX,0關(guān)系為真,結(jié)果為0FFFFH,或0FFH關(guān)系為假,結(jié)果為0它可以把存儲器一些特征作為數(shù)值送回。四、數(shù)值返回運算符(分析運算符)O

8、FFSET、SEG、TYPE、LENGTH、SIZE。1.OFFSET注意與MOVSI,STRI1的差別。但它與LEASI,STRI1類似。SEG運算符用來取存儲單元的段值。例:MOVAX,S

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。