




已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
微型計算機原理第4章習題參考答案4.1已知某數(shù)據(jù)段中有COUNT1 EQU 16HCOUNT2 DW 16H下面兩條指令有何異同。MOV AX,COUNT1MOV BX,COUNT2解: 同:執(zhí)行完之后,AX=BX=16H 異:MOV AX,COUNT1向AX中傳送的是立即數(shù),而MOV BX,COUNT2向BX中傳送的是變量內(nèi)容。4.2下列程序段執(zhí)行后,寄存器AX、BX和CX的內(nèi)容分別是多少?ORG 0202HDA-WORD DW 20HMOV AX,DA-WORD ;AX=0020HMOV BX,OFFSET DA-WORD ;BX=0202HMOV CL,BYTE PTR DA-WORD ;CL=20HMOV CH,TYPE DA-WORD ;CH=02H解: AX=0020H,BX=0202H,CX=0220H4.3設(shè)平面上有一點P的直角坐標(x,y),試編制完成以下操作的程序:如P點落在第I象限,則K=I;如P點落在坐標軸上,則K=0。解:DAT SEGMENTmsg db please input number only!$MSG1 DB 10,13,INPUT X:$MSG2 DB 10,13,INPUT Y:$xbuf db 20,0xbuf1 db 20 dup(?)ybuf db 20,0ybuf1 db 20 dup(?)D1 DB 10,13,K=D2 DB ?,$DAT ENDSCOD SEGMENT ASSUME CS:COD,DS:DATBG:MOV AX,DAT MOV DS,AX mov dx,offset msgmov ah,9int 21hMOV DX,OFFSET MSG1 MOV AH,9 INT 21H mov dx,offset xbufMOV AH,0AH INT 21H MOV DX,OFFSET MSG2 MOV AH,9 INT 21H mov dx,offset ybufMOV AH,0AH INT 21H CMP ybuf1,0 JE PRO1 CMP xbuf1,0 JE PRO1 cmp xbuf1,-Jz PRO2 CMP ybuf1,- Je PRO4 MOV D2,1 JMP SHOWPRO1:MOV D2,0 JMP SHOWPRO2:CMP ybuf1,- Je PRO3 MOV D2,2 JMP SHOWPRO3:MOV D2,3 JMP SHOWPRO4:MOV D2,4SHOW:MOV DX,OFFSET D1 MOV AH,9 INT 21Hmov ah,4chint 21hCOD ENDS END BG4.4 試編制一程序,把CHAR1中各小寫字母分別轉(zhuǎn)換為對應(yīng)的大寫字母,并存放于CHAR2開始的內(nèi)存單元中。CHAR DBabcdefCHAR2 DB $CHAR1 DUP(0)解:DAT SEGMENTCHAR1 DB abcdefghCHAR2 DB $-CHAR1 DUP(0)N EQU $-CHAR2DAT ENDSCOD SEGMENT ASSUME CS:COD,DS:DATBG: MOV AX,DAT MOV DS,AX MOV SI,0 MOV CX,NLP: MOV AL,CHAR1SI SUB AL,20H MOV CHAR2SI,AL INC SI LOOP LP MOV AH,4CH INT 21HCOD ENDS END BG4.5 試編寫一程序,把DABY1字節(jié)單元中數(shù)據(jù)分解成3個八進制數(shù),其最高位八進制數(shù)據(jù)存放在DABY2字節(jié)單元中,最低位存放在DABY2+2字節(jié)單元中。DABY1 DB 6BHDABY2 DB 3DUP(0)解:DAT SEGMENTDABY1 DB 6BHDABY2 DB 3 DUP(0)DB 24HDAT ENDSCOD SEGMENT ASSUME CS:COD,DS:DATBG: MOV AX,DAT MOV DS,AX MOV AL,DABY1 AND AL,07H MOV DABY2+2,AL MOV AL,DABY1 AND AL,38H MOV CL,3 SHR AL,CL MOV DABY2+1,AL MOV AL,DABY1 AND AL,0C0H MOV CL,6 SHR AL,CL MOV DABY2,AL MOV AH,4CH INT 21HCOD ENDS END BG4.12 試編寫一程序,編程計算(A*B+C-70)/A,其中A、B、C均為字節(jié)變量。解:DAT SEGMENTA DB 23B DB 45C DB 67shang DB ?yushu db ?DAT ENDSCOD SEGMENT ASSUME CS:COD,DS:DATBG: MOV AX,DAT MOV DS,AX MOV AL,A IMUL B MOV CL,CMOV CH,0ADD AX,CX MOV DX,70 SUB AX,DX MOV BL,AIDIV BL MOV shang,ALmov yushu,ah MOV AH,4CH INT 21HCOD ENDS END BG4.14 試編寫一程序,找出BUF數(shù)據(jù)區(qū)中帶符號數(shù)的最大數(shù)和最小數(shù)。解:DAT SEGMENTBUF DB 3,6,5,4,1,-56,89,78,-67,12,43,45,-32N EQU $-BUFmaxdb ?mindb ? DAT ENDSCOD SEGMENT ASSUME CS:COD,DS:DATBG:MOV AX,DAT MOV DS,AX MOV SI,1 MOV CX,N-1 mov al,bufmov bl,alRECMP1: CMP AL,BUFSI JgE NOP1 mov AL,BUFSINOP1: cmp bl,bufsijle nop2mov bl,bufsinop2:INC SI LOOP RECMP1 mov max,almov min,bl MOV AH,4CH INT 21HCOD ENDS END BG4.5 試編寫一程序,把DABY1字節(jié)單元中數(shù)據(jù)分解成3個八進制數(shù),其最高位八進制數(shù)據(jù)存放在DABY2字節(jié)單元中,最低位存放在DABY2+2字節(jié)單元中。DABY1 DB 6BHDABY2 DB 3DUP(0)解:DAT SEGMENTDABY1 DB 6BHDABY2 DB 3 DUP(0)DB 24HDAT ENDSCOD SEGMENT ASSUME CS:COD,DS:DATBG: MOV AX,DAT MOV DS,AX MOV AL,DABY1 AND AL,07H MOV DABY2+2,AL MOV AL,DABY1 AND AL,38H MOV CL,3 SHR AL,CL MOV DABY2+1,AL MOV AL,DABY1 AND AL,0C0H MOV CL,6 SHR AL,CL MOV DABY2,AL MOV AH,4CH INT 21HCOD ENDS END BG 4.6 從BUF地址處起,存放有100字節(jié)的字符串,設(shè)其中有一個以上的A字符,編程查找出第一個A字符相對起始地址的距離,并將其存入LEN單元。解:DAT SEGMENTSTRING 1234ABCE-N EQU $-STRINGKEY DB ALEN DB ?MSG1 DB NOT FOUND KEY $MSG2 DB THE KEY IS AT:$DAT ENDSCOD SEGMENT ASSUME CS:COD,DS:DATBG:MOV AX,DAT MOV DS,AX MOV SI,0 MOV CX,N-1 MOV AL,BYTE PTR KEYLP:CMP AL,STRINGSI12340567800900046AB34120000040010000000000000 JNE NEXT JE FINDNEXT:INC SI LOOP LP MOV DX,OFFSET MSG1 MOV AH,9 INT 21H JMP LASTFIND:MOV LEN,SI MOV DX,OFFSET MSG2 MOV AH,9 INT 21H MOV DL,LEN MOV AH,2 INT 21HLAST:MOV AH,4CH INT 21HCOD ENDS 4.7 寫出下列邏輯地址的段地址,偏移地址和物理地址。(1)4312H:0B74H (2)10ADH:0DE98H(3)8314H:0FF64H (4)78BCH:0FD42H解:(1)段地址:4312H,偏移地址:0B74H,物理地址:43C94H (2)段地址:10ADH,偏移地址:0DE98H,物理地址:1E968H (3)段地址:8314H,偏移地址:0FF64H,物理地址:930A4H (4)段地址:78BCH,偏移地址:0FD42H,物理地址:88902H4.8 某程序設(shè)置的數(shù)據(jù)區(qū)如下所示DATA SEGMENTDB1 DB 12H,34H,0,56HDW1 DW 78H,90H,0AB46HADR1 DW DB1ADR2 DW DW1AAA DW $DB1BUF DB 5 DUP(0)DATA ENDS畫出該數(shù)據(jù)段內(nèi)容在內(nèi)存中的存放形式(要求用十六進制補碼表示,按字節(jié)組織)解:如右圖示 49 假設(shè)BX=54A3H,變量VALUE中存放的內(nèi)容為68H,確定下列各條指令單獨執(zhí)行后BX=?(1)XOR BX,VALUE (2)OR BX,VALUE(3)AND BX,00H (4)SUB BX,VALUE(5)XOR BX,0FFH (6)TEST BX,01H解:(1)BX=54CBH (2)BX=54EBH (3)BX=00H (4)BX=543BH (5)BX=545CH (6)BX=54A3H,按位與,不回送結(jié)果 4.10 以BUF1和BUF2開頭的兩個字符串,其長度均為LEN,試編程實現(xiàn)。(1)將BUF1開頭的字符串傳送BUF2開始的內(nèi)存空間;(2)將BUF1開始的內(nèi)存空間全部為零。解:DAT SEGMENT BUF1 DB ABCDBUF2 DB 1234LEN EQU $BUF2DAT ENDSCOD SEGMENTS ASSUME CS:COD,DS:DATBG:MOV AX,DAT MOV DS,AX MOV SI,0 MOV CX,LENLP1:MOV AL,BUF1SI MOV BUF2SI,AL INC SI LOOP LP1 MOV SI,0 MOV CX,LEN MOV AL,0LP2:MOV BUF1SI,AL INC SI LOOP LP2 MOV AH,4CH INT 21HCOD ENDS END BG 4.11 假設(shè)數(shù)據(jù)段的定義如下所示。P1 DW?P2DB 32 DUP(?)PLLENTH EQU $P1試問PLENTH的值為多少?表示什么意義?解:PLENTH的值為34,它表示包括P1、P2的數(shù)據(jù)變量的總長度(字節(jié)數(shù))。4.12 試編寫一程序,編程計算(A*B+C-70)/A,其中A、B、C均為字節(jié)變量。解:DAT SEGMENTA DB 23B DB 45C DB 67shang DB ?yushu db ?DAT ENDSCOD SEGMENT ASSUME CS:COD,DS:DATBG: MOV AX,DAT MOV DS,AX MOV AL,A IMUL B MOV CL,CMOV CH,0ADD AX,CX MOV DX,70 SUB AX,DX MOV BL,AIDIV BL MOV shang,ALmov yushu,ah MOV AH,4CH INT 21HCOD ENDS END BG4.14 試編寫一程序,找出BUF數(shù)據(jù)區(qū)中帶符號數(shù)的最大數(shù)和最小數(shù)。解:DAT SEGMENTBUF DB 3,6,5,4,1,-56,89,78,-67,12,43,45,-32N EQU $-BUFmaxdb ?mindb ? DAT ENDSCOD SEGMENT ASSUME CS:COD,DS:DATBG:MOV AX,DAT MOV DS,AX MOV SI,1 MOV CX,N-1 mov al,bufmov bl,alRECMP1: CMP AL,BUFSI JgE NOP1 mov AL,BUFSINOP1: cmp bl,bufsijle nop2mov bl,bufsinop2:INC SI LOOP RECMP1 mov max,almov min,bl MOV AH,4CH INT 21HCOD ENDS END BG4.17 在自BLOCK開始的存儲區(qū)中有100個帶符號數(shù)。試用氣泡排列法編寫成一個程序使它們排列有序。解:按照從小到大的順序排列:DAT SEGMENTBLOCK DB 1,2,3,-3,4,43,5,-45,23,-43,123,-123,43nequ$-blockDAT ENDSCOD SEGMENT ASSUME CS:COD,DS:DATBG: MOV AX,dat MOV DS,AX mov dx,n-1 mov si,0lp: mov al,blocksi MOV CX,n-1 subcx,si mov bx,1RECMP: cmp AL,blockbx+SI JLE NOCH xchg AL,blockbx+SINOCH: INC bx LOOP RECMP mov blocksi,alincsidec dxjnz lp MOV AH,4CH INT 21HCOD ENDS END BG4.20 試編程:從鍵盤上輸入同學的姓名Mr.ABC或MrS.XYZ,當按動回車鍵時,屏幕上將顯示出“Welcome MR.ABC”或“Welcome MrS.XYZ”解:dat segmentmsg1 db 10,please input you name:$msg2 db 10,13,welcome $keybuf db 50,0key db 50 dup($)dat endscod segment assume cs:cod,ds:datbeg: mov ax,dat mov ds,axlp: mov dx,offset msg1 mov ah,9 int 21h mov dx,offset key
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 關(guān)于商鋪租金合同范本
- 墻地磚合同范本
- 全書定制合同范本
- 單位電腦采購合同范本
- 單位與保安合同范本
- 個人投資合伙合同范本
- 修路轉(zhuǎn)讓合同范例
- 入圍合同范本
- 做線上合同范本
- 麻城外包型鋼加固施工方案
- 三年級下冊科學活動手冊
- 《交通工程CAD》課程教學大綱(本科)
- JJF 1341-2012 鋼筋銹蝕測量儀校準規(guī)范-(高清現(xiàn)行)
- 換班申請表(標準模版)
- 偏癱臨床路徑流程
- 者陰村戰(zhàn)友紀念者陰山對越自衛(wèi)還擊作戰(zhàn)30周年聯(lián)誼會計劃2
- GB-T 9251-2022 氣瓶水壓試驗方法(高清版)
- 基于單片機的電子廣告牌設(shè)計畢業(yè)設(shè)計論文
- 承插型盤扣式支模架專項施工方案
- 我國古代職業(yè)教育的發(fā)展
- 通用橫版企業(yè)報價單模板
評論
0/150
提交評論