版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第3章8086指令系統01二月2023101二月2023201二月202326、分別用一條指令完成下列要求。(1)將寄存器BX的內容傳送給CX:MOVCX,BX(2)將立即數1234H傳送給AXMOVAX,1234H(3)把數據段中偏移地址為20H的存儲單元的傳送給AX寄存器MOVAX,[20H](4)把字節數據20H傳送到BX指定的存儲單元地址中MOVbyteptr[BX],20H01二月2023301二月202338、假定(BX)=3000H,(SI)=1200H,(X)=300H,指出下列操作數中源操作數的尋址方式,同時寫出各指令源操作數的地址。(1)MOVAX,1234H源操作數尋址方式:立即數尋址方式;(2)MOVAX,X源操作數尋址方式:直接尋址方式;EA=300H;(3)MOVAX,[BX]源操作數尋址方式:寄存器間接尋址方式;EA=(BX)=3000H;01二月2023401二月202348、假定(BX)=3000H,(SI)=1200H,(X)=300H,指出下列操作數中源操作數的尋址方式,同時寫出各指令源操作數的地址。(4)MOVAX,[BX+SI]:源操作數的尋址方式:基址變址尋址方式;EA=(BX)+(SI)=4200H;(5)MOVAX,X[BX][SI]源操作數的尋址方式:相對基址變址尋址方式;EA=(BX)+(SI)+X=4500H;(6)MOVAX,BX源操作數的尋址方式:寄存器尋址方式;01二月2023501二月2023510、設(DS)=1000H,(ES)=1500H,(SS)=2000H,(BX)=0010H,(BP)=00A0H,(SI)=0100H,指出下列操作數中源操作數的尋址方式,并計算其物理地址。(1)MOVAX,[0200H]物理地址=(DS)×16+0200H=10200H(2)MOVAX,[BX]物理地址=(DS)×16+(BX)=1000H×16+0010H=10010H(3)MOVAX,ES:[BX]物理地址=(ES)×16+(BX)=1500H×16+0010H=15010H直接尋址方式寄存器間接尋址方式寄存器間接尋址方式01二月2023601二月2023610、設(DS)=1000H,(ES)=1500H,(SS)=2000H,(BX)=0010H,(BP)=00A0H,(SI)=0100H,指出下列操作數中源操作數的尋址方式,并計算其物理地址。(4)MOVAX,SS:[BX]物理地址=(SS)×16+(BX)=2000H×16+0010H=20010H(5)MOVAX,[BP]物理地址=(SS)×16+(BP)=2000H×16+00A0H=200A0H(6)MOVAX,[BX]+100H物理地址=DS×16+(BX)+100H =1000H×16+0010H+100H=10110H寄存器間接尋址方式寄存器間接尋址方式寄存器相對尋址方式01二月2023701二月2023710、設(DS)=1000H,(ES)=1500H,(SS)=2000H,(BX)=0010H,(BP)=00A0H,(SI)=0100H,指出下列操作數中源操作數的尋址方式,并計算其物理地址。(7)MOVAX,[BX][SI]物理地址=DS×16+(BX)+(SI) =1000H×16+0010H+0100H=10110H(8)MOVAX,100H[BX][SI]物理地址=DS×16+(BX)+(SI)+100H =1000×16+0010H+0100H=10210H(9)MOVAX,[SI]物理地址=DS×16+(SI)=1000H×16+0100H=10100H基址變址尋址方式相對基址變址尋址方式寄存器間接尋址方式01二月2023801二月2023811、指出下列指令的錯誤原因。(1)MOVAL,1234H操作類型不匹配;(2)MOVCS,AX目的操作數不能是CS段寄存器;(3)MOV[1000],1000h指令的操作類型不明確;需使用PTR顯式地指明目的操作數[1000]的數據類型;01二月2023901二月2023911、指出下列指令的錯誤原因。(4)MOVBYTEPTR[BX],1000H兩個操作數的類型不匹配;(5)PUSHAL堆棧操作指令的操作數應是字數據,而AL是字節型的;(6)XCHGDS,AXXCHG指令中的操作數不能為段寄存器;01二月20231001二月20231011、指出下列指令的錯誤原因(7)SHLAX,5若移位的位數大于1,則使用CL在指令中表示移位次數;(8)XCHG[BX],[SI]兩個操作數同時為存儲單元尋址方式,且兩個數據的類型不確定;(9)INAX,[BX]IN指令中應使用DX存放IO端口地址;01二月20231101二月20231111、指出下列指令的錯誤原因。(10)DEC[SI]操作數類型不確定;(11)NEG1234HNEG指令中操作數不能為立即數;(12)MUL05H乘法指令的操作數不能是立即數;01二月20231201二月20231211、指出下列指令的錯誤原因(13)DIVAX,BX16位系統中,DIV指令是單操作數指令;(14)LEAAX,0100HLEA指令的源操作數只能是存儲單元尋址方式;(15)AND[BX],[SI]兩個操作數同時是存儲單元;01二月20231301二月20231312、設(DS)=1000H,
(SS)=2000H,
(BX)=0100H,
(BP)=0200H,
(SI)=0100H,寫出下列指令執行后AX的內容。(1)MOVAX,0100H(AX)=0100H(2)MOVAX,[0100H]PA=(DS)×16+0100H=10100H(AX)=1020H(3)MOVAX,[BX]PA=DS×16+(BX)=10100H(AX)=1020H2010……2020……305010100H10200H20200H01二月20231401二月20231412、設(DS)=1000H,
(SS)=2000H,
(BX)=0100H,
(BP)=0200H,
(SI)=0100H,寫出下列指令執行后AX的內容。(4)MOVAX,[BP]PA=(SS)×16+(BP)=20200H(AX)=5030H(5)MOVAX,100H+[BX]PA=(DS)×16+100H+(BX) =10000H+100H+0100H=10200H(AX)=2020H2010……2020……305010100H10200H20200H01二月20231501二月20231512、設(DS)=1000H,
(SS)=2000H,
(BX)=0100H,
(BP)=0200H,
(SI)=0100H,寫出下列指令執行后AX的內容。(6)MOVAX,[BX][SI]PA=(DS)×16+(BX)+(SI) =10200H(AX)=2020H(7)MOVAX,[SI]PA=(DS)×16+(SI) =10000H+0100H=10100H(AX)=1020H2010……2020……305010100H10200H20200H01二月20231601二月20231613、已知(DS)=1000H,
(SS)=0F00H,
(BX)=0010H,要使下列指令的源操作數指向同一個物理地址10320H,寫出下列指令中寄存器BP、SI、DI和位移量X的值。(1)MOVAX,[SI](SI)=10320H-(DS)×16=10320H-10000H=0320H(2)MOVAX,[BP](BP)=10320H-(SS)×16=10320H-0F000H=1320H(3)MOVAX,[BX+DI](DI)=10320H-(DS)×16-(BX) =10320H-10000H-0010H=0310H(4)MOVAX,X[BX+SI](SI)=10320H-(DS)×16-(BX)-(SI) =10320H-10000H-0010H-320H=-10H01二月20231701二月20231714、下列程序段中,各指令執行后AX,CF、OF、ZF和SF的內容如何變化。指令AXCFOFZFSFMOVAX,00000H————DECAX0FFFFH0001NOTAX0000H0001ANDAX,0FFFFH0000H0010CMPAX,0FFFFH0000H1000SUBAX,1200H0EE00H1001MOVCX,50EE00H1001SARAX,10F700H0001SARAX,CL0FFB8H0—01ADDAX,0FFFFH0FFB7H1001NEGAX0049H100001二月20231801二月20231816、寫出實現下列功能的指令或程序段。(1)將AL中的1、3、5位變反。測試數據為:00101010B,即2AHXORAL,2AH(2)判斷AL中的1、3、5位是否均為1。若是將AL置1,否則將AL置0。多位同時為0可用TEST指令測試;故先將AL中的值取反,再判斷;(2)解答
MOVBL,AL
NOTBL
TESTBL,2AH JZNEXT MOVAL,0
JMPEXITNEXT: MOVAL,1EXIT:……01二月20231901二月20231916、寫出實現下列功能的指令或程序段。(3)將AL中的高4位與BL中的低4位、AL中的低4位與BL中的高4位交換。 MOVDL,AL MOVDH,BL MOVCL,4
RORDL,CL MOVBL,DL
RORDH,CL MOVAL,DHA7A6A5A4A3A2A1A0ALB7B6B5B4B3B2B1B0BLB3B2B1B0B7B6B5B4ALA3A2A1A0A7A6A5A4BL01二月20232001二月20232016、寫出實現下列功能的指令或程序段。(4)將標志寄存器的內容傳送到AX。 PUSHF POPAX(5)將標志寄存器的TF位清0 PUSHF POPAX ANDAX,0FEFFH PUSHAX POPFP47最后一行01二月20232101二月20232116、寫出實現下列功能的指令或程序段。(6)將雙字內容邏輯右移4位。設X位雙字變量。假定雙字數據在變量X中; MOVAX,wordptrX MOVDX,wordptrX+2 MOVCX,4NEXT:SHRDX,1 RCRAX,1 LOOPNEXT MOVwordptrX,AX MOVwordptrX+2,DX01二月20232201二月20232216、寫出實現下列功能的指令或程序段。(7)將偏移地址為0100H開始的連續100個字節的數據單元傳送到同一數據段中偏移地址為0150H的數據區中。 MOVSI,100H MOVCX,100AGAIN:MOVAL,[SI] MOV[SI+50H],AL INCSI LOOPAGAIN01二月20232301二月20232316、寫出實現下列功能的指令或程序段。(8)將A單元中的內容與B單元中的內容相乘后,結果保存中在C1單元的連續兩個字節中。 MOVAL,A MULB MOVwordptrC1,AX第4章MASM匯編語言知識01二月20232401二月2023253、說明下列兩條語句的區別(1)XDB12H此語句中定義的X是一個變量;此語句可為X分配相應空間,其數值在內存中占一個字節;符號X可表示一個存儲單元地址;(2)XEQU12H此語句中定義的X是一個常量;此語句并不會為X分配相應空間;符號X僅代替數值12H。01二月2023264、指出下列數據段定義后,各數據在內存儲器中的分配情況。DATASEGMENT A DB 1,2,3,4 B DB ‘1’,’2’,’3’,’4’ C DW 1,2,3,4 D EQU 1234H E DD 1234HDATAENDSD是常量,不分配內存空間;01020304313233340100ABC+202000300040034120000CD5、設某數據段如下試指出(1)STR1的偏移地址100H(2)NUM是多少STR1所占存儲單元的個數,即0AH;(3)STR2+3的存儲單元的內容字符“O”;01二月202327A、B、NUM均為常量;不分配內存空間;ORG100H A=12H B=A+10H STR1DB‘DATASTRING’ NUMEQU$-STR1 STR2DB‘INFORMATION’01二月2023286、下列程序段運行后,Y單元開始的存儲區存放的數據是什么? XDB78H YDB3DUP(?)
…
… LEASI,Y MOVCX,3 MOVAL,XLOP:SARAL,1 MOV[SI],ALINCSILOOPLOP
78------XY78H=01111000B右移一位:00111100B=3CH3C右移一位:00011110B=1EH1E右移一位:00001111B=0FH0F7、下列程序段有何功能?01二月202329 XDB300DUP(?) YDB100DUP(?)
…
… MOVCX,100 MOVBX,200 MOVSI,0 MOVDI,SILOP:SARAL,X[BX+SI] MOVY[DI],ALINCSIINCDILOOPLOP
[X+200+SI][Y+DI]其中,SI、DI同步變化。程序功能:
將X的后100個字節單元中的數據復制到Y單元中。01二月2023308、下列程序段有何功能?如果運行程序時從鍵盤上輸入字符‘4’,則結果是什么?STR1DB'ABCDEFHI' ……
MOVAH,01H INT21H ANDAL,0FH
DECAL XORAH,AH
MOVBX,OFFSETSTR1 ADDBX,AX
MOVDL,[BX] MOVAH,02H INT21H變量名不能為STR從鍵盤輸入一個數字字符,并轉換為數值將輸入數值減1,并擴展為字數據AX將BX指向STR1中偏移量為AX的字符將指定字符顯示若程序運行時,從鍵盤上輸入字符“4”,則在屏幕上會顯示字符“D”。01二月2023319、已知數據定義為“
WDATDW1234H,5678H”,并且SI=2,寫出下列指令單獨執行后的結果。(1)MOVAX,WDAT(AX)=1234H(2)MOVAX,WDAT+2(AX)=5678HH(3)MOVAX,WDAT+[SI](AX)=5678HH01二月20233211、使用一偽指令語句完成下列要求。(1)將數據12H、34H、56H、0ABH依次存放在字節數組ARRAY中。ARRAYDB12H,34H,56H,0ABH(2)在字數組DARRY中依次存放數據1234H、5678H和0ABCDH。DARRYDW1234H,5678H,0ABCDH(3)將壓縮的BCD碼1234存放在BCD單元中。BCDDB12H,34H01二月20233311、使用一偽指令語句完成下列要求。(4)將字符串’STRING’存放在數組STR1中。STR1DB‘STRING$’(5)在數據區DATA1中連續存放字節數據12H、34H,字符數據’A’
、’B’、’C’,字數據1234H、5678H、0ABCDHDATA1DB12H,34H DB‘A’,’B’,’C’ DW1234H
,5678H
,0ABCDH12、使用一條指令語句完成下列要求。(1)將棧頂內容彈至字變量STAK中。POPSTAK(2)將雙字變量DVAR存放的地址指針送到ES和SI。LESSI,DVAR(3)把變量VAR的類型屬性送到AX中。MOVAX,TYPEVAR(4)取字符串變量VSTR的首地址送到AX中。LEAAX,VSTR01二月20233414、設有數據段定義如右,試完成如下要求:(1)用一條指令將DAT1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 管道施工技術測試題及答案解析
- 2026中國通信設備制造業市場現狀分析與發展趨勢分析評估發展研究報告
- 2026汽車零部件行業市場需求與供給分析及產業優化
- 2026中國稀土永磁材料全球供應鏈重塑及價格波動預警報告
- 2026汽車銷售行業市場深度調研及競爭格局與發展趨勢研究報告
- 2026中國文化傳媒行業供需現狀分析投資評估規劃分析研究報告
- 2026中國守衛機器人行業市場供需分析及投資評估規劃分析研究報告
- 2026中國新能源光伏組件制造行業市場供需分析及投資評估分析研究報告
- 2026中國新型顯示技術產業現狀及未來前景分析報告
- 2026葡萄酒白葡萄酒紅葡萄酒酒精釀造行業市場現狀供需分析及投資評估規劃分析研究報告
- 2025年公文寫作公文試題及答案
- 2025年LNG船舶運輸合同標準范本
- 旅行社安全培訓記錄
- 技術轉移與成果轉化的有效路徑
- 門衛管理制度車輛人員
- 回醫學中的拔罐療法
- GB/T 44921-2024鑄件工業計算機射線照相檢測
- 1輸變電工程施工質量驗收統一表式(線路工程)-2024年版
- 住院醫師運行病歷檢查評分表(醫院腫瘤科表格模板)
- 心功能四級的護理措施
- 變電站設備巡視要點課件
評論
0/150
提交評論