匯編語(yǔ)言程序設(shè)計(jì)匯編語(yǔ)言.ppt

匯編語(yǔ)言程序設(shè)計(jì)匯編語(yǔ)言.ppt

ID:52127060

大?。?12.00 KB

頁(yè)數(shù):42頁(yè)

時(shí)間:2020-04-01

匯編語(yǔ)言程序設(shè)計(jì)匯編語(yǔ)言.ppt_第1頁(yè)
匯編語(yǔ)言程序設(shè)計(jì)匯編語(yǔ)言.ppt_第2頁(yè)
匯編語(yǔ)言程序設(shè)計(jì)匯編語(yǔ)言.ppt_第3頁(yè)
匯編語(yǔ)言程序設(shè)計(jì)匯編語(yǔ)言.ppt_第4頁(yè)
匯編語(yǔ)言程序設(shè)計(jì)匯編語(yǔ)言.ppt_第5頁(yè)
資源描述:

《匯編語(yǔ)言程序設(shè)計(jì)匯編語(yǔ)言.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、第4章匯編語(yǔ)言程序設(shè)計(jì)1本章講述:4.1匯編語(yǔ)言程序格式4.2偽指令語(yǔ)句4.3DOS系統(tǒng)功能調(diào)用和BIOS功能調(diào)用4.4程序設(shè)計(jì)方法4.5宏匯編和條件匯編28086匯編語(yǔ)言程序的一個(gè)例子MY_DATASEGMENT;定義數(shù)據(jù)段SUMDB?;為符號(hào)SUM保留一個(gè)字節(jié)MY_DATAENDS;定義數(shù)據(jù)段結(jié)束MY_CODESEGMENT;定義碼段ASSUMECS:MY_CODE,;規(guī)定CS和DS的內(nèi)容DS:MY_DATAPORT_VALEQU3;端口的符號(hào)名GO:MOVAX,MY_DATA;DS初始化為MY_DATAMOVDS,AXMOVSUM,0;清SUM單元CYCLE:CMPSUM,100

2、;SUM單元與100相比較JNANOT_DONE;若未超過(guò),轉(zhuǎn)至NOT_DONEMOVAL,SUM;若超過(guò),把SUM單元的內(nèi)容OUTPORT_VAL,AL;通過(guò)AL輸出HLT;然后停機(jī)NOTDONE:INAL,PORT_VAL;未超過(guò)時(shí),輸入下一個(gè)字節(jié)ADDSUM,AL;與以前的結(jié)果累加JMPCYCLE;轉(zhuǎn)至CYCLEMYCODEENDS;碼段結(jié)束ENDGO;整個(gè)程序結(jié)束3由上例看出8086匯編的一個(gè)語(yǔ)句行由以下4個(gè)部分組成:標(biāo)號(hào)(或名稱)操作碼操作數(shù);注釋各部分之間至少要用一個(gè)空格作為間隔。IBM宏匯編對(duì)于語(yǔ)句行的格式是自由的,但如果寫(xiě)成格式化就便于閱讀,建議讀者按格式化來(lái)寫(xiě)語(yǔ)句行。

3、另外,IBM宏匯編并不要求一個(gè)語(yǔ)句只能寫(xiě)一行,一個(gè)語(yǔ)句可以有后續(xù)行,規(guī)定以字符“&”作為后續(xù)行的標(biāo)志。44.1匯編語(yǔ)言程序格式4.1.1指令性語(yǔ)句與偽指令(指示性)語(yǔ)句指令性語(yǔ)句標(biāo)號(hào):指令助記符操作數(shù),操作數(shù);注釋偽指令語(yǔ)句名字偽指令助記符操作數(shù),操作數(shù);注釋54.1.2數(shù)據(jù)項(xiàng)常數(shù)、變量和標(biāo)號(hào)常數(shù)沒(méi)有任何屬性的純數(shù)值。在匯編期間,它的值已能完全確定,在程序運(yùn)行中.值也不會(huì)發(fā)生變化。它可以有以下幾種類型:二進(jìn)制數(shù),八進(jìn)制數(shù),十進(jìn)制數(shù),十六進(jìn)制數(shù)實(shí)數(shù):它由整數(shù)、小數(shù)和指數(shù)3部分組成,字符串常數(shù):用引號(hào)括起來(lái)的一個(gè)或多個(gè)字符。6變量代表存放在某些存儲(chǔ)單元的數(shù)據(jù),這些數(shù)據(jù)在程序運(yùn)行期間隨時(shí)可以

