微機原理課件第9講.ppt

微機原理課件第9講.ppt

ID:51495658

大小:1.15 MB

頁數(shù):42頁

時間:2020-03-24

微機原理課件第9講.ppt_第1頁
微機原理課件第9講.ppt_第2頁
微機原理課件第9講.ppt_第3頁
微機原理課件第9講.ppt_第4頁
微機原理課件第9講.ppt_第5頁
資源描述:

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

1、第四章匯編語言程序設(shè)計4.1匯編語言的程序結(jié)構(gòu)和語句格式4.2偽指令語句4.3匯編語言程序設(shè)計基礎(chǔ)4.2偽指令語句【偽指令語句】在匯編期間進行處理,主要完成變量定義,存儲器分配,指示程序開始和結(jié)束,段定義,段分配等。偽指令沒有對應(yīng)的機器代碼,不像指令語句那樣由CPU來執(zhí)行,它是由匯編程序在匯編期間進行處理。偽指令則不產(chǎn)生與之相應(yīng)的目標(biāo)代碼。示例偏移量機器碼程序0000CODESEGMENTASSUMECS:CODE00000405PROG_S:ADDAL,05H000290NOP0003EBFBJMPSHORTPROG_S000590NOP0006CODEE

2、NDSEND偽指令語句分類數(shù)據(jù)定義語句,如DB,DW,DD等標(biāo)號賦值語句,如EQU,=等段定義語句,如SEGMENT…ENDS段分配語句,如ASSUME過程定義語句,如PROC…ENDP程序開始結(jié)束語句,如ORG,END數(shù)據(jù)定義偽指令【格式1】變量名助記符操作數(shù)1,…操作數(shù)n;注釋【格式2】變量名助記符nDUP(操作數(shù)1,…操作數(shù)n);注釋功能:將操作數(shù)存入變量名指定的存儲單元中,或者只分配存儲空間不存入數(shù)據(jù)。變量名:用符號表示,可以省略,后面不跟冒號。匯編時將變量助記符后的第一個字節(jié)的偏移地址作為它的符號地址。助記符:所用偽指令助記符主要有DB,DW,DD

3、,DQ,DT。數(shù)據(jù)定義偽指令操作數(shù):操作數(shù)可以是常數(shù),字符串,變量,標(biāo)號,表達式等。多個操作數(shù)之間必須用逗號分開;格式2中,n必須是正整數(shù)。注釋:說明偽指令的功能,可以省略,注釋前必須帶分號“;”,如果注釋在一行中注釋寫不下,換行寫時,前面必須加上分號。數(shù)據(jù)定義偽指令【例】操作數(shù)是常數(shù)和表達式DA1DB10H,52HDA2DW1122H,34HDA3DD5*20H,0FFEEH匯編后數(shù)據(jù)在存儲器中存放格式如圖所示:105222113400DA1DA21122H34HA0000000DA3EEFF000000A0H0FFEEH數(shù)據(jù)定義偽指令【例】操作數(shù)是字符串

4、FIRSTDB‘HELLO’SEDW‘OK’DW在定義字符串時,只能定義兩個,若要定義多個字符,只能用DB。匯編后數(shù)據(jù)在存儲器中存放格式如圖所示:48454C4CFIRST‘HELLO’4B4FSEKO4FDB與DW在存放上的區(qū)別①NUM1DB12H,34H②NUM2DW1234H③CHAR1DB‘OK’④CHAR1DW‘OK’1234NUM13412NUM24F4BCHAR1OK4B4FCHAR2KO數(shù)據(jù)定義偽指令【例】操作數(shù)用DUP定義重復(fù)變量。ONEDB5DUP(0)TWODW10DUP(?)THRDB4DUP(1,2DUP(20H))00…ONE?…

5、TWO00…?012020…THR0120205個20個4個下列變量各占多少字節(jié)?A1DW23H,5876HA2DB3DUP(?),0AH,0DH,‘$’A3DD5DUP(1234H,567890H)A4DB4DUP(3DUP(1,2,‘ABC’))課堂練習(xí)A1:2*2=4A2:3+3=6A3=5*(4+4)=40A4:4*(3*5)=60段定義語句?分類名:匯編時,匯編程序連接時將所有分類名相同的邏輯段組成一個段組?!境R姼袷健慷蚊鸖EGMENT邏輯段內(nèi)容段名ENDS我們在學(xué)習(xí)時,可以忽略其它因素,會識別,使用常用格式即可。段分配語句【段分配語句】ASSU

6、ME【格式】ASSUMECS:段名,DS:段名,SS:段名,ES:段名?段名必須是前面段定義語句SEGMENT…ENDS中定義的段名。?代碼段的定義是必須的。?段程序開始時,需要將數(shù)據(jù)段(除代碼段)的段基址裝入相應(yīng)的段寄存器中。數(shù)據(jù)段段基地址→DS,堆棧段段基地址→SS,擴展段段基地址→ES,【例】兩個16位無符號二進制數(shù)相乘DATASEGMENTD1DW1234HD2DW5678HP1DW?P2DW?DATAENDSSTACKSEGMENTSTACK‘STACK’STTDB100DUP(?)TOPEQULENGTHSTTSTACKENDSCODESEGME

7、NTASSUMECS:CODE,DS:DATA,SS:STACKSTART:;程序部分CODEENDSENDSTART數(shù)據(jù)段堆棧代碼段程序部分MOVAX,STACK;初始化SS,SPMOVSS,AXMOVSP,TOP;棧頂偏移地址送堆棧指示器SP中。MOVAX,DATA;初始化DS,必須先送AX,再轉(zhuǎn)存MOVDS,AXL1:MOVAX,D1;D1*D2,積的高位在DX,低位在AXMULD2MOVBX,OFFSETP1;積送P2和P1指向的存儲單元MOV[BX],AXMOV[BX+2],DXMOVAH,4CHINT21H;可以參閱教材P140,返回DOS方式不

8、一樣過程定義語句過程也稱為子過程,可以節(jié)省存儲空間,

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

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

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