版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第1章 基礎(chǔ)知識1、2、8、10、16進制,以及各進制之間的轉(zhuǎn)換 例:(369)10=(101110001)2=(561)8=(171)162、原碼、補碼,即表示范圍 例:(60)10=(3C)原=(3C)補 (-60)10=(BC)原=(C4)補 16進制數(shù)98H,表示無符號數(shù)(152),帶符號數(shù)(-104)數(shù)值上加起來是256 8位無符號數(shù)表示范圍:0(00H)255(FFH),有符號數(shù):-128(80H)+127(7FH) 16位無符號數(shù):0(00H)65535(FFFFH),有符號數(shù)-32768(8000H)+32767(7FFFH)3、 補碼的加、減法計算(可參考后面ADD、ADC指
2、令)4、 與、或、非運算(可參考后面AND、OR、NOT指令)5、常用的ASCII碼(數(shù)字048,即30H;大寫字母A65,即41H,小寫字母a97,即61H) 大小寫字母轉(zhuǎn)換:加/減32,即20H例1:將以存儲器內(nèi)BUF指定的字符串(的小寫字母全部改成大寫字母,是大寫字母的不修改。()解:LEA BX, BUFMOV AL, BXCMP AL, aJBEXITCMP AL, zJAEXITSUB AL, 32例2:由鍵盤輸入的小寫字母全部改成大寫字母輸出顯示解:MOV AH, 01H;從鍵盤接收數(shù)據(jù),一號調(diào)用INT 21H SUB AL,32MOV DL, ALMOV AH, 02HINT
3、21H第2章 8x86計算機組織1、 匯編語言源程序.asm文件經(jīng)過MASM的編譯形成.obj的目標(biāo)文件,后經(jīng)LINK的連接形成.exe的可執(zhí)行文件DEBUG調(diào)試。2、8086的字長16位、地址線20位,最大尋址范圍1M(2的20次方);但20位地址分成兩個部分16位段地址+16位段內(nèi)偏移。3、8086的寄存器組(重點) 3.1通用寄存器:AX、BX、CX、DX(其每個都能分成兩個單獨的8位寄存器) AX累加器,乘法的被乘數(shù),除法中的被除數(shù),I/O操作 BX基址 CX循環(huán)計數(shù),與LOOP等指令聯(lián)用 DX與AX聯(lián)用,乘積高位、被除數(shù)高位 SI、DI存放地址數(shù)據(jù),一般和DS聯(lián)用,但在串指令中,源串
4、地址由SI指定,與DS聯(lián)用,目的串地址由DI指定,與ES聯(lián)用。 3.2 專用寄存器 IP指令指針,存放下一條指令地址,與CS聯(lián)用,系統(tǒng)修改,用戶程序不能修改 SP棧頂指針,與SS聯(lián)用(只能做16bit運算) PSW(FLAGS)程序狀態(tài)字(1真0假):CF、OF、SF、ZF、DF(方向位)、TF(陷阱位)、IF(中斷位)各位含義? 特別注意CF和OF的區(qū)別,無符號數(shù)溢出可以用CF來判斷,有符號溢出要用OF來判斷 3.3 段寄存器:CS、DS、ES、SS3、存儲器地址 邏輯地址(相對地址)、物理地址(絕對地址) 物理地址 = 段地址*16 + 偏移地址 內(nèi)存是8位編址,存放數(shù)據(jù)時高位數(shù)據(jù)在高地址
5、,低位數(shù)據(jù)在低地址 例1:BUF DW 1234H,5678H,畫出其在內(nèi)存中存放1234HHH34H (2000H)12H78H56H (2003H) 例2:設(shè)SP=2000H,AX=1234H,BX=5678H,CX=9ABCH,在PUSH AX ;sp從棧頂向下壓,指針做減2操作PUSH BXPUSH CXPOP AX 后SP=(?=1FFCH),AX=(?=9ABCH),畫出其存放示意圖BC (1FFAH)SP9A (1FFBH)78 (1FFCH)56 (1FFDH)34(1FFEH)12 (1FFFH)第3章 8x86的指令系統(tǒng)和尋址方式(重點)1、 指令的格式:操作碼 操作數(shù)2、
6、尋址方式(非常重要) 2.1 立即數(shù)尋址 MOV AL,5 2.2 寄存器(直接)尋址 MOV AX,BX 2.3 直接尋址:MOV AX,【2000H】或MOV AX,X (變量或數(shù)據(jù)直接給出存儲器地址) 有效地址EA:2000H,物理地址PA:16*段首+EA 段首一般指向DS,若MOV AX,ES:2000H,段首由前綴ES指定 2.4 寄存器間接尋址 MOV AX,【BX】(BX中存放內(nèi)存地址,如2000H) 簡接地址由BX、BP、SI、DI指定。 EA=寄存器內(nèi)值,PA=16*段首+EA 注意:寄存器的默認連接段,BX、SI、DI默認DS,BP默認SS 有段前綴的則有段前綴指定,如M
7、OV AX,ES:【BX】 2.5 寄存器相對尋址(基地址BX/BP+指定位移量) MOV AX,【BX+100H】或MOV AX,100H【BX】 EA:(BX)+100H,PA:16*段首+EA 2.6基址變址尋址(基址BX/BP+變址SI/DI) MOV AX,【BX+SI】或MOV AX,【BX】【SI】 EA:(BX)+(SI),PA:16*段首+EA(由基址寄存器指定段首) 2.7相對基址變址尋址(基址BX/BP+變址SI/DI+位移量) MOV AX,【BX+SI+100H】 MOV AX,MASK【BX+SI】 EA:(BX)+(SI)+位移(100H或MASK)PA:16*段
8、首+EA(由基址寄存器指定段首)例如:DX=1000H,BX=1000H,SI=1234H,則指令MOV AX,BX+SI+2的源操作數(shù)在( 12236H )中。3、8x86指令系統(tǒng)(非常重要)3.1 數(shù)據(jù)傳送指令 3.1.1 MOV 傳送放向(重要)MOV 1000H,MASK(必須有個寄存器)MOV DS,DATA(DS不能做目的)MOV CS,AX(CS不可更改)MOV AL,BX(長度不匹配)MOV 2,AX (立即數(shù)不能做目的)以上指令都非法 例:用MOV指令編寫程序段,在BUF為首址的26個字節(jié)單元中依次存放字母az解:LEA BX,BUFMOV CX, 26
9、MOV AL, a L1: MOV BX, ALINC BXINC ALLOOP L1 3.1.2 PUSU、POP PUSH:SP減1,高8數(shù)據(jù)入;SP減1,低8位數(shù)據(jù)入 例如:PUSH AX, 1、SP-1,AH入,2、SP-1,AL入 POP:低8數(shù)據(jù)出,SP+1;高8數(shù)據(jù)出,SP+1 例如:POP AX, 1、SP下數(shù)據(jù)進AL,SP+1;2、SP下數(shù)據(jù)進AH,SP+1 例: 設(shè)SP初值為2080H,執(zhí)行指令POP BX后,SP的值是? 2082H 3.1.3 XCHG 交換 3.1.4 XLAT 換碼(重要) 表由DS:BX指定,AL是表內(nèi)偏移;換碼后的結(jié)果進入AL 例如:
10、DATA SEGMENT TABLE DB 5,7,3,8,2,1,9,0,4,6 DATA ENDS 設(shè) AL=2 MOV AX,DATA MOV DS,AX LEA BX,TABLE;或MOV BX,OFFSET TABLE XLAT ;(換碼結(jié)果AL=3) 例:接收從鍵盤輸入的10個十進制數(shù)字,輸入回車符則停止,這些數(shù)字加密后(用XLAT指令變換)存 入內(nèi)存緩沖區(qū)BUF。寫出完整的數(shù)據(jù)段和代碼段定義,變換中使用的加密表如上。解: DATA SEGMENT TABLE DB 5,7,3,8,2,1,9,0,4,6BUF DB 10 DUP(?) DATA ENDS CODE SEGEMEN
11、TASSUME CS:CODE, DS, DATA START:MOV AX, DATAMOV DS, AXLEA BX, TABLELEA SI, BUFMOV CX, 10 L1: MOV AH, 01H;獲取鍵盤輸入INT 21HCMP AL, 0DH;回車符?JZ EXITXLATMOV SI, ALINC SILOOP L1EXIT: MOV AL, 4CHINT 21H CODE ENDSENDS START 3.1.5 LEA求有效地址,等效于 MOV OFFSET 3.1.6 CBW、CWD (符號位賦值擴位) 8AL->16位AX,16位AX->32位(DX,AX
12、),符號位復(fù)制的方法擴位 例如,AL=36H,則擴位后AX=(0036H);或AL=88H,則擴位后AX=(FF88H)3.2 算術(shù)指令 3.2.1 加法指令A(yù)DD、ADC、INC,注意其對標(biāo)志位的影響 例如:書61頁,例3.45 3.2.2 減法指令 SUB、SBB、DEC,CMP,NEG。標(biāo)志位影響 例如:書63頁,例3.48例:設(shè)AL=24H,SI=0600H,DS=3000H,(30600H)=0B0H,CF=1。執(zhí)行SBB AL,SI后,AL、SF、CF、ZF、OF等結(jié)果是?注意:CMP指令兩個操作數(shù)減后設(shè)標(biāo)志位,但不保留減法結(jié)果AL = 24H - 0B0H - 1 =
13、73H (0111 0011)SF = 0 (2進制首位)CF = 1;借位ZF = 0OF = 0例1:三個數(shù)中AX,BX,CX,(無符號)編寫指令將最大數(shù)放在AX中解:CMP AX, BXJB N1CMP AX, CXJBN1:XCHG AX, BX3.3.3乘法指令 MUL(無符號乘),IMUL(有符號乘); 被乘數(shù)在AL/AX,另一個乘數(shù)在指令中。乘積長度擴一倍 例如8位乘法 MUL BL ; AL*BL->AX 16位乘法 MUL BX,AX*BX->DX,AX 設(shè)AL=02H,BL=0F6H,執(zhí)行IMUL BL結(jié)果是?3.3.4 除法指令 DIV(無符號除),IDIV(
14、無符號除) 被除數(shù)位數(shù)是除數(shù)的2倍,被除數(shù)由DX,AX或AX指定,商在低位,余數(shù)在高位 8位除法:DIV BL,AX/BL 商在AL,余數(shù)在AH 16位除法(DX,AX)/BX 商在AX,余數(shù)在DX例1:設(shè) X、Y、Z、W為16位有符號數(shù)編程計算: W(X*Y+Z)/4)-Y。寫出完成的數(shù)據(jù)段和代碼段定義,設(shè)X=98H,Y=76H,Z=54H。(10分)P63 3.50DATA SEGMENT X DW 98HY DW 76HZ DW 54HW DW ?DATA ENDSCODE SEGMRNTASSUME CS:CODE,DS:DATASTART:
15、MOV AX,DATA MOV DS,AX MOV AX,X MOV BX,Y IMUL BX ADD AX,Z ADC DX,0 MOV BX,4 IDIV BX SUB AX,YMOV W,AXMOV AH,4CHINT 21HCODE ENDSEND START例2:對于存儲器內(nèi)定義的10個有符號字數(shù)據(jù),求出其平均值放在AL中? BUF DW 2,8,1,-8,9,4, LEA BX,BUF MOV AX,0 CLC MOV CX,10 L1:ADC AX,BX ADD BX,2 LOOP L1 MOV CL,10 IDIV CL 3.3.5邏輯運算指令 AND、OR、NOT、XOR、T
16、EST 各個指令的運算,其中TEST和AND計算一樣,但只設(shè)標(biāo)志位,不保留計算結(jié)果 注意:各個指令的一些用法,比如要將某些位置1,置0,求反,全部清0如果用上述指令完成例:將AL第3、5位置為1?OR AL, 00101000將AL第3、5位置為0?AND AL, 11010111取反?XOR AL, 001010003.3.6 移位指令SHL、SAL、SHR、SAR、ROL、ROR、RCL、RCR 注意移位時移出的位一律進CF,移入的位要分情況,具體見73頁圖3.14 右移->除2,左移->乘2例:AL=0B6H,CL=2,CF=1,確定下列各條指令獨立執(zhí)行后,AL和CF中的值。
17、 (1) SHR AL,1; (2)RCL AL,CL;AL=0101 1011=5BHAL=1101 1011=DBHCF=0CF=03.4 控制轉(zhuǎn)移指令3.41 JMP 無條件跳轉(zhuǎn)(根據(jù)后面計算EA->IP) 例如:JMP BX;JMP TABLEBX 設(shè)BX=2000H,TABLE=1000H,DS=1234H(1) JMP BX執(zhí)行后,IP=2000H(2) JMP TABLEBX執(zhí)行后,計算DS*16+TABLE+BX的值,根據(jù)該值到內(nèi)存取數(shù)據(jù)放IP 3.4.2 條件跳轉(zhuǎn) JC/JNC :CX不等于0且CF=1(CF=0) JS/JNS 其他類似 無符號數(shù):JB、JA 有符號數(shù) JG、JL LOOP、LOOPZ/LOOPE、LOOPNZ/LOOP
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 標(biāo)準(zhǔn)二手寫字樓買賣合同6篇
- 精準(zhǔn)醫(yī)療的基石實時超聲科案例分析
- 視頻編輯初級教程制作專業(yè)影音作品
- 課題申報參考:可行能力視角下進城農(nóng)民農(nóng)村集體經(jīng)濟組織權(quán)益的保障機制重構(gòu)研究
- 2024年AB膠項目資金需求報告
- 科技產(chǎn)品在小紅書的營銷策略研究
- 二零二五年度工業(yè)廠房租賃安全風(fēng)險評估與管理合同3篇
- 二零二五年度電子商務(wù)平臺交易催收保密合同2篇
- 2025年滬教版選修6地理上冊月考試卷含答案
- 2025年外研銜接版高一歷史下冊階段測試試卷
- 圖像識別領(lǐng)域自適應(yīng)技術(shù)-洞察分析
- 個體戶店鋪租賃合同
- 禮盒業(yè)務(wù)銷售方案
- 二十屆三中全會精神學(xué)習(xí)試題及答案(100題)
- 小學(xué)五年級英語閱讀理解(帶答案)
- 仁愛版初中英語單詞(按字母順序排版)
- (正式版)YS∕T 5040-2024 有色金屬礦山工程項目可行性研究報告編制標(biāo)準(zhǔn)
- 小學(xué)一年級拼音天天練
- 新概念英語第二冊考評試卷含答案(第49-56課)
- 【奧運會獎牌榜預(yù)測建模實證探析12000字(論文)】
- 保安部工作計劃
評論
0/150
提交評論