版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1
DATASEGMENT;定義數(shù)據(jù)段
DATA1DB0F8H,60H,0ACH,74H,3BH;被加數(shù)
DATA2DB0C1H,36H,9EH,0D5H,20H;加數(shù)
DATAENDS;數(shù)據(jù)段結(jié)束
CODESEGMENT;定義代碼段
ASSUMECS:CODE,DS:DATA;告訴匯編程序段范圍
START:MOVAX,DATA
MOVDS,AX;初始化DS
MOVCX,5
;循環(huán)次數(shù)送CX
MOVSI,0
;置SI初值為零匯編語言格式第2節(jié)匯編語言源程序的格式2
CLC
;清CF標(biāo)志LOOPER:MOVAL,DATA2[SI];取一個(gè)字節(jié)加數(shù)
ADCDATA1[SI],AL;與被加數(shù)相加
INC SI
;SI加1指向下一字節(jié)
DECCX
;計(jì)數(shù)器CX減1
JNZLOOPER
;不等于零轉(zhuǎn)移
MOVAH,4CH
;停止
INT21H
;返回DOSCODEENDS;代碼段結(jié)束
ENDSTART
;源程序結(jié)束,指定起始地址標(biāo)號(hào)匯編語言格式第2節(jié)匯編語言源程序的格式3匯編語言源程序標(biāo)準(zhǔn)格式DATASEGMENT…...DATAENDSSTACKSEGMENT…...STACKENDSCODESEGMENTASSUMEDS:DATA,SS:STACK,CS:CODESTART:MOVAX,DATAMOVDS,AX ;初始化 …… MOVAH,4CH;返回DOS INT21HCODEENDSENDSTART第2節(jié)匯編語言源程序的格式分段結(jié)構(gòu)至少一個(gè)代碼段段分配:Assume設(shè)置DS、ES、SS返回DOS源代碼結(jié)束4匯編語言語句的類型和組成指令性語句:機(jī)器指令相對(duì)應(yīng),可以產(chǎn)生相應(yīng)的機(jī)器碼第2節(jié)匯編語言源程序的格式語句格式—例:LOOPER:ADDAH,[SI];加法指示性語句(偽操作指令):不產(chǎn)生機(jī)器碼。無對(duì)應(yīng)的機(jī)器指令,匯編時(shí)對(duì)偽指令進(jìn)行處理,可完成數(shù)據(jù)定義、存儲(chǔ)區(qū)分配、段定義、段分配、指示程序結(jié)束等功能。格式——名字偽指令指示符操作數(shù),操作數(shù);注釋例:DATA1DB0F8H,60H,0ACH,74H語句格式—名字
偽指令操作符
操作數(shù),操作數(shù);注釋5助記符和偽操作指令助記符:MOV,ADD,….指示性(偽指令)操作符:DB,DW,SEGMENT,ENDS,ASSUME,END,….名字和標(biāo)號(hào):保留字第2節(jié)匯編語言源程序的格式6操作數(shù)匯編語言中的操作數(shù),可以是常數(shù)、變量、標(biāo)號(hào)、寄存器、存儲(chǔ)器或表達(dá)式。常數(shù)是固定值,沒有屬性,是確定的數(shù)據(jù)。二進(jìn)制:字母“B”結(jié)尾,例00110100B;八進(jìn)制:字母“Q”或“O”結(jié)尾,例1037O、2370Q;十進(jìn)制:字母“D”結(jié)尾或省略,或科學(xué)表示法,例1234D、5678、2.735E-2;十六進(jìn)制:字母“H”結(jié)尾,“A~F”開頭時(shí),前面加0,例56H、0A7F2H;字符串:用單引號(hào)‘’括起來,機(jī)內(nèi)存放的是各字符的ASCII碼。例‘ABC’。第2節(jié)匯編語言源程序的格式7操作數(shù)變量第2節(jié)匯編語言源程序的格式變量通常指存放在存儲(chǔ)單元中的值,程序運(yùn)行中可以修改。所有的變量都具有三個(gè)屬性。⑴段值(SEGMENT)⑵段內(nèi)偏移地址(OFFSET)⑶類型(TYPE)8操作數(shù)標(biāo)號(hào)第2節(jié)匯編語言源程序的格式
標(biāo)號(hào)是可執(zhí)行指令語句的地址的符號(hào)表示,可作為程序轉(zhuǎn)向的目標(biāo)地址。具有三個(gè)屬性。(1)段值(SEGMENT)(2)段內(nèi)偏移地址(OFFSET)(3)類型(TYPE)
類型NEAR,表示近標(biāo)號(hào),只能實(shí)現(xiàn)段內(nèi)轉(zhuǎn)移或調(diào)用;類型FAR,表示遠(yuǎn)標(biāo)號(hào),可以實(shí)現(xiàn)段間轉(zhuǎn)移或調(diào)用。注意:若標(biāo)號(hào)后面緊跟冒號(hào),表示隱含此標(biāo)號(hào)距離屬性為NEAR,也可用偽指令將此屬性改為FAR。9操作數(shù)表達(dá)式表達(dá)式:運(yùn)算對(duì)象+運(yùn)算符。在匯編時(shí)進(jìn)行運(yùn)算,運(yùn)算結(jié)果作為語句中的操作數(shù)。運(yùn)算對(duì)象:常數(shù)、變量、標(biāo)號(hào)。得到的運(yùn)算結(jié)果可以是一個(gè)常數(shù)字,也可以是一個(gè)存儲(chǔ)器的地址。MASM中6類運(yùn)算符:算術(shù)運(yùn)算符邏輯運(yùn)算符關(guān)系運(yùn)算符分析運(yùn)算符合成運(yùn)算符其它運(yùn)算符
第2節(jié)匯編語言源程序的格式10操作數(shù)MASM的表達(dá)式中的運(yùn)算符(1)11操作數(shù)MASM的表達(dá)式中的運(yùn)算符(2)12操作數(shù)MASM的表達(dá)式中的運(yùn)算符(3)13運(yùn)算符之一:算術(shù)運(yùn)算符+、-、*、/(除,只取除法運(yùn)算結(jié)果之商)、MOD(模,只取除法運(yùn)算結(jié)果之余數(shù))注意:所有的算術(shù)運(yùn)算符均可以進(jìn)行數(shù)據(jù)運(yùn)算,運(yùn)算對(duì)象與運(yùn)算結(jié)果都是整數(shù)。若對(duì)地址運(yùn)算,通常是在標(biāo)號(hào)上加/減某一個(gè)數(shù)字量。第2節(jié)匯編語言源程序的格式例:數(shù)組ARRAY定義如下
ARRAYDB1,2,3,4,5,6,7,8TRYDB20指令為:MOVAX,30*5MOVCX,(TRY-ARRAY)匯編時(shí),計(jì)算表達(dá)式形成如下指令:MOVAX,MOVCX,150814運(yùn)算符之一:算術(shù)運(yùn)算符第2節(jié)匯編語言源程序的格式例匯編程序指令格式如下:
DAEQU300MOVAX,DA-80MOVBX,DAMOD100MOVCX,DA/100MOVDH,01100100BSHR2
匯編時(shí),計(jì)算表達(dá)式形成指令為:
DAEQU300MOVAX,
MOVBX,
MOVCX,
MOVDH,2200319H15運(yùn)算符之二:邏輯運(yùn)算符第2節(jié)匯編語言源程序的格式包括4種:AND(與)、OR(或)、NOT(非)、XOR(異或)注意:按位運(yùn)算,只能對(duì)常數(shù)進(jìn)行運(yùn)算,得到結(jié)果也是常數(shù)。例MOVAL,NOT0FFHMOVBL,8CHAND73HMOVAH,8CHOR73H
匯編時(shí),計(jì)算表達(dá)式形成指令為:
MOVAL,
MOVBL,
MOVAH,
000FFH16運(yùn)算符之三:關(guān)系運(yùn)算符第2節(jié)匯編語言源程序的格式包括6種:EQ(相等)、NE(不等)、LT(小于)、GT(大于)、LE(小于或等于)、GE(大于或等于)。注意:關(guān)系運(yùn)算符的兩個(gè)操作數(shù)必須是數(shù)據(jù),或是同一段內(nèi)的兩個(gè)存儲(chǔ)單元的地址;若結(jié)果為真,輸出全是1,即0FFH或0FFFFH;若結(jié)果為假,輸出全是0。例MOVAX,10HGT16ADDBL,6EQ0110BMOVCX,((PORTLT5)AND100)OR((PORTGE5)AND200)匯編時(shí),計(jì)算表達(dá)式形成指令為:
MOVAX,
ADDBL,
MOVCX,;當(dāng)端口<5時(shí)00FFH100172.SEG【格式】SEG變量或標(biāo)號(hào)
【功能】取變量或標(biāo)號(hào)的段基值。例
MOVAX,SEGM1MOVDS,AX設(shè):M1是段名為DATA的數(shù)據(jù)段中的一個(gè)變量名;如DATA段從0500H開始,上述指令把0500H作為立即數(shù)在連接時(shí)插入指令,匯編后指令變?yōu)?MOVAX,MOVDX,AX運(yùn)算符之四:分析運(yùn)算符第2節(jié)匯編語言源程序的格式0500H183.TYPE【格式】TYPE變量或標(biāo)號(hào)
【功能】加在變量前,返回變量的類型屬性;加在標(biāo)號(hào)前,返回標(biāo)號(hào)的距離屬性。運(yùn)算符之四:分析運(yùn)算符第2節(jié)匯編語言源程序的格式TYPE運(yùn)算符返回值19運(yùn)算符之四:分析運(yùn)算符第2節(jié)匯編語言源程序的格式例A1DB20H,30HA2DW0438HA3DD?L1:MOVAH,TYPEA1MOVBH,TYPEA2ADDAL,TYPEA3MOVBL,TYPEL1
匯編時(shí),計(jì)算表達(dá)式形成指令為:
MOVAH,MOVBH,ADDAL,MOVBL,1240FFH204.LENGTH【格式】LENGTH變量
【功能】當(dāng)變量中使用DUP時(shí),LENGTH返回此變量數(shù),對(duì)其它變量則返回1。運(yùn)算符之四:分析運(yùn)算符第2節(jié)匯編語言源程序的格式例M1DW100DUP(?)M2DW1,2,3M3DB‘A,B,C,D‘MOVCX,LENGTHM1MOVBL,LENGTHM2MOVAL,LENGTHM3
匯編時(shí),計(jì)算表達(dá)式形成指令為:
MOVCX,
;返回變量所包含的100個(gè)字單元
MOVBL,MOVAL,0FFH11215.SIZE【格式】SIZE變量
【功能】加在變量前,返回該變量分配的總字節(jié)數(shù)。SIZE=LENGTH*TYPE。運(yùn)算符之四:分析運(yùn)算符第2節(jié)匯編語言源程序的格式例對(duì)上例定義的M1,M2,M3MOVCX,SIZEM1MOVBL,SIZEM2MOVAL,SIZEM3
匯編時(shí),計(jì)算表達(dá)式形成指令為:
MOVCX,;返回變量所包含的200個(gè)字單元MOVBL,MOVBL,2002122運(yùn)算符之五:合成運(yùn)算符1.PTR第2節(jié)匯編語言源程序的格式【格式】類型/距離PTR變量或標(biāo)號(hào)【功能】將PTR左邊的類型屬性賦給右邊的變量或標(biāo)號(hào)。注意:PTR本身不分配存儲(chǔ)單元,僅對(duì)已分配的存儲(chǔ)單元賦予新的屬性;常與類BYTE、WORD、NEAR、FAR等連用。23運(yùn)算符之五:合成運(yùn)算符第2節(jié)匯編語言源程序的格式例N1DB15H,36HN2DW1122H,3344HLO:MOVAX,WORDPTRN1;使N1轉(zhuǎn)換成AX類型
MOVBL,N2;使N2轉(zhuǎn)換成BL類型例MOV[BX],10H
分析:將立即數(shù)送入BX間址指定的存儲(chǔ)單元,可以通過PTR指明是存入字節(jié)單元還是字單元。
MOVBYTEPTR[BX],10H;MOVWORDPTR[BX],10H;也可用PTR來改變距離屬性,
JMPFARPTRLOP
在JMP語句中將標(biāo)號(hào)LOP改為FAR,使JMP指令在其它代碼段中也可以用,實(shí)現(xiàn)段間轉(zhuǎn)移。BYTEPTR
242.THIS第2節(jié)匯編語言源程序的格式【格式】變量/標(biāo)號(hào)EQUTHIS類型/距離【功能】將EQUTHIS右邊的類型/距離屬性,賦給左邊的變量/標(biāo)號(hào),該變量或標(biāo)號(hào)的段地址和偏移地址與下一個(gè)存儲(chǔ)單元的地址相同。(同一段存儲(chǔ)空間)【例】FIRSTEQUTHISBYTETABLEDW200DUP(?)FIRST的偏移地址值與TABLE的偏移地址值相同,區(qū)別在于FIRST變量為字節(jié)類型,TABLE為字類型。運(yùn)算符之五:合成運(yùn)算符25運(yùn)算符之五:合成運(yùn)算符3.SHORT第2節(jié)匯編語言源程序的格式【格式】SHORT
標(biāo)號(hào)【功能】說明轉(zhuǎn)移類指令中轉(zhuǎn)向地址的屬性為短轉(zhuǎn)移:-128~+127之間例L1:JMPSHORTL2………L2:MOVAX,026運(yùn)算符之六:其它運(yùn)算符超越運(yùn)算符“:”【格式】段前綴:變量或地址表達(dá)式【功能】表示某個(gè)變量或地址被修改。例:MOVAX,ES:[BX]HIGH和LOW【格式】HIGH/LOW變量或標(biāo)號(hào)【功能】HIGH和LOW稱為字節(jié)分離運(yùn)算符。例K1EQU0ABCDHK2EQU1234HMOVAH,HIGHK1MOVBL,LOWK2匯編時(shí),計(jì)算表達(dá)式形成指令為:MOVAH,MOVBL,第2節(jié)匯編語言源程序的格式0ABH34H27
圓括號(hào)():
()中的運(yùn)算符具有最高優(yōu)先權(quán)。方括號(hào)[]:方括號(hào)主要用來表示地址表達(dá)式或多重變量的下標(biāo)值。尖括號(hào)<>,及圓點(diǎn)·
在結(jié)構(gòu)中專用。
MASK和WIDTH
在記錄中專用。運(yùn)算符之六:其它運(yùn)算符第2節(jié)匯編語言源程序的格式28數(shù)據(jù)定義偽指令【格式1】變量名助記符操作數(shù),操作數(shù)…;注釋【格式2】變量名助記符nDUP(操作數(shù),操作數(shù)…);注釋【功能】指定的存儲(chǔ)單元,以分配存儲(chǔ)空間或存入操作數(shù)。
變量名——用符號(hào)表示,可以省略,后面不跟冒號(hào)。匯編時(shí)將變量助記符后的第一個(gè)字節(jié)的偏移地址作為它的符號(hào)地址。
助記符——所用偽指令助記符主要有:
DB:用來定義字節(jié);DW:用來定義字;DD:用來定義雙字;DQ:用來定義四個(gè)字;DT:用來定義十個(gè)字節(jié);
操作數(shù)——操作數(shù)可以是常數(shù),字符串,變量,表達(dá)式等。多個(gè)操作數(shù)之間必須用逗號(hào)分開;格式2中,n必須是正整數(shù)。
注釋——說明偽指令的功能,注釋前必須帶分號(hào)“;”。第3節(jié)偽操作命令29數(shù)據(jù)定義偽指令第3節(jié)偽操作命令例操作數(shù)是常數(shù)或表達(dá)式:
DA1DB10H,52H
;變量DA1中裝入10H,52HDA2DW1122H,34H
;變量DA2中裝入22H,11H,34H,00HDA3DD0A0H,0FFEEH
;變量DA3中裝入A0H,00H,00H,;00H,EEH,FFH,00H,00H30數(shù)據(jù)定義偽指令第3節(jié)偽操作命令例操作數(shù)是字符串
FIRSTDB‘HELLO’;字符串‘HELLO’的ASCII碼裝入FIRST;開始的存儲(chǔ)單元SECONDDW‘OK’;字符串‘OK’的ASCII碼裝入SECOND開始的;存儲(chǔ)單元;只能定義兩個(gè)字符,即多于2字
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 杭州市人力資源社保局勞動(dòng)合同
- 天津市貫徹勞動(dòng)合同法若干問題實(shí)施細(xì)則
- 《場(chǎng)景演練案例集》課件
- 2025年淄博道路運(yùn)輸從業(yè)資格證考試模擬試題
- 2025年迪慶道路運(yùn)輸從業(yè)人員資格考試內(nèi)容有哪些
- 2025年贛州貨運(yùn)上崗證考試題庫
- 2025年貨運(yùn)從業(yè)資格題庫軟件下載
- 礦山開采灰工施工合同
- 實(shí)習(xí)律師的領(lǐng)導(dǎo)力培養(yǎng)
- 企業(yè)合同印章管理規(guī)范
- 中醫(yī)思維在臨床中的應(yīng)用護(hù)理課件
- 生產(chǎn)與運(yùn)作管理第三版課后習(xí)題含答案版
- 高頻考點(diǎn)之評(píng)價(jià)與文本互證考題專練-2024年高考語文二輪復(fù)習(xí)三點(diǎn)突破講解專練
- 年會(huì)拜年祝福視頻腳本
- 蘇教版五年級(jí)數(shù)學(xué)上冊(cè)期末復(fù)習(xí)課件
- 上海交通大學(xué)2003年481物理化學(xué)考研真題
- 公司財(cái)務(wù)預(yù)算報(bào)告
- 金橋焊材產(chǎn)品質(zhì)量證明書-可-編-輯
- 國(guó)家一等獎(jiǎng)《紀(jì)念劉和珍君》教學(xué)設(shè)計(jì)
- 2023年醫(yī)療機(jī)構(gòu)消毒技術(shù)規(guī)范
- 小學(xué)生主題班會(huì) 憶偉人故事展少年風(fēng)采-紀(jì)念偉大領(lǐng)袖毛主席誕辰130周年 課件(共33張PPT內(nèi)嵌視頻)
評(píng)論
0/150
提交評(píng)論