微機原理何小海版習題解答-第4章_第1頁
微機原理何小海版習題解答-第4章_第2頁
微機原理何小海版習題解答-第4章_第3頁
微機原理何小海版習題解答-第4章_第4頁
微機原理何小海版習題解答-第4章_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

微機原理與接口技術第4章習題解答第1題假設程序中的數(shù)據(jù)定義如下:PARTNODW?PNAMEDB16DUP(?) COUNTDD?PLENTHEQU$-PARTNO則PLENTH=

,它的意義是

。答案PLENTH=22意義:PARTNO、PNAME、COUNT三個變量所占的空間大小或字節(jié)數(shù)No.01第2題假設有下面的數(shù)據(jù)定義:BUFFERDB?STRINGDW20DUP(?) TABLEDB‘ABCD’則下列指令單獨執(zhí)行后,有關寄存器的內容是多少?答案MOVAX,TYPEBUFFER AX=1

MOVAX,TYPESTRING AX=2MOVAX,LENGTHSTRING AX=20MOVAX,LENGTHTABLE AX=1MOVAX,SIZESTRING AX=40No.02第3題計算下列程序分別執(zhí)行后AX寄存器的內容。No.03(1) MOV AX,0 MOV BX,2345H TEST BX,1000H JZ NEXT INC AXNEXT:HLTAX=0第3題(2) MOVAX,0 XOR BX,BXAGAIN:INCBX ADDAX,BX CMPBX,10 JB AGAIN HLTAX=(((((0+1)+2)+3)….+10)=55No.03第3題(3) TABLEDB10,20,30,40,50INDEXDW2……LEABX,TABLE ADDBX,INDEX MOVAX,[BX] HLTAX=281EHNo.03第3題(4) MOVAX,0 MOVBX,0ABCDH MOVCX,16AGAIN:SHLBX,1JNCNEXTINC AXNEXT:LOOPAGAIN HLTAX=10No.03第3題(5)

MOVAL,0FFH CBW INC AX INC AX XCHGAH,AL SHR AH,1 RCR AL,1 HLTAX=0080HNo.03第4題若在自1000H單元開始有一個1000個字節(jié)的數(shù)據(jù)塊,要把它傳送到自1200H開始的存儲區(qū)中去,用以下三中方法,分別編制程序:(1)

不用串操作指令。(2)用單個傳送的串操作數(shù)據(jù)傳送指令。(3)用帶重復前綴的串操作數(shù)據(jù)傳送指令。No.04第4題No.04Y循環(huán)結束?修改地址指針SI←源數(shù)據(jù)塊末地址DI←目的數(shù)據(jù)塊末地址CX←循環(huán)次數(shù)修改CXAL←DS:[SI]ES:[DI]←AL結束Nagain第4題DATA SEGMENT ORG 1000HN1 DB 1000dup(?)N2 EQU 1200H+1000–1CON EQU 1000DATA ENDSSTACKSEGMENT STACK ‘STACK’ DW 100DUP(?)STACKENDSCODESEGMENT

ASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOVAX,DATA MOV DS,AXNo.04第4題 MOV ES,AX LEA SI,N1+1000–1 MOVDI,N2 MOVCX,CONL1: MOVAL,[SI] MOV[DI],AL DECSI DECDI LOOPL1 MOVAH,4CH INT21HCODEENDS END STARTNo.04STDMOVSBLOOPL1STDREPMOVSB

第5題自100H單元開始,有100個無符號數(shù)(字節(jié)),編寫程序計算這100個數(shù)的和,并把和存放在1971H和1972H單元,且高位存放在1972H單元。No.05第5題No.05定義數(shù)據(jù)段初始化DS獲取數(shù)據(jù)地址SI0AX100CXAX+[SI]AXSI+1SIAXSUM循環(huán)結束NY結束第5題STACKSEGMENTSTACK‘STACK’DW64DUP(?)STACKENDSDATASEGMENTORG100HNUMDB100DUP(?)ORG1971HSUMDW?DATAENDSCODESEGMENTASSUMECS:SEGMENT,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXNo.05第5題 LEASI,NUMMOVCX,100XORAX,AXL1:ADDAL,[SI]

ADCAH,00HINCSILOOPL1MOVSUM,AXMOVAH,4CHINT21HCODEENDSENDSTARTNo.05第6題編寫程序,計算下列函數(shù)值。

X+5 當X<0Y=4X 當0≤X≤3004X-10 當X>300No.06第6題No.06開始結束(AX)<0?X(AX)(AX)>300?Y(AX)+5Y4*(AX)-10Y4*(AX)YYNN第6題No.06DATA SEGMENT X DW-5Y DW ?DATA ENDSSTACKSEGMENT STACK‘STACK’ DW 100DUP(?)STACK ENDS

CODESEGMENT ASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AX

MOVAX,XCMPAX,0JSL1

;X<0轉L1

CMPAX,300JGL2

;X>300轉L2第6題No.06SHLAX,1SHLAX,1

;X×4

JMPSTOP

L2:SHLAX,1SHLAX,1SBBAX,10 ;4×X-10

JMPSTOP

L1:ADDAX,5 ;X+5

STOP:MOVY,AX

MOVAH,4CH INT21H CODE ENDS ENDSTART

第7題已知A、B、C三個變量,編程完成如下處理:

(1)若三個數(shù)均為0,則設置變量D為1;

(2)若三個數(shù)均不為零,則求這三個數(shù)的算術和,并存放在變量E中。No.07第7題No.07A=0?取A→AX,B→BX,C→CXB=0?C=0?B!=0?C!=0?YYYNNY1→D結束A+B+C→E開始oneNNdoneNY第7題No.07 DATASEGMENT ADW? BDW? CDW? DDW? EDW? DATAENDS CODESEGMENT ASSUMECS:CODE,DS:DATASTART: MOVAX,DATA MOVDS,AX MOVAX,A MOVBX,B MOVCX,C第7題No.07 CMPAX,0 JNZone CMPBX,0 JNZdone CMPCX,0 JNZdone MOVD,1 JMPdoneone: CMPBX,0 JZdone CMPCX,0 JZdone ADDAX,BX ADDAX,CX MOVE,AX 第7題No.07done: MOVAH,4CH INT21HCODEENDSENDSTART第9題在0200H單元和020AH單元開始,分別存放兩個各為10個字節(jié)的未組合BCD數(shù)(地址最低出存放最低字節(jié))。編寫程序計算兩個未組合BCD數(shù)的和,且把和存放在0214H單元開始的存儲單元中。No.09第9題No.09初始化數(shù)據(jù)指針SI,DI,BX初始化循環(huán)次數(shù)CX開始CF清0取[SI]→ALAL+[DI]+CF→AL調整AAAAL→[BX]修正指針SI,DI,BX循環(huán)結束?結束NYCF=1?保存進位Nagaindone第9題No.09 DATASEGMENT ORG200H SRC DB0,1,2,3,4,5,6,7,8,9 DST DB5,6,7,8,9,4,3,2,1,5 SUM DB11DUP(0) DATAENDS CODESEGMENT ASSUMECS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX LEA SI,SRC LEA DI,DST LEA BX,SUM MOV CX,10 XOR AX,AX第9題No.09again: MOVAL,[SI] ADCAL,[DI] AAA MOV[BX],AL INCSI INCDI INCBX LOOPagain JNCdone MOVBYTEPTR[BX],1done: MOVAH,4CH INT21HCODEENDSENDSTART第10題若自STRING單元開始有1000個數(shù)(字節(jié)),試針對下面情況編程將它們中的最小值、最大值找出來,并分別存放在5000H和5001H字節(jié)單元中。(1)這1000個數(shù)為無符號數(shù)。(2)這1000個數(shù)為帶符號數(shù)。No.10第10題No.10 DATASEGMENT STRINGDB1000DUP(?) ORG5000H MINDB? MAXDB? DATAENDS CODESEGMENT ASSUMECS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV CX,1000 LEA SI,STRING MOV AH,[SI] ;AH保存臨時最大值 MOV AL,AH ;AL保存臨時最小值

DEC CX 第10題No.10 INC SIagain: CMPAH,[SI] JAE next1 MOV AH,[SI]next1: CMP AL,[SI] JBE next2 MOV AL,[SI]next2: INC SI LOOPagain MOV MIN,AL MOV MAX,AH MOV AH,4CH INT 21HCODEENDSENDSTART

JLEJGE第11題No.11已知數(shù)組A包含10個互不相等的整數(shù),數(shù)組B包含15個互不相等的整數(shù),寫一程序,將既在A中出現(xiàn)又在B中出現(xiàn)的偶數(shù)存放在數(shù)組C中。第11題No.11初始化數(shù)據(jù)指針SI,BX初始化循環(huán)次數(shù)CX取AL←[SI]lop1AL為偶數(shù)?N初始化循環(huán)次數(shù)DX初始化數(shù)據(jù)指針DIAL=[DI]?修改指針DI和循環(huán)次數(shù)DXDX=0?保存結果修正指針BX修改SI,CX循環(huán)結束?結束NNYYYYNnext2lop2next1第11題No.11 DATASEGMENT ADB10DUP(?) BDB15DUP(?) CDB10DUP(?) DATAENDS CODESEGMENT ASSUMECS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV CX,10 LEA SI,A LEA BX,Clop1: MOV AL,[SI] TEST AL,01H JNZ next2第11題No.11 MOV DX,15 LEA DI,Blop2: CMP AL,[DI] JZ next1 INC DI DEC DX JNZ lop2 JMP next2next1: MOV [BX],AL INC BXnext2: INC SI LOOP lop1 MOV AH,4CH INT 21HCODEENDSENDSTART

第13題統(tǒng)計STRING字符串中數(shù)字字符(‘0’~’9’)的個數(shù),并將數(shù)字字符放入BUFFER區(qū)內(開始單元存放字符個數(shù))。No.13第13題No.13初始化數(shù)據(jù)指針SI,DI初始化循環(huán)次數(shù)CX,個數(shù)BL取AL←[SI]againAL≥‘0’?N保存數(shù)字字符并修正DIBL←BL+1循環(huán)結束?NYYYNAL≤‘9’?修正SI、CX結束next保存結果第13題No.13 DATASEGMENT STRINGDB100DUP(?) BUFFERDB101DUP(?) DATAENDS CODESEGMENT ASSUMECS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV CX,100 LEA SI,STRING LEA DI,BUFFER INC DI MOV BL,0again: MOV AL,[SI]

第13題No.13 CMP AL,‘0’ JB next CMP AL,‘9’ JA next INC BL MOV [DI],AL INC DInext: INC SI LOOP again MOV BUFFER,BL MOV AH,4CH INT 21HCODEENDSENDSTART

第19題若自STRING開始有一個字符串(以‘$’作為字符串的結束標志)。請編程查找此字符串中有多少個‘#’,并將個數(shù)存放在NUMBER字單元中,且把每一個‘?!址娣诺钠频刂贩诺阶訮OINTER開始的連續(xù)存儲字單元中。No.19第19題No.19初始化數(shù)據(jù)指針SI,DI初始化個數(shù)NUMBER取AL←[SI]againAL=‘$’?N保存偏移地址并修正DINUMBER←NUMBER+1NYYAL=‘#’?修正SI結束nextdone第19題No.19 DATASEGMENT STRINGDB‘FAER#DFFD#MDF2’,‘$’ POINTERDW100DUP(?) NUMBERDW? DATAENDS CODESEGMENT ASSUMECS:CODE,DS:DATASTART: MO

溫馨提示

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

評論

0/150

提交評論