微機原理與接口技術(shù)習題答案_第1頁
微機原理與接口技術(shù)習題答案_第2頁
微機原理與接口技術(shù)習題答案_第3頁
微機原理與接口技術(shù)習題答案_第4頁
微機原理與接口技術(shù)習題答案_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第3章 8086/8088指令系統(tǒng)與尋址方式習題3 3 8086系統(tǒng)中,設(shè)ds=1000h,es=2000h,ss=1200h,bx=0300h,si=0200h,bp=0100h,var的偏移量為0600h,請指出下列指令的目標操作數(shù)的尋址方式,若目標操作數(shù)為存儲器操作數(shù),計算它們的物理地址。(1)mov bx,12 ;目標操作數(shù)為寄存器尋址(2)mov bx,12 ;目標操作數(shù)為寄存器間址 pa=10300h(3)mov es:si,ax ;目標操作數(shù)為寄存器間址 pa=20200h(4)mov var,8 ;目標操作數(shù)為存儲器直接尋址 pa=10600h(5)mov bxsi,ax ;目

2、標操作數(shù)為基址加變址尋址 pa=10500h(6)mov 6bpsi,al ;目標操作數(shù)為相對的基址加變址尋址 pa=12306h(7)mov 1000h,dx ;目標操作數(shù)為存儲器直接尋址 pa=11000h(8)mov 6bx,cx ;目標操作數(shù)為寄存器相對尋址 pa=10306h (9)mov var+5,ax ;目標操作數(shù)為存儲器直接尋址 pa=10605h34 下面這些指令中哪些是正確的?那些是錯誤的?如果是錯誤的,請說明原因。(1)xchg cs,ax ;錯,cs不能參與交換(2)mov bx,1000 ;錯,存儲器之不能交換(3)xchg bx,ip ;錯,ip不能參與交換(4)

3、push cs(5)pop cs ;錯,不能將數(shù)據(jù)彈到cs中(6)in bx,dx ;輸入/輸出只能通過al/ax(7)mov bytebx,1000 ;1000大于255,不能裝入字節(jié)單元(8)mov cs,1000 ;cs不能作為目標寄存器(9)mov bx,offset varsi ;offset只能取變量的偏移地址(10)mov ax,sidi ;si、di不能成為基址加變址(11)mov countbxsi,es:ax ;ax是寄存器,不能加段前綴37 設(shè)當前 ss=2010h,sp=fe00h,bx=3457h,計算當前棧頂?shù)牡刂窞槎嗌伲慨攬?zhí)行 push bx 指令后,棧頂?shù)刂泛蜅?/p>

4、頂2個字節(jié)的內(nèi)容分別是什么?當前棧頂?shù)牡刂?2ff00h當執(zhí)行push bx 指令后,棧頂?shù)刂?2fefeh (2fefeh)=57h (2feffh)=34h38 設(shè)dx=78c5h,cl=5,cf=1,確定下列各條指令執(zhí)行后,dx和cf中的值。(1) shr dx,1 ;dx=3c62h cf=1(2) sar dx,cl ;dx=03c6h cf=0(3) shl dx,cl ;dx=18a0h cf=1(4) ror dx,cl ;dx=2bc6h cf=0(5) rcl dx,cl ;dx=18b7h cf=1 (6) rcr dh,1 ;dx=bcc5h cf=0;39 設(shè)ax=0

5、a69h,value字變量中存放的內(nèi)容為1927h,寫出下列各條指令執(zhí)行后寄存器和cf、zf、of、sf、pf的值。 ax cf zf of sf pf(1)xor ax,value ; 134eh 0 0 0 0 1(2)and ax,value ; 0821h 0 0 0 0 1(3)sub ax,value ; f142h 1 0 0 1 1(4)cmp ax,value ; 0a69h 1 0 0 1 1(5)not ax ; f596h x x x x x (6)test ax,value ; 0a69h 0 0 0 0 1310 設(shè)ax和bx中是符號數(shù),cx和dx是無符號數(shù),請分別

