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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第3章8086/8088指令系統(tǒng)與尋址方式習題

3.38086系統(tǒng)中,設DS=1000H,ES=2000H,SS=1200H,BX=0300H,SI=0200H,

BP=0100H,VAR的偏移量為0600H,請指出下列指令的目標操作數的尋址方式,若目標操作

數為存儲器操作數,計算它們的物理地址。

(1)MOVBX,12;目標操作數為寄存器尋址

(2)MOV[BX],12;目標操作數為寄存器間址PA-10300H

(3)MOVES:[SI],AX;目標操作數為寄存器間址PA=20200H

(4)MOVVAR,8;目標操作數為存儲器直接尋址PA=10600H

(5)MOV[BX][SI],AX;目標操作數為基址加變址尋址PA=10500Il

(6)MOV6[BP][SI],AL;目標操作數為相對的基址加變址尋址PA=12306H

(7)MOV[1000HLI)X;目標操作數為存儲器直接尋址PA=11000H

(8)MOV6[BX],CX;目標操作數為寄存器相對尋址PA=10306II

(9)MOVVAR+5,AX;目標操作數為存儲器直接尋址PA=10605H

3.4下面這些指令中哪些是正確的?那些是錯誤的?如果是錯誤的,請說明原因。

(1)XCHGCS,AX;錯,CS不能參與交換

(2)MOV[BX],[1000];錯,存儲器之不能交換

(3)XCHGBX,IP;錯,IP不能參與交換

(4)PUSHcs

(5)POPcs;錯,不能將數據彈到CS中

(6)INBX,DX;輸入/輸出只能通過AL/AX

(7)MOVBYTE[BX],1000;1000大于255,不能裝入字節(jié)單元

(8)MOVCS,[1000];CS不能作為目標寄存器

(9)MOVBX,OFFSETVAR[SI];OFFSET只能取變量的偏移地址

(10)MOVAX,[SI][DI]:SI、DI不能成為基址加變址

(11)MOVCOUNT[BX][SI],ES:AX;AX是寄存器,不能加段前綴

3.7設當前SS=20101LSP=FEOOH,BX=3457H,計算當前棧頂的地址為多少?當執(zhí)行

PUSHBX指令后,棧頂地址和棧頂2個字節(jié)的內容分別是什么?

當前棧頂的地址=2FF00H

當執(zhí)行PUSHBX指令后,棧頂地址=2FEFEH

(2FEFEH)=57H

(2FEFFH)=34H

3.8設DX=78C5H,CL=5,CF=1,確定下列各條指令執(zhí)行后,DX和CF中的值。

(1)SHRDX,1;DX=3C62HCF=1

(2)SARDX,CL;DX=03C6HCF=O

(3)SHLDX,CL;DX=18A0HCF=1

(4)RORDX,CL;DX=2BC6HCF二0

(5)RCLDX,CL;DX=18B7HCF=1

(6)RCRDH,1;DX二BCC5HCF=O;

3.9設AX=0A69H,VALUE字變量中存放的內容為1927H,寫出下列各條指令執(zhí)行后寄

存器和CF、ZF、OF、SF、PF的值。

AXCFZFOFSFPF

(1)XORAX,VALUE;134EH00001

(2)ANDAX,VALUE;0821H00001

(3)SUBAX,VALUE;F142H10011

(4)CMPAX,VALUE;0A69II10011

(5)NOTAXF596HXXXXX

(6)TESTAX,VALUE;0A69H00001

3.10設AX和BX中是符號數,CX和DX是無符號數,請分別為下列各項確定CMP和

條件轉移指令。

(1)CX值超過DX轉移。

(2)AX未超過BX轉移。

(3)DX為0轉移。

(4)CX值等于小于DX轉移。

(1)CMPCX,DX

JANEXT

(2)CMPAX,BX

JLENEXT

(3)CMPDX,0

JZNEXT

(4)CMPCX,DX

JBENEXT

3.11閱11閱讀分析下列指令序列:

ADDAX,BX

JNOLI

JNCL2

SUBAX,BX

JNCL3

JNOL4

JMPL5

若AX和BX的初值分別為以下5種情況,則執(zhí)行該指令序列后,程序將分別轉

向何處(L1?L5中的一個)。

(1)AX=13C6H,BX=80DCH

(2)AX=0B568H,BX=54B7H

(3)AX=42C8H,BX=608DH

(4)AX=0D023H,BX=9FD0H

5\

XJ=9FD0H,BX=0D023H

Ax轉

1

