《微機原理》第四章匯編語言程序設(shè)計(過控和機械).ppt
《《微機原理》第四章匯編語言程序設(shè)計(過控和機械).ppt》由會員分享,可在線閱讀,更多相關(guān)《《微機原理》第四章匯編語言程序設(shè)計(過控和機械).ppt(36頁珍藏版)》請在裝配圖網(wǎng)上搜索。
第四章8086匯編語言程序設(shè)計,4.1匯編語言程序結(jié)構(gòu),4.1.1匯編語言的語句格式,指令語句的一般格式如下:[標(biāo)號:]指令助記符(操作碼)操作數(shù);注釋,⑵偽指令語句格式,偽指令語句格式如下:[名字]偽指令符操作數(shù);注釋,⑴指令語句格式,4.1.2常數(shù)、變量、表達(dá)式,㈠常數(shù),⑴數(shù)值常數(shù),表各種形式數(shù)字常量格式對照表,字符串常量是用單引號引起來的一個或多個字符。字符串常量是以各字符的ASCⅡ碼表示的。如‘A’用41H表示,‘A1B2’用41H,31H,42H,32H表示。,⑵字符串常數(shù),㈡變量(或標(biāo)號),變量(或標(biāo)號)有三個屬性:段地址屬性、偏移地址屬性、類型屬性。,㈢表達(dá)式,⑴算術(shù)運算符(了解),算術(shù)運算符包括:+(加)、-(減)、*(乘)、/(除)、MOD(求模)等。,【例】用算術(shù)運算符進(jìn)行數(shù)值表達(dá)式運算。,MOVAL,25*4–50;AL=50=32HMOVBL,50/7;NUM2=7MOVDL,50MOD7;DL=1┆,邏輯運算符包括:AND、OR、XOR、NOT四種運算?!纠坑眠壿嬤\算符進(jìn)行運算。MOVAL,34HAND0FH;04H→ALMOVBL,05HOR30H;35H→BLMOVCX,NOT00FFH;0FF00H→CXMOVDX,789AHXOR000FH;7895H→DX,⑵邏輯運算符(了解),⑶關(guān)系運算符(了解),關(guān)系運算符包括:相等(EQ),不等(NE),小于(LT),大于(GT),小于等于(LE)及大于等于(GE)?!纠坑藐P(guān)系運算符進(jìn)行數(shù)值表達(dá)式運算。MOVDH,10LT5;DH=0MOVCL,0AAHGT7FH;CL=0FFHMOVAX,‘A‘EQ41H;0FFFFH→AXADDBL,5LT0101B;BL+0→BL,PTR運算符格式:類型PTR地址表達(dá)式PTR用來對存儲單元(重新)規(guī)定類型。,⑷屬性運算符,例如:MOVBYTEPTR[1000],0;[1000]清零MOVWORDPTR[1000],0;[1000]、[1001]清零,①SEG運算符格式:SEG變量或標(biāo)號功能:分離出其后變量或標(biāo)號所在段的段基址。例如:MOVAX,SEGARRMOVDS,AX②OFFSET運算符格式:OFFSET變量或標(biāo)號功能:分離出其后變量或標(biāo)號的偏移地址。例如:MOVBX,OFFSETBUF,⑸數(shù)值返回運算符,③TYPE運算符(了解)格式:TYPE變量或標(biāo)號,4.1.3偽指令,⑴數(shù)據(jù)定義偽指令,常用的數(shù)據(jù)定義偽指令有DB,DW,DD,DQ,DT。格式:[變量名]數(shù)據(jù)定義偽指令表達(dá)式[,…],⑵段定義偽指令SEGMENT/ENDS,,段名SEGMENT……本段程序內(nèi)容…段名ENDS,【例】為數(shù)據(jù)段分配存儲單元。DATASEGMENTADB11H,12H,13HBDW1122H,3344HCDD12345678HDATAENDS,【例】為字符串分配存儲單元。DATASEGMENTSTR1DB‘1234’STR2DW‘AB’,‘CD’,‘A’STR3DD‘AB’DATAENDS,┆NUM1EQU25*4–50;NUM1=50NUM2EQUNUM1/7;NUM2=7NUM3DBNUM1MOD7;(NUM3)=1VAR1DB1,2,3,4,5VAR2DB‘12345’NUM4EQUVAR2-VAR1;NUM4=5NUM5EQU0FH┆,【例】,⑶符號定義偽指令,格式:符號名EQU表達(dá)式,⑷段分配偽指令A(yù)SSUME,格式:ASSUME段寄存器:段名[,段寄存器:段名]【例】用ASSUME偽指令建立代碼段、堆棧段與CS和SS的對應(yīng)關(guān)系。DATA1SEGMENTADB1,2,3DATA1ENDSSTACKSEGMENTSTACKDB200DUP(0)STACKENDSDATA2SEGMENTBDB‘123ABC’DATA2ENDSDATA3SEGMENTCDB?,?,?DATA3ENDSCODESEGMENTASSUMEDS:DATA1,ES:DATA3,CS:CODE,SS:STACK,START:MOVAX,DATA1MOVDS,AX;DATA1→DSMOVAX,DATA3MOVES,AX;DATA3→ES┆CODEENDSENDSTART,⑸源程序結(jié)束偽指令,格式:END標(biāo)號,⑹置匯編地址計數(shù)器偽指令ORG,格式:ORG數(shù)值表達(dá)式【例】給匯編地址計數(shù)器賦值。DATASEGMENTORG10;置$值為10VAR1DW100H,200HORG$+5;置$的值為14+5,即為19VAR2DB1,2,$+1,$+2NEQU$-VAR2;($)=23,N=4DATAENDS,4.2常用的DOS系統(tǒng)功能調(diào)用,⑴單字符輸入(1號調(diào)用)格式:MOVAH,1INT21H功能:從鍵盤輸入字符的ASCII碼送入寄存器AL中,并顯示。,⑵單字符顯示(2號調(diào)用)格式:MOVDL,待顯示字符的ASCII碼MOVAH,2INT21H功能:將DL寄存器中的字符送顯示器顯示。,⑶結(jié)束調(diào)用(4CH號調(diào)用)格式:MOVAH,4CHINT21H功能:終止當(dāng)前程序并返回調(diào)用程序。,⑷顯示字符串(9號調(diào)用)格式:LEADX,待顯示字符串首偏移地址MOVAH,9INT21H功能:將當(dāng)前數(shù)據(jù)區(qū)中以‘$’結(jié)尾的字符串送顯示器顯示。,DATASEGMENTSTRDB0DH,0AH,Exampleofstringdisplay!$DATAENDSCODESEGMENTASSUMEDS:DATA,CS:CODEBEGIN:MOVAX,DATAMOVDS,AXLEADX,STRMOVAH,9INT21HMOVAH,4CHINT21HCODEENDSENDBEGIN,【例】若要在屏幕上顯示字符串“Exampleofstringdisplay!”,則程序如下:,綜合舉例,【例】已知一數(shù)據(jù)段中的數(shù)據(jù)為:DATASEGMENTADW0CHBUFDB‘AB’,0DH,0AHCEQU500HBDW0FFAAHDDDBUFMDB2DUP(1),2DUP(2,’B’)DATAENDS請畫出該數(shù)據(jù)段數(shù)據(jù)存儲的形式。,匯編語言程序設(shè)計一般有以下幾個步驟:步驟1:分析問題,確定算法步驟2:繪制流程圖步驟3:根據(jù)流程圖編制程序步驟4:調(diào)試程序,4.3順序程序設(shè)計,㈠匯編語言程序設(shè)計的一般步驟,①起止框,㈡流程圖,,②判斷框,,③處理框,,④指向線,⑤連接框,,㈢順序程序設(shè)計舉例,【例】試編寫一程序,將兩個一位十進(jìn)制數(shù)相加,要求算術(shù)式以字符串的形式存放在DATA1為首的單元中,結(jié)果存放在DATA2單元中。,CODESEGMENTASSUMEDS:DATA,CS:CODESTART:MOVAX,DATAMOVDS,AX;DATA→AXXORAX,AXMOVAL,DATA1ADDAL,DATA1+2AAAORAL,30HMOVDATA2+1,ALORAH,30HMOVDATA2,AHLEADX,DATA1MOVAH,9INT21HMOVAH,4CHINT21HCODEENDS;退出DOS狀態(tài)ENDSTART,,開始,,被加數(shù)→AL,,用ADD完成兩個數(shù)相加,,AAA調(diào)整,結(jié)果送DATA2,,顯示算術(shù)式和顯示結(jié)果,,返回DOS,結(jié)束,DATASEGMENTDATA1DB6+8=DATA2DB?,?,$DATAENDS,4.4分支程序設(shè)計,⑴無條件轉(zhuǎn)移指令,㈠轉(zhuǎn)移指令,JMP標(biāo)號(MEM/REG),⑵條件轉(zhuǎn)移指令,①根據(jù)單個標(biāo)志位的條件轉(zhuǎn)移指令,②無符號數(shù)條件轉(zhuǎn)移指令,【例】比較無符號數(shù)大小,將較大的數(shù)存放AX寄存器。CMPAX,BX;(AX)-(BX)JNBNEXT;若AX>=BX,轉(zhuǎn)移到NEXTXCHGAX,BX;若AX=BX,轉(zhuǎn)移到NEXTXCHGAX,BX;若AX- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 微機原理 微機 原理 第四 匯編 語言程序設(shè)計 機械
鏈接地址:http://italysoccerbets.com/p-12673327.html