6、為下列各項確定cmp和條件轉(zhuǎn)移指令。(1) cx值超過dx轉(zhuǎn)移。(2) ax未超過bx轉(zhuǎn)移。(3) dx為0轉(zhuǎn)移。(4) cx值等于小于dx轉(zhuǎn)移。(1) cmp cx,dxja next(2) cmp ax,bx jle next(3) cmp dx,0 jz next(4) cmp cx,dx jbe next311 閱11 閱讀分析下列指令序列:add ax,bxjno l1jnc l2sub ax,bxjnc l3jno l4jmp l5若ax和bx的初值分別為以下5種情況,則執(zhí)行該指令序列后,程序?qū)⒎謩e轉(zhuǎn)向何處(l1l5中的一個)。(1) ax=13c6h, bx=80dch(2) a

7、x=0b568h,bx=54b7h (3) ax=42c8h, bx=608dh(4) ax=0d023h,bx=9fd0h(5) ax=9fd0h, bx=0d023h(1) 轉(zhuǎn)l1(2) 轉(zhuǎn)l1(3) 轉(zhuǎn)l2(4) 轉(zhuǎn)l5(5) 轉(zhuǎn)l5 第四章 匯編語言程序設(shè)計習題45 畫出下列語句中的數(shù)據(jù)在存儲器中的存儲情況。varbdb 34,34h,good,2 dup(1,2 dup(0)varwdw 5678h,cd,$+2,2 dup(100)varcequ 1222h34hgood10010078h56hdc12h00h64h0064hvarb varw46 按下列要求,寫出各數(shù)據(jù)定義語句。

8、(1) db1為10h個重復(fù)的字節(jié)數(shù)據(jù)序列:1,2,5個3,4。(2) db2為字符串students(3) db3為十六進制數(shù)序列:12h,abcdh(4) 用等值語句給符號count賦以db1數(shù)據(jù)區(qū)所占字節(jié)數(shù),該語句寫在最后。 db1db 16 dup(1,2,5 dup(3,4) db2dbstudents db3dw 12h,0abcdh count equ db2db1 48 對于下面的數(shù)據(jù)定義,各條mov指令單獨執(zhí)行后,有關(guān)寄存器的內(nèi)容是什么?prepdb ?tabadw 5 dup(?)tabbdb nexttabcdd 12345678h(1)mov ax, type prep

9、 ;ax=1(2)movax, type taba ;ax=2(3)movax, length taba ;ax=5(4)movax, size taba ;ax=10(5)movax, length tabb ;ax=1(6)movdx, size tabc ;ax=4 410 若自string單元開始存放有一個字符串(以字符$結(jié)束);(1) 編程統(tǒng)計該字符串長度(不包含 $ 字符,并假設(shè)長度為兩字節(jié))。(2) 把字符串長度放在string 單元,把整個字符串往下移兩個單元。 程序段為:(1)mov si,offset stringxorbx,bxcont:mov al,sicmpal,$j

10、znextincbxincsijmpcontnext: mov ah,4chint21h (2) string db . $ count equ $-string : mov si,offset string mov cx,count add si,cx cont: dec si mov al,si mov si+2,al loop cont mov cx,count movstring,cx mov ah,4ch int21h411 將字符串string中的& 字符用空格代替,字符串string“the data is feb&03”。程序為:datasegmentstringdb the

11、data is feb&03countequ $-stringdataendscodesegmentassume cs:code,ds:datastart:mov ax,datamov ds,axmov si,offset stringmov cx,countmov al,$cont:cmp al,sijnz nextmov byte ptrsi, next:inc si loop contmov ah,4chint21hcodeendsendstart416 鍵盤輸入十個學生的成績,試編制一個程序統(tǒng)計6969分,7079分,8089分,9099分及100分的人數(shù),分別存放到s6,s7,s8,

12、s9及s10單元中。程序為: data segment bufdb10 dup(?) s6db? s7db? s8db? s9db? s10db? dataends codesegment assume cs:code,ds:data start:movax,datamovds,axmov si,offset s6xor al,al mov cx,0504h cont:movsi,alincsiloopcontmovcx,10movsi,offset buf cont1: movah,1int21hshlal,clmovbl,almovah,1int21hsubal,30horal,blmov

13、si,alcmpal,70hjaenext1incbyte ptr s6 next1:cmpal,80h jaenext2incbyte ptr s7 next2:cmpal,90hjaenext3incbyte ptr s8 next3:cmpal,99hjanext4incbyte ptr s9jmpnext5 next4;incbyte ptr s10 next5:incsiloopcont1movah,4chint21h codeends endstart第7章 基本輸入/輸出接口習題74 現(xiàn)有一輸入設(shè)備,其數(shù)據(jù)端口地址為ffe0h,狀態(tài)端口地址為ffe2h,當其d0為1時表明輸入數(shù)據(jù)

14、準備好。試采用查詢方式,編程實現(xiàn)從該設(shè)備讀取100個字節(jié)數(shù)據(jù)并保存到2000h:2000h開始的內(nèi)存中。 程序段為:movax,2000hmovds,axmov si,2000hmovcx,100cont:movdx,0ffe2hcont1: in al,dx testal,01 jzcont1 mov dx,0ffe0h inal,dx movsi,al incsi loopcont mov ah,4ch int21h 75 硬件如圖75所示,試編程實現(xiàn):s0控制8個發(fā)光二極管1亮7暗,s1控制8個 8個發(fā)光二極管7亮1暗,s2控制某一亮點(或暗點)以一定時間間隔循環(huán)向左移動,s3控制某一亮

15、點(或暗點)以一定時間間隔循環(huán)向右移動,兩個或兩個以上開關(guān)閉合,則結(jié)束程序。 程序段為:(省略偽指令) buf1db01h buf2db80hmovdx,200hagain:inal,dxxor bl,blmovcx,8cont:roral,1jncnextincblnext: loopcontcmpbl,2jaeexitcmp al,0fehjz1l7acmp al,0fdjz1a7lcmpal,0fbhjzzshlcmpal,0f7hjzyshr1l7a: mov al,80houtdx,aljmpagain7a7l:moval,7foutdx,aljmpagainzshl:mov al,

16、buf1rolal,1movbuf1,aloutdx,alcalld500msjmpagainyshr:mov al,buf2roral,1movbuf1,aloutdx,alcalld500msjmpagainexit:movah,4chint21h第8章 中斷習題 82 已知中斷向量表表中地址0020h 0023h的單元中依次是40h,00h,00h,01h,并知int 08h指令本身所在的地址為9000h:00a0h。若sp=0100h,ss=0300h,標志寄存器內(nèi)容為0240h,試指出在執(zhí)行int 08h指令,剛進入它的中斷服務(wù)程序時,sp,ss,ip,cs和堆棧頂上三個字的內(nèi)容(用

17、圖表示)。 執(zhí)行后 ss=0300h sp=00fah cs=0100h ip=0040h ,堆棧頂上三個字的內(nèi)容如下所示:棧區(qū)a2h00h00h90h40h02hxx 00fah 00fch 執(zhí)行后:0300h:00feh 初始: 0300h:01000h 83 某一用戶中斷源的中斷類型號為40h,其中斷服務(wù)程序名為intr40,請用兩種不同的方法設(shè)置它的中斷向量。 方法一: movax,0movds,axmovax,offset intr40mov00c0h,axmovax,seg intr40mov 00c2h,ax方法二:movax,0moves,axmovdi,40h*4cldmov

18、ax,offset intr40stoswmovax,seg intr40stosw 85 某一8086cpu系統(tǒng)中,采用一片8259a進行中斷管理。設(shè)8259a工作在全嵌套方式,發(fā)送eio命令結(jié)束中斷,邊沿觸發(fā)方式,ir0對應(yīng)的中斷向量號為90h,8259a在系統(tǒng)中的端口地址為ffdch(a0=0)和ffddh(a0=1),試編寫8259a的初始化程序段。 初試化程序段為: movdx,0ffdchmoval,13houtdx,alincdxincdxmoval,90houtdx,almoval,01outdx,al第9章 可編程接口芯片及應(yīng)用習題 91 試按如下要求分別編寫初始化程序,已知

19、計數(shù)器0 2和控制字寄存器的端口地址依次為204h 207h。(1)使計數(shù)器1工作在方式0,僅用8位二進制計數(shù),計數(shù)初值為128。 (2)使計數(shù)器0工作在方式1,按bcd碼計數(shù),計數(shù)值為3000。(3)使計數(shù)器2工作在方式2,按二進制計數(shù),計數(shù)值為02f0h。初始化程序為:movdx,207hmoval,50houtdx,almovdx,205hmoval,80houtdx,almovdx,207hmoval,23houtdx,almovdx,204hmoval,30houtdx,almovdx,207hmoval,0b4houtdx,almovdx,206hmoval,0f0houtdx,a

20、lmoval,02out dx,al 92 硬件如題92圖,利用pc內(nèi)部8253定時器0,并用中斷方式實現(xiàn)每隔1s使發(fā)光二極管亮暗交替顯示。(pc內(nèi)部8253輸入時鐘頻率為11932mhz,8253定時器0端口地址為40h,控制寄存器端口地址為43h。y0為350h)。定時器計數(shù)值=11932mhz5=32864=83d5h 軟件計數(shù)值:50程序為:(硬件圖見教材p345題92圖) moval,34hout43h,almoval,0d5hout40h,almoval,83hout40h,almovbl,50t0中斷服務(wù)程序為:decbljnzexit1movbl,50moval,bufnot

21、almovbuf,almovdx,350houtdx,alexit1:moval,20hout20h,al;(設(shè)8259a的端口地址為20h,21h)iret93 硬件如題 93圖,8253采用方式0,bcd碼計數(shù)方式,初始值為1000,每按一次按鈕s,計數(shù)器值減1。試編程實現(xiàn)顯示8253當前計數(shù)值,直至計數(shù)值為0。8253端口地址范圍為80h 83h。(略。在何處顯示-屏幕/led/液晶?)94 圖94為一簡化的鍵盤/數(shù)碼管顯示接口電路,假設(shè)端口線a h及1、2腳送“1”電平,可使顯示點亮并能實現(xiàn)掃描,試問u1、u2及數(shù)碼顯示器的選用。(1)u1為 (同相驅(qū)動器 / 反相驅(qū)動器)。(2)u2

22、為 (同相驅(qū)動器 / 反相驅(qū)動器)。(3)數(shù)碼顯示器為 (共陰 / 共陽)數(shù)碼管。(4)若a鍵閉合,則端口線3,4的電平為 。 圖94見教材p346(1) 選用同相驅(qū)動器(2) 選用反相驅(qū)動器 (3) 選用共陰數(shù)碼管(4) 若a鍵閉合,則端口線3,4的電平為0,195 硬件如題 95圖,試編程實現(xiàn)循環(huán)檢測s0、s1,當s0按下,數(shù)碼管顯示0,當s1按下,數(shù)碼管顯示1,s0、s1同時按下,則結(jié)束程序。8255的端口地址范圍為80h83h。 程序為:moval,82hout83h,alagain:inal,81htestal,03jzexittest al,01jznextmov al,3fhout80h,aljmpagainnext:test al,02jznext1moval,06out80h,aljmpagainnext1:moval,00out80h,aljmpagainexit: movah,4chint21h第10章 串行通信習題106 設(shè)異步傳輸時,每個字符對應(yīng)一個起始位,7個信息位,1個奇偶校驗位和一個停止位,如果波特率為9600,每秒能傳輸?shù)淖畲笞址麛?shù)為多少個?字符數(shù)=9600位 / 秒10位 / 字符=960(字符 / 秒)1013 要求8251a工作于異步方式,波

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論