轉LI

2x

zu

轉LI

3\

ZJ

轉L2

4ux

z轉

5x

z)L5

第四章匯編語言程序設計習題

4.5畫出下列語句中的數據在存儲器中的存儲情況。

VARBDB34,34H,'GOOD',2DUP(1,2DUP(0))

VARWDW5678H,'CD',$+2,2DUP(100)

VARCEQU12

VARB

VARW

4.6按下列要求,寫出各數據定義語句。

(1)DB1為10H個重復的字節(jié)數據序列:1,2,5個3,4。

(2)DB2為字符串'STUDENTS'

(3)DB3為十六進制數序列:12H,ABCDH

(4)用等值語句給符號COUNT賦以DB1數據區(qū)所占字節(jié)數,該語句寫在最后。

DB1DB16DUP(1,2,5DUP(3,4))

DB2DB'STUDENTS'

DB3DW12H,OABCDH

COUNTEQUDB2-DB1

4.8對于下面的數據定義,各條MOV指令單獨執(zhí)行后,有關寄存器的內容是什么?

PREPDB?

TABADW5DUP(?)

TABBDB'NEXT'

TABCDD12345678H

(1)MOVAX,TYPEPREP;AX=1

(2)MOVAX,TYPETABA;AX=2

(3)MOVAX,LENGTHTABA;AX=5

(4)MOVAX,SIZETABA;AX=10

(5)MOVAX,LENGTHTABB;AX=1

(6)MOVDX,SIZETABC;AX=4

4.10若自STRING單元開始存放有一個字符串(以字符'$'結束);

(1)編程統(tǒng)計該字符串長度(不包含$字符,并假設長度為兩字節(jié))。

(2)把字符串長度放在STRING單元,把整個字符串往下移兩個單元。

程序段為:

(1)MOVSI,OFFSETSTRING

XORBX,BX

CONT:MOVAL,[SI]

CMPAL,'$,

JZNEXT

INCBX

INCSI

JMPCONT

NEXT:MOVAH,4C1I

INT21H

(2)STRINGDB'.........$'

COUNTEQU$-STRING

MOVSI,OFFSETSTRING

MOVCX,COUNT

ADDSI,CX

CONT:DECSI

MOVAL,[SI]

MOV[SI+2],AL]

LOOPCONT

MOVCX,COUNT

MOVSTRING,CX

MOVAH,4CH

INT21H

4.11將字符串STRING中的'&'字符用空格代替,字符串STRING“Thedatais

FEB&03”。

程序為:

DATASEGMENT

STRINGDB'ThedataisFEB&03'

COUNTEQU$-STRING

DATAENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA

START:MOVAX,DATA

MOVDS,AX

MOVSI,OFFSETSTRING

MOVCX,COUNT

MOVAL,'$'

CONT:CMPAL,[SI]

JNZNEXT

MOVBYTEPTR[SI],''

NEXT:INCSI

LOOPCONT

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

4.16鍵盤輸入十個學生的成績,試編制一個程序統(tǒng)計69、69分,70~79分,80、89分,

90~99分及100分的人數,分別存放到S6,S7,S8,S9及S10單元中。

程序為:

DATASEGMENT

BUFDB10DUP(?)

S6DB?

S7DB?

S8DB?

S9DB?

S10DB?

DATAENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA

START:MOVAX,DATA

MOVDS,AX

MOVSI,OFFSETS6

XORAL,AL

MOVCX,0504H

CONT:MOV[SI],AL

INCSI

LOOPCONT

MOVCX,10

MOVSI,OFFSETBUF

CONTI:MOVAH,1

INT21H

SHLAL,CL

MOVBL,AL

MOVAH,1

INT21H

SUBAL,30H

ORAL,BL

MOV[SI],AL

CMPAL,70H

JAENEXT1

INCBYTEPTRS6

NEXT1:CMPAL,8011

JAENEXT2

INCBYTEPTRS7

NEXT2:CMPAL,9011

JAENEXT3

INCBYTEPTRS8

NEXT3:CMPAL,99H

JANEXT4

INCBYTEPTRS9

JMPNEXT5

NEXT4;INCBYTEPTRS10

NEXT5:INCSI

LOOPCONTI

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

第7章基本輸入/輸出接口習題

7.4現有一輸入設備,其數據端口地址為FFEOH,狀態(tài)端口地址為FFE2H,當其DO

為1時表明輸入數據準備好。試采用查詢方式,編程實現從該設備讀取100個字節(jié)數據并保