4、修改。變量的屬性段屬性(SEG):表示變量存放在哪一個(gè)邏輯段中(即變量所在段的段基值);偏移量屬性(OFFSET):表示變量在邏輯段中離段起始點(diǎn)的字節(jié)數(shù);類型屬性(TYPE):表示變量占用存儲(chǔ)單元的字節(jié)數(shù)。7標(biāo)號(hào)標(biāo)號(hào)是一條指令目標(biāo)代碼的符號(hào)地址,它常作為轉(zhuǎn)移指令(含子程序調(diào)用指令)的操作數(shù)。段屬性(SEG)、偏移量(OFFSET)、距離屬性(NEAR、FAR)84.1.3表達(dá)式表達(dá)式(Expressions)是由運(yùn)算對(duì)象及運(yùn)算符成。粗略地說(shuō),一個(gè)表達(dá)式是一個(gè)由操作數(shù)和運(yùn)算符組合的序列,在匯編時(shí)它能產(chǎn)生一個(gè)值。92.運(yùn)算符(Operators)IBM宏匯編通常有以下幾種運(yùn)算符:①算術(shù)運(yùn)算

5、符(ArithmeticOperators);②邏輯運(yùn)算符(LogicalOperators);③關(guān)系運(yùn)算符(RelationalOperators);④數(shù)值返回運(yùn)算符(AnalyticOperators);⑤修改屬性運(yùn)算符(SyntheticOperators);⑥其它運(yùn)算符10(1)算術(shù)運(yùn)算符這是讀者十分熟悉的運(yùn)算符--+(加)、-(減)、*(乘)、/(除)運(yùn)算符。另一個(gè)算術(shù)運(yùn)算符是MOD(求余),它產(chǎn)生除法以后的余數(shù)。因此19/7是2(商是2),而19MOD7是5(余數(shù)是5)。算術(shù)運(yùn)算符應(yīng)用于數(shù)字操作數(shù),結(jié)果也是數(shù)字的。當(dāng)算術(shù)運(yùn)算符應(yīng)用于存儲(chǔ)器即地址操作數(shù)時(shí)其規(guī)則就更加嚴(yán)格:只有

6、當(dāng)結(jié)果有明確的、有意義的物理解釋時(shí),這些運(yùn)算才是有效的。11(2)邏輯運(yùn)算符按位操作的邏輯運(yùn)算符有:AND(與)、OR(或)、XOR(異或)和NOT(非)。邏輯運(yùn)算的操作數(shù)只能是數(shù)字的,而且結(jié)果是數(shù)字的。存儲(chǔ)器地址操作數(shù)不能進(jìn)行邏輯運(yùn)算。注意:AND、OR、XOR和NOT,也是8086指令的助記符。但是,作為IBM宏匯編的運(yùn)算符是在程序匯編時(shí)計(jì)算的。而作為指令的助記符,則是在程序執(zhí)行時(shí)計(jì)算的。12(3)關(guān)系運(yùn)算符在IBM宏匯編中有以下關(guān)系運(yùn)算符:①相等EQ(Equal);②不等NE(NotEqual);③小于LT(LessThan);④大于GT(GreaterThan);⑤小于或等于L

7、E(LessThanorEqual);⑥大于或等于GE(GreaterThanorEqual)。13(4)數(shù)值返回運(yùn)算符分析運(yùn)算符可以把存儲(chǔ)器操作數(shù)分解為它的組成部分,如它的段值SEG、段內(nèi)偏移量OFFSET、類型TYPE、長(zhǎng)度LENGTH和大小SIZE。(5)屬性修改運(yùn)算符屬性修改運(yùn)算符可以由已經(jīng)存在的存儲(chǔ)器操作數(shù)生成一個(gè)段值與偏移量相同、而類型不同的新的存儲(chǔ)器操作數(shù)。如段前綴、PTR、THIS、SHORT、HIGH/LOW等。14(6)其它

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

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

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