




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 主播上崗考試題及答案
- 靜物寫生素描考試題及答案
- 宣傳接待崗面試題及答案
- 廣東省廣州市番禺育才2022-2023學年八年級下學期期中考試物理試題(含答案)
- 抗體檢驗知識培訓課件
- 創(chuàng)新型醫(yī)療器械研發(fā)協議
- 關于職場軟技能培養(yǎng)的建議與反思
- 小學生科學知識讀物征文
- 員工技能培訓安排表
- 全球教育資源分布及質量評估表
- 信息系統(tǒng)應急響應計劃制定指南考核試卷
- 酒店消防安全知識培訓試題及答案
- 2024解析:第四章光現象-講核心(解析版)
- 2024解析:第十九章生活用電-講核心(解析版)
- BRC+Food+Safety+Standard+2024年培訓課件全攻略
- 《公路橋梁掛籃設計與施工技術指南》
- 建筑工地安全風險分級管控方案
- 供熱管網維保服務方案
- 現代家政導論-課件 4.1.1認識家政教育及意義
- 浙江省【高等職業(yè)技術教育招生考試】-商業(yè)類(電子商務)-職業(yè)技能理論知識(一)(答案版)
- 人教版小學六年級下冊音樂教案全冊
評論
0/150
提交評論