存到2000H:2000H開始的內存中。

程序段為:

MOVAX,2000H

MOVDS,AX

MOVSI,2000H

MOVCX,100

CONT:MOVDX,0FFE2H

C0NT1:INAL,DX

TESTAL,01

JZCONTI

MOVDX,0FFE01I

INAL,DX

MOV[SI],AL

INCSI

LOOPCONT

MOVAH,4CH

INT21H

7.5硬件如圖7.5所示,試編程實現:S0控制8個發(fā)光二極管1亮7暗,S1控制8

個8個發(fā)光二極管7亮1暗,S2控制某一亮點(或暗點)以一定時間間隔循環(huán)向左移動,

S3控制某一亮點(或暗點)以一定時間間隔循環(huán)向右移動,兩個或兩個以上開關閉合,則

結束程序。

程序段為:(省略偽指令)

BUF1DB01H

BUF2DB80H

MOVDX,200H

AGAIN:INAL,DX

XORBL,BL

MOVex,8

CONT:RORAL,1

JNCNEXT

INCBL

NEXT:LOOPCONT

CMPBL,2

JAEEXIT

CMPAL,OFEH

JZ1L7A

CMPAL,OFD

JZ1A7L

CMPAL,OFBH

JZZSHL

CMPAL,0F7H

JZYSHR

1L7A:MOVAL,8011

OUTDX,AL

JMPAGAIN

7A7L:MOVAL,7F

OUTDX,AL

JMPAGAIN

ZSHL:MOVAL,BUF1

ROLAL,1

MOVBUF1,AL

OUTDX,AL

CALLD500MS

JMPAGAIN

YSHR:MOVAL,BUF2

RORAL,1

MOVBUF1,AL

OUTDX,AL

CALLD500MS

JMPAGAIN

EXIT:MOVAH,4CH

INT2111

第8章中斷習題

8.2已知中斷向量表表中地址0020H~0023H的單元中依次是40H,OOH,OOH,01H,

并知INT08H指令本身所在的地址為9000H:00A0H,.若SP=0100H,SS=0300H,標志寄存器

內容為0240H,試指出在執(zhí)行INT08H指令,剛進入它的中斷服務程序時,SP,SS,IP,

CS和堆棧頂上三個字的內容(用圖表示)。

執(zhí)行后SS=0300HSP=00FAH

CS=0100HIP=0040H,堆棧頂上三個字的內容如下所示:

OOFAH

OOFCH

執(zhí)行后:0300H:OOFEH

初始:0300H:01000H

8.3某一用戶中斷源的中斷類型號為4011,其中斷服務程序名為

INTR40,請用兩種不同的方法設置它的中斷向量。

方法一:MOVAX,0

MOVDS,AX

MOVAX,OFFSETINTR40

MOV[OOCOH],AX

MOVAX,SEGINTR40

MOV[00C2H],AX

方法二:MOVAX,0

MOVES,AX

MOVDI,40H*4

CLD

MOVAX,OFFSETINTR40

STOSW

MOVAX,SEGINTR40

STOSW

8.5某一8086CPU系統(tǒng)中,采用一片8259A進行中斷管理。設8259A工作在全嵌套方

式,發(fā)送EIO命令結束中斷,邊沿觸發(fā)方式,IRO對應的中斷向量號為90H,8259A在系統(tǒng)

中的端口地址為FFDCH(A0=0)和FFDDH(AO=1),試編寫8259A的初始化程序段。

初試化程序段為:

MOVDX,OFFDCH

MOVAL,13H

OUTDX,AL

INCDX

INCDX

MOVAL,90H

OUTDX,AL

MOVAL,01

OUTDX,AL

第9章可編程接口芯片及應用習題

9.1試按如下要求分別編寫初始化程序,已知計數器0~2和控制字寄存器的端口地

址依次為204H~207Ho

(1)使計數器1工作在方式0,僅用8位二進制計數,計數初值為128o

(2)使計數器0工作在方式1,按BCD碼計數,計數值為3000。

(3)使計數器2工作在方式2,按二進制計數,計數值為02F0H。

初始化程序為:

MOVDX,207H

MOVAL,50H

OUTDX,AL

MOVDX,205H

MOVAL,80H

OUTDX,AL

MOVDX,207H

MOVAL,23H

OUTDX,AL

MOVDX,204H

MOVAL,30H

OUTDX,AL

MOVDX,207H

MOVAL,0B4H

OUTDX,AL

MOVDX,206H

MOVAL,OFOH

OUTDX,AL

