版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
8086/8088指令系統(tǒng)與尋址方式習題38086系統(tǒng)中,設DS=1000H,ES=H,SS=1200H,BX=0300H,SI=0200H,BP=0100H,VAR偏移量為0600H,請指出下列指令目的操作數尋址方式,若目的操作數為存儲器操作數,計算它們物理地址。(1)MOVBX,12;目的操作數為寄存器尋址(2)MOV[BX],12;目的操作數為寄存器間址PA=10300H(3)MOVES:[SI],AX;目的操作數為寄存器間址PA=0H(4)MOVVAR,8;目的操作數為存儲器直接尋址PA=10600H(5)MOV[BX][SI],AX;目的操作數為基址加變址尋址PA=10500H(6)MOV6[BP][SI],AL;目的操作數為相對基址加變址尋址PA=12306H(7)MOV[1000H],DX;目的操作數為存儲器直接尋址PA=11000H(8)MOV6[BX],CX;目的操作數為寄存器相對尋址PA=10306H(9)MOVVAR+5,AX;目的操作數為存儲器直接尋址PA=10605H3.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=H,SP=FE00H,BX=3457H,計算當前棧頂地址為多少?當執(zhí)行PUSHBX指令后,棧頂地址和棧頂2個字節(jié)內容分別是什么?當前棧頂地址=2FF00H當執(zhí)行PUSHBX指令后,棧頂地址=2FEFEH(2FEFEH)=57H(2FEFFH)=34H3.8設DX=78C5H,CL=5,CF=1,擬定下列各條指令執(zhí)行后,DX和CF中值。(1)SHRDX,1;DX=3C62HCF=1(2)SARDX,CL;DX=03C6HCF=0(3)SHLDX,CL;DX=18A0HCF=1(4)RORDX,CL;DX=2BC6HCF=0(5)RCLDX,CL;DX=18B7HCF=1(6)RCRDH,1;DX=BCC5HCF=0;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;0A69H10011(5)NOTAX;F596HXXXXX(6)TESTAX,VALUE;0A69H000013.10設AX和BX中是符號數,CX和DX是無符號數,請分別為下列各項擬定CMP和條件轉移指令。CX值超過DX轉移。AX未超過BX轉移。DX為0轉移。CX值等于不大于DX轉移。(1)CMPCX,DXJANEXT(2)CMPAX,BXJLENEXT(3)CMPDX,0JZNEXT(4)CMPCX,DXJBENEXT閱讀分析下列指令序列:ADDAX,BXJNOL1JNCL2SUBAX,BXJNCL3JNOL4JMPL5若AX和BX初值分別為如下5種狀況,則執(zhí)行該指令序列后,程序將分別轉向何處(L1~L5中一種)。AX=13C6H,BX=80DCHAX=0B568H,BX=54B7HAX=42C8H,BX=608DHAX=0D023H,BX=9FD0HAX=9FD0H,BX=0D023H轉L1轉L1轉L2轉L5轉L5匯編語言程序設計習題4.5畫出下列語句中數據在存儲器中存儲狀況。VARB DB 34,34H,‘GOOD’,2DUP(1,2DUP(0))VARW DW5678H,‘CD’,$+2,2DUP(100)VARC EQU1222H34H‘G’‘O’‘O’‘D’10010078H56H‘D’‘C’12H00H64H0064HVARBVARW4.6按下列規(guī)定,寫出各數據定義語句。DB1為10H個重復字節(jié)數據序列:1,2,5個3,4。DB2為字符串‘STUDENTS’DB3為十六進制數序列:12H,ABCDH用等值語句給符號COUNT賦以DB1數據區(qū)所占字節(jié)數,該語句寫在最后。DB1 DB 16DUP(1,2,5DUP(3,4))DB2 DB ‘STUDENTS’DB3 DW12H,0ABCDHCOUNTEQUDB2-DB14.8對于下面數據定義,各條MOV指令單獨執(zhí)行后,關于寄存器內容是什么?PREP DB ?TABA DW5DUP(?)TABB DB‘NEXT’TABC DD12345678H(1)MOV AX,TYPEPREP;AX=1(2)MOV AX,TYPETABA;AX=2(3)MOV AX,LENGTHTABA;AX=5(4)MOV AX,SIZETABA;AX=10(5)MOV AX,LENGTHTABB;AX=1(6)MOV DX,SIZETABC;AX=44.10若自STRING單元開始存儲有一種字符串(以字符‘$’結束);編程記錄該字符串長度(不包括$字符,并假設長度為兩字節(jié))。把字符串長度放在STRING單元,把整個字符串往下移兩個單元。程序段為:(1) MOV SI,OFFSETSTRING XOR BX,BXCONT:MOV AL,[SI] CMP AL,‘$’ JZ NEXT INC BX INC SI JMP CONTNEXT:MOV AH,4CH INT 21H(2) STRINGDB‘………….$’COUNTEQU$-STRING: MOVSI,OFFSETSTRINGMOVCX,COUNTADDSI,CXCONT:DECSIMOVAL,[SI]MOV[SI+2],AL]LOOPCONTMOVCX,COUNT MOV STRING,CX MOV AH,4CH INT 21H4.11將字符串STRING中‘&’字符用空格代替,字符串STRING“ThedataisFEB&03” 程序為:DATA SEGMENTSTRING DB ‘ThedataisFEB&03COUNT EQU $-STRINGDATA ENDSCODE SEGMENT ASSUMECS:CODE,DS:DATASTART: MOVAX,DATA MOVDS,AX MOV SI,OFFSETSTRING MOV CX,COUNT MOV AL,‘$’CONT: CMPAL,[SI] JNZ NEXT MOV BYTEPTR[SI],‘’NEXT: INC SI LOOPCONT MOV AH,4CH INT 21HCODE ENDS END START4.16鍵盤輸入十個學生成績,試編制一種程序記錄69~69分,70~79分,80~89分,90~99分及100分人數,分別存儲到S6,S7,S8,S9及S10單元中。 程序為: DATA SEGMENT BUF DB 10DUP(?) S6 DB ? S7 DB ? S8 DB ? S9 DB ? S10 DB ? DATA ENDS CODE SEGMENT ASSUMECS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV SI,OFFSETS6 XOR AL,AL MOV CX,0504H CONT: MOV [SI],AL INC SI LOOP CONT MOV CX,10 MOV SI,OFFSETBUF CONT1: MOV AH,1 INT 21H SHL AL,CL MOV BL,AL MOV AH,1 INT 21H SUB AL,30H OR AL,BL MOV [SI],AL CMP AL,70H JAE NEXT1 INC BYTEPTRS6 NEXT1: CMP AL,80H JAE NEXT2 INC BYTEPTRS7 NEXT2: CMP AL,90H JAE NEXT3 INC BYTEPTRS8 NEXT3: CMP AL,99H JA NEXT4 INC BYTEPTRS9 JMP NEXT5 NEXT4; INC BYTEPTRS10 NEXT5: INC SI LOOP CONT1 MOV AH,4CH INT 21H CODE ENDS END START第7章基本輸入/輸出接口習題7.4既有一輸入設備,其數據端口地址為FFE0H,狀態(tài)端口地址為FFE2H,當其D0為1時表白輸入數據準備好。試采用查詢方式,編程實現從該設備讀取100個字節(jié)數據并保存到H:H開始內存中。 程序段為:MOV AX,HMOV DS,AXMOVSI,HMOV CX,100 CONT: MOV DX,0FFE2H CONT1:IN AL,DX TEST AL,01 JZ CONT1 MOV DX,0FFE0H IN AL,DX MOV [SI],AL INC SI LOOP CONT MOV AH,4CH INT 21H7.5硬件如圖7.5所示,試編程實現:S0控制8個發(fā)光二極管1亮7暗,S1控制8個8個發(fā)光二極管7亮1暗,S2控制某一亮點(或暗點)以一定期間間隔循環(huán)向左移動,S3控制某一亮點(或暗點)以一定期間間隔循環(huán)向右移動,兩個或兩個以上開關閉合,則結束程序。 程序段為:(省略偽指令)BUF1 DB 01HBUF2 DB 80H … MOV DX,200HAGAIN: IN AL,DX XORBL,BL MOV CX,8CONT: ROR AL,1 JNC NEXT INC BLNEXT:LOOP CONT CMP BL,2 JAE EXITCMPAL,0FEH JZ 1L CMP AL,0FD JZ 1A CMP AL,0FBH JZ ZSHL CMP AL,0F7H JZ YSHR1L7A OUT DX,AL JMP AGAIN7A7L:MOV AL, OUT DX,AL JMP AGAINZSHL:MOV AL,BUF1 ROL AL,1 MOV BUF1,AL OUT DX,AL CALL D500MS JMP AGAINYSHR:MOV AL,BUF2 ROR AL,1 MOV BUF1,AL OUT DX,AL CALL D500MS JMP AGAINEXIT:MOV AH,4CH INT 21H第8章中斷習題8.2已知中斷向量表表中地址0020H~0023H單元中依次是40H,00H,00H,01H,并知INT08H指令自身所在地址為9000H:00A0H。若SP=0100H,SS=0300H,標志寄存器內容為0240H,試指出在執(zhí)行INT08H指令,剛進入它中斷服務程序時,SP,SS,IP,CS和堆棧頂上三個字內容(用圖表達)。執(zhí)行后SS=0300HSP=00FAHCS=0100HIP=0040H,堆棧頂上三個字內容如下所示:棧區(qū)A2H00H00H90H40H02HXX00FAH00FCH執(zhí)行后:0300H:00FEH初始:0300H:01000H8.3某一顧客中斷源中斷類型號為40H,其中斷服務程序名為INTR40,請用兩種不同辦法設立它中斷向量。辦法一:MOV AX,0 MOV DS,AX MOV AX,OFFSETINTR40 MOV [00C0H],AX MOV AX,SEGINTR40 MOV[00C2H],AX辦法二: MOV AX,0 MOV ES,AX MOV DI,40H*4 CLD MOV AX,OFFSETINTR40 STOSW MOV AX,SEGINTR40 STOSW 8.5某一8086CPU系統(tǒng)中,采用一片8259A進行中斷管理。設8259A工作在全嵌套方式,發(fā)送EIO命令結束中斷,邊沿觸發(fā)方式,IR0相應中斷向量號為90H,8259A在系統(tǒng)中端口地址為FFDCH(A0=0)和FFDDH(A0=1),試編寫8259A初始化程序段。 初試化程序段為:MOV DX,0FFDCHMOV AL,13H OUT DX,AL INC DX INC DXMOV AL,90HOUT DX,ALMOV AL,01OUT DX,AL可編程接口芯片及應用習題9.1試按如下規(guī)定分別編寫初始化程序,已知計數器0~2和控制字寄存器端口地址依次為204H~207H。(1)使計數器1工作在方式0,僅用8位二進制計數,計數初值為128。(2)使計數器0工作在方式1,按BCD碼計數,計數值為3000。(3)使計數器2工作在方式2,按二進制計數,計數值為02F0H。 初始化程序為: MOV DX,207H MOV AL,50H OUT DX,AL MOV DX,205H MOV AL,80H OUT DX,AL MOV DX,207H MOV AL,23H OUT DX,AL MOV DX,204HMOV AL,30H OUT DX,AL MOV DX,207H MOV AL,0B4H OUT DX,AL MOV DX,206H MOV AL,0F0H OUT DX,AL MOV AL,02 OUT DX,AL9.2硬件如題9.2圖,運用PC內部8253定期器0,并用中斷方式實現每隔1s使發(fā)光二極管亮暗交替顯示。(PC內部8253輸入時鐘頻率為1.1932MHz,8253定期器0端口地址為40H,控制寄存器端口地址為43H。Y0為350H)。定期器計數值=1.1932MHz÷5=32864=83D5H軟件計數值:50 程序為:(硬件圖見教材P345題9.2圖)MOV AL,34H OUT 43H,AL MOV AL,0D5H OUT 40H,AL MOV AL,83H OUT 40H,AL MOV BL,50 ┇ T0中斷服務程序為: DEC BL JNZ EXIT1 MOV BL,50 MOV AL,BUF NOT AL MOV BUF,AL MOV DX,350H OUT DX,AL EXIT1:MOV AL,20H OUT 20H,AL;(設8259A端口地址為20H,21H) IRET9.3硬件如題9.3圖,8253采用方式0,BCD碼計數方式,初始值為1000,每按一次按鈕S,計數器值減1。試編程實現顯示8253當前計數值,直至計數值為0。8253端口地址范疇為80H~83H。(略。在何處顯示---屏幕/LED/液晶?)9.4圖9.4為一簡化鍵盤/數碼管顯示接口電路,假設端口線a’~h’及1、2腳送“1”(1)U1為(同相驅動器/反相驅動器)。(2)U2為(同相驅動器/反相驅動器)。(3)數碼顯示屏為(共陰/共陽)數碼管。(4)若A鍵閉合,則端口線3,4電平為。圖9.4見教材P346選用同相驅動器選用反相驅動器選用共陰數碼管若A鍵閉合,則端口線3,4電平為0,19.5硬件如題9.5圖,試編程實現循環(huán)檢測S0、S1,當S0按下,數碼管顯示0,當S1按下,數碼管顯示1,S0、S1同步按下,則結束程序。8255端口地址范疇為80H83H。 程序為: MOV AL,82H OUT 83H,ALAGAIN: IN AL,81H TEST AL,03 JZ EXIT TEST AL,01 JZ NEXT MOV AL,3FH OUT 80H,AL JMP AGAIN NEXT: TESTAL,02 JZ NEXT1 MOV AL,06 OUT 80H,AL JMP AGAINNEXT1:MOV AL,00 OUT 80H,AL JMP AGAINEXIT:MOV AH,4CH INT 21H第10章串行通信習題10.6設異步傳播時,每個字符相應一種起始位,7個信息位,1個奇偶校驗位和一種停止位,如果波特率為9600,每秒能傳播最大字符數為多少個? 字符數=9600位/秒÷10位/字符=960(字符/秒)10.13規(guī)定8251A工作于異步方式,波特率系數為16,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 勞動仲裁協議申請書
- 2023安全生產工作書面協議書七篇
- 合伙合同合作協議
- 土地糾紛調解的協議書7篇
- 北京房屋出租協議模板
- 雙方自愿離婚的協議書8篇
- 舞蹈病病因介紹
- 機械基礎 課件 模塊八任務一 軸
- 【中職專用】中職對口高考-機電與機制類專業(yè)-核心課-模擬試卷1(河南適用)(原卷版)
- 重慶2020-2024年中考英語5年真題回-學生版-專題09 閱讀理解之應用文
- 年產20萬噸鎂合金項目可行性研究報告
- 《短視頻拍攝與制作》課件-3短視頻中期拍攝
- 瀏陽煙花術語大全
- 2024年甘肅省隴南市中考二模地理試題
- 健康睡眠與幸福人生智慧樹知到期末考試答案2024年
- 小班數學活動《1-5的認識》課件
- 膝痹病的中醫(yī)護理常規(guī)
- 寵物犬鑒賞與疾病防治智慧樹知到期末考試答案2024年
- 布雷頓森林體系制度缺陷
- 2024年中級審計師《審計理論與實務》考試題庫含解析全套
- 2024年大學試題(宗教學)-佛教文化筆試歷年真題薈萃含答案
評論
0/150
提交評論