微機(jī)原理與接口技術(shù)38086尋址方式與指令系統(tǒng).ppt_第1頁(yè)
微機(jī)原理與接口技術(shù)38086尋址方式與指令系統(tǒng).ppt_第2頁(yè)
微機(jī)原理與接口技術(shù)38086尋址方式與指令系統(tǒng).ppt_第3頁(yè)
微機(jī)原理與接口技術(shù)38086尋址方式與指令系統(tǒng).ppt_第4頁(yè)
微機(jī)原理與接口技術(shù)38086尋址方式與指令系統(tǒng).ppt_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第3章,第3章 8086尋址方式與指令系統(tǒng),第3章:3.3 數(shù)據(jù)傳送類指令,數(shù)據(jù)傳送是計(jì)算機(jī)中最基本、最重要的一種操作,傳送指令也是最常使用的一類指令 傳送指令把數(shù)據(jù)從一個(gè)位置傳送到另一個(gè)位置 除標(biāo)志寄存器傳送指令外,均不影響標(biāo)志位 重點(diǎn)掌握 MOV XCHG XLAT PUSH POP LEA,第3章: 3.3.1 通用數(shù)據(jù)傳送指令,提供方便靈活的通用傳送操作 有3條指令 MOV XCHG XLAT,MOV,XCHG,XLAT,第3章:1. 傳送指令MOV(move),把一個(gè)字節(jié)或字的操作數(shù)從源地址傳送至目的地址,MOV reg/mem,imm ;立即數(shù)送寄存器或主存,MOV reg/mem/seg,reg ;寄存器送(段)寄存器或主存,MOV reg/seg,mem ;主存送(段)寄存器,MOV reg/mem,seg ;段寄存器送寄存器或主存,演示,第3章:MOV指令立即數(shù)傳送,mov cl,4 ;cl4,字節(jié)傳送 mov dx,0ffh ;dx00ffh,字傳送 mov si,200h ;si0200h,字傳送 mov bvar,0ah ;字節(jié)傳送 ;假設(shè)bvar是一個(gè)字節(jié)變量,定義如下:bvar db 0 mov wvar,0bh ;字傳送 ;假設(shè)wvar是一個(gè)字變量,定義如下:wvar dw 0,明確指令是字節(jié)操作還是字操作,第3章:MOV指令寄存器傳送,mov ah,al ;ahal,字節(jié)傳送 mov bvar,ch ;bvarch ,字節(jié)傳送 mov ax,bx ;axbx,字傳送 mov ds,ax ;dsax,字傳送 mov bx,al ;bxal,字節(jié)傳送,寄存器具有明確的字節(jié)和字類型,第3章:MOV指令存儲(chǔ)器傳送,mov al,bx ;alds:bx mov dx,bp ;dxss:bp+0 mov dx,bp+4 ;dxss:bp+4 mov es,si ;esds:si,不存在存儲(chǔ)器向存儲(chǔ)器的傳送指令,第3章:MOV指令段寄存器傳送,mov si,ds mov ax,ds ;axds mov es,ax ;esaxds,對(duì)段寄存器的操作不靈活,第3章:MOV指令傳送功能圖解,MOV指令也并非任意傳送!,非法指令的主要現(xiàn)象: 兩個(gè)操作數(shù)的類型不一致 無(wú)法確定是字節(jié)量還是字量操作 兩個(gè)操作數(shù)都是存儲(chǔ)器 段寄存器的操作有一些限制,第3章:非法指令兩個(gè)操作數(shù)類型不一致,在絕大多數(shù)雙操作數(shù)指令中,目的操作數(shù)和源操作數(shù)必須具有一致的數(shù)據(jù)類型,或者同為字量,或者同為字節(jié)量,否則為非法指令 MOV AL, 050AH ;非法指令,修正: ;mov ax,050ah MOV SI, DL ;非法指令,修正: ;mov dh,0 ;mov si,dx,第3章:非法指令無(wú)法確定是字節(jié)量還是字量操作,當(dāng)無(wú)法通過(guò)任一個(gè)操作數(shù)確定是操作類型時(shí),需要利用匯編語(yǔ)言的操作符顯式指明 MOV BX+SI, 255 ;非法指令,修正: ;mov byte ptr bx+si,255 ;byte ptr 說(shuō)明是字節(jié)操作 ;mov word ptr bx+si,255 ;word ptr 說(shuō)明是字操作,第3章:非法指令兩個(gè)操作數(shù)都是存儲(chǔ)器,8088指令系統(tǒng)除串操作指令外,不允許兩個(gè)操作數(shù)都是存儲(chǔ)單元(存儲(chǔ)器操作數(shù)) MOV buf2, buf1 ;非法指令,修正: ;假設(shè)buf2和buf1是兩個(gè)字變量 ;mov ax,buf1 ;mov buf2,ax ;假設(shè)buf2和buf1是兩個(gè)字節(jié)變量 ;mov al,buf1 ;mov buf2,al,第3章:非法指令段寄存器的操作有一些限制,8088指令系統(tǒng)中,能直接對(duì)段寄存器操作的指令只有MOV等個(gè)別傳送指令,并且不靈活 MOV DS, ES ;非法指令,修正: ;mov ax,es ;mov ds,ax MOV DS, 100H ;非法指令,修正: ;mov ax,100h ;mov ds,ax MOV CS, SI ;非法指令 ;指令存在,但不能執(zhí)行,第3章:2. 交換指令XCHG(exchange),把兩個(gè)地方的數(shù)據(jù)進(jìn)行互換,寄存器與寄存器之間對(duì)換數(shù)據(jù) 寄存器與存儲(chǔ)器之間對(duì)換數(shù)據(jù) 不能在存儲(chǔ)器與存儲(chǔ)器之間對(duì)換數(shù)據(jù),XCHG reg,reg/mem ;reg reg/mem,演示,第3章:例2.2 數(shù)據(jù)交換,mov ax,1199h ;ax=1199h xchg ah,al ;ax=9911h ;等同于 xchg al,ah mov wvar,5566h ;wvar是一個(gè)字量變量 xchg ax,wvar ;ax=5566h,wvar=9911h ;等同于 xchg wvar,ax xchg al,byte ptr wvar+1 ;ax=5599h,wvar=6611h ;“byte ptr wvar+1”強(qiáng)制為字節(jié)量,只取高字節(jié)與AL類型交換,否則數(shù)據(jù)類型不匹配,第3章:3. 換碼指令XLAT(translate),將BX指定的緩沖區(qū)中、AL指定的位移處的一個(gè)字節(jié)數(shù)據(jù)取出賦給AL,換碼指令執(zhí)行前: 在主存建立一個(gè)字節(jié)量表格,內(nèi)含要轉(zhuǎn)換成的目的代碼 表格首地址存放于BX,AL存放相對(duì)表格首地址的位移量 換碼指令執(zhí)行后: 將AL寄存器的內(nèi)容轉(zhuǎn)換為目標(biāo)代碼,XLAT ;alds:bx+al,演示,第3章:3.3.2 堆棧操作指令,堆棧是一個(gè)“后進(jìn)先出FILO”(或說(shuō)“先進(jìn)后出FILO”)的主存區(qū)域,位于堆棧段中;SS段寄存器記錄其段地址 堆棧只有一個(gè)出口,即當(dāng)前棧頂;用堆棧指針寄存器SP指定 堆棧只有兩種基本操作:進(jìn)棧和出棧,對(duì)應(yīng)兩條指令PUSH和POP,圖示,第3章:進(jìn)棧指令PUSH,進(jìn)棧指令先使堆棧指針SP減2,然后把一個(gè)字操作數(shù)存入堆棧頂部,PUSH r16/m16/seg ;SPSP2 ;SS:SPr16/m16/seg,演示,push ax push 2000h,第3章:出棧指令POP,出棧指令把棧頂?shù)囊粋€(gè)字傳送至指定的目的操作數(shù),然后堆棧指針SP加2,POP r16/m16/seg ; r16/m16/segSS:SP ;SPSP2,pop ax pop wvar,演示,第3章:堆棧操作的特點(diǎn),堆棧操作的單位是字,進(jìn)棧和出棧只對(duì)字量 字量數(shù)據(jù)從棧頂壓入和彈出時(shí),都是低地址字節(jié)送低字節(jié),高地址字節(jié)送高字節(jié) 堆棧操作遵循先進(jìn)后出原則,但可用存儲(chǔ)器尋址方式隨機(jī)存取堆棧中的數(shù)據(jù) 堆棧段是程序中不可或缺的一個(gè)內(nèi)存區(qū),常用來(lái) 臨時(shí)存放數(shù)據(jù) 傳遞參數(shù) 保存和恢復(fù)寄存器,第3章:3.3.3 標(biāo)志操作指令,1. 標(biāo)志位操作指令 CLC ;復(fù)位進(jìn)位標(biāo)志:CF0 STC ;置位進(jìn)位標(biāo)志:CF1 CMC ;求反進(jìn)位標(biāo)志:CFCF CLD ;復(fù)位方向標(biāo)志:DF0 STD ;置位方向標(biāo)志:DF1 CLI ;復(fù)位中斷標(biāo)志:IF0 STI ;置位中斷標(biāo)志:IF1 2. 標(biāo)志寄存器低字節(jié)與AH的傳送指令 3. 標(biāo)志寄存器出入堆棧指令,將存儲(chǔ)器操作數(shù)的有效地址送至指定的16位通用寄存器,第3章:有效地址傳送指令LEA(load effective address),LEA r16, mem ;r16mem的有效地址EA,例題2.5 有效地址的獲取 mov bx,400h mov si,3ch lea bx,bx+si+0f62h ;BX400H3CH0F62H139EH,第3章:例2.6 地址傳送與內(nèi)容傳送,wvar dw 4142h ;假設(shè)偏移地址為04H mov ax,wvar ;內(nèi)容傳送:AX4142H lea si,wvar ;地址傳送:SI0004H ;等同于 lea si, 0004h mov cx,si ;內(nèi)容傳送:CX4142H mov di,offset wvar ;mov di,0004h ;利用操作符OFFSET獲取變量的有效地址 mov dx,di ;內(nèi)容傳送:DX4142H,第3章:調(diào)試程序DEBUG,DEBUG是常用的匯編語(yǔ)言級(jí)調(diào)試工具,為匯編語(yǔ)言程序員提供了分析指令、跟蹤程序的有效手段 常用命令: A 匯編 U 反匯編 T 單步執(zhí)行 G 斷點(diǎn)執(zhí)行 D 數(shù)據(jù)顯示 R 寄存器 啟動(dòng)方法 DOS下執(zhí)行DEBUG.EXE程序 Windows 9x中進(jìn)入M

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論