MOVAL,02

OUTDX,AL

9.2硬件如題9.2圖,利用PC內部8253定時器0,并用中斷方式實現每隔Is使發(fā)

光二極管亮暗交替顯示。(PC內部8253輸入時鐘頻率為1.1932MHz,8253定時器0端口地

址為40H,控制寄存器端口地址為43H。Y0為350H)。

定時器計數值=1.1932MHz4-5=32864=83D5H

軟件計數值:50

程序為:(硬件圖見教材P345題9.2圖)

MOVAL,34H

OUT43H,AL

MOVAL,0D5H

OUT40H,AL

MOVAL,8311

OUT40H,AL

MOVBL,50

TO中斷服務程序為:

DECBL

JNZEXIT1

MOVBL,50

MOVAL,BUF

NOTAL

MOVBUF,AL

MOVDX,35011

OUTDX,AL

EXIT1:MOVAL,20H

OUT20H,AL;(設8259A的端口地址為20H,21H)

1RET

9.3硬件如題9.3圖,8253采用方式0,BCD碼計數方式,初始值為1000,每按一

次按鈕S,計數器值減1。試編程實現顯示8253當前計數值,直至計數值為0。8253端口地

址范圍為80H~83H.

(略。在何處顯示一屏幕/LED/液晶?)

9.4圖9.4為一簡化的鍵盤/數碼管顯示接口電路,假設端口線a'~卜及1、

2腳送“1”電平,可使顯示點亮并能實現掃描,試問UI、U2及數碼顯示器的選用。

(1)U1為(同相驅動器/反相驅動器)。

(2)U2為(同相驅動器/反相驅動器)。

(3)數碼顯示器為(共陰/共陽)數碼管。

(4)若A鍵閉合,則端口線3,4的電平為。

圖9.4見教材P346

(1)選用同相驅動器

(2)選用反相驅動器

(3)選用共陰數碼管

(4)若A鍵閉合,則端口線3,4的電平為0,1

9.5硬件如題9.5圖,試編程實現循環(huán)檢測SO、S1,當SO按下,數碼管顯示0,

當S1按下,數碼管顯示1,SO、S1同時按下,則結束程序。8255的端口地址范圍為80H83H。

程序為:

MOVAL,82H

OUT83H,AL

AGAIN:INAL,81H

TESTAL,03

JZEXIT

TESTAL,01

JZNEXT

MOVAL,3FH

OUT80H,AL

JMPAGAIN

NEXT:TESTAL,02

JZNEXT1

MOVAL,06

OUT8011,AL

JMPAGAIN

NEXT1:MOVAL,00

OUT80H,AL

JMPAGAIN

EXIT:MOVAH,4CH

INT21H

第10章串行通信習題

10.6設異步傳輸時,每個字符對應一個起始位,7個信息位,1個奇偶校驗位和一個

停止位,如果波特率為9600,每秒能傳輸的最大字符數為多少個?

字符數=9600位/秒+10位/字符=960(字符/秒)

10.13要求8251A工作于異步方式,波特率系數為16,字符長度為7位,奇校驗,2

個停止位。工作狀態(tài)要求:復位出錯標志,使請求發(fā)送信號RTS有效,使數據終端準備好信

號DTR有效,發(fā)送允許TxEN有效,接受允許RxE有效。設8251A的兩個端口地址分別為OCOH

和0C2H,試完成初始化編程。

初始化程序為:

MOVAL,11011010B(DAH)

OUT0C2H,AL

MOVAL,00110111B(37H)

OUT0C2H,AL

第11章模數、數模轉換習題

11.3某8086系統(tǒng)中,A/D轉換器ADC0809只使用一個模擬量輸入通道,試設計其接

口電路,并編寫子程序。子程序的功能是啟動A/D轉換,并以查詢方式讀入一個采樣數據放

在寄存器DL中。

設所設計的A/D轉換器接口電路如下:

ADC0809

D??D0

采樣程序為:

CYSUBRPROC

OUT5011,AL

NOP

NOP

WAIT1:INAL,51H

TESTAL,01

JZWAIT1

INAL,50H

MOVDL,AL

RET

CYSUBRENDP

11.4某8086系統(tǒng)中,由ADC0809構成A/D轉換器,通過8255與CPU接口,如題

11.4圖所示。試編寫程序,以查詢的方式巡回采樣8個模擬量輸入通道,每個通道16次。

采樣數據存放在內存中。

8255AADC0809

DB?----?D0-D7PBD0-D7

N0

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論