微機(jī)原理作業(yè)及答案_第1頁(yè)
微機(jī)原理作業(yè)及答案_第2頁(yè)
微機(jī)原理作業(yè)及答案_第3頁(yè)
微機(jī)原理作業(yè)及答案_第4頁(yè)
微機(jī)原理作業(yè)及答案_第5頁(yè)
已閱讀5頁(yè),還剩6頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、微機(jī)原理作業(yè)第三章 匯編語(yǔ)言程序設(shè)計(jì) 題3.1A在下列程序運(yùn)行后,給相應(yīng)的寄存器及存儲(chǔ)單元填入運(yùn)行的結(jié)果:MOV AL,10H MMOV CX,1000H BLMOV BX,2000H 1000H MOV CX,AL BHXCHG CX,BX MOV DH,BX CLMOV DL,01H XCHG CX,BX CLMOV BX,DL 2000HHLT DL AL=1OHBL=OOHBH=2OHCL=OOHCH=1OHDH=1OH(10O0H)=lOH(200OH)=0lH題 3.1B DL要求同題 3.1A程序如下;MOV AL,50H ALMOV BP,1000HMOV BX,2000HMO

2、V BP,ALMOV DH,20HMOV BX,DHMOV DL,01HMOV DL,BXMOV CX,3000HHLTAL=5OHBL=OOHBH=20HCL=OOHCH=30HDL=20HDH=2OHBP=100OH(10OOH)=5OH(20OOH)=20H題3.2, 如在自1000H單元開(kāi)始有一個(gè)100個(gè)數(shù)的數(shù)椐塊。要把它傳送到自2000H開(kāi)始的存儲(chǔ)區(qū)中去,用以下三種方法,分別編制程序;1;不用數(shù)據(jù)塊轉(zhuǎn)送指令;2;用單個(gè)轉(zhuǎn)送的數(shù)據(jù)塊轉(zhuǎn)送指令;3;用數(shù)據(jù)塊成組轉(zhuǎn)送指令;(1) LEA SI, 1OOOHLEA DI, 200OHMOV CX, 100L1: MOV AX, SIMOVDI

3、,AXLOOPLlHLT(2) LEASI,100OHLEADI,2000HMOVCX,100CLDL1: MOVSBLOOP L1HLT (3) LEASI, 100OHLEADI, 200OHMOVCX, 100CLDREP MOVSBHLT題3.3A 利用變址寄存器遍一個(gè)程序,把自1000H單元內(nèi)開(kāi)始的100個(gè)數(shù)轉(zhuǎn)送到自1070H開(kāi)始的存儲(chǔ)區(qū)中去,LEASI,100OHLEADI,1070HMOVCX,100CLDREP MOVSBHLT題3.3B 要求用3.3A,源地址為2050H,目的地址為2000H,數(shù)據(jù)塊長(zhǎng)度為50,LEASI,205OHLEADI,200OHMOVCX,50CL

4、DREPMOVSBHLT題3.4 編一個(gè)程序,把自 1000H單元開(kāi)始的100個(gè)數(shù)轉(zhuǎn)送至1050H開(kāi)始的存儲(chǔ)區(qū)中(注意數(shù)據(jù)區(qū)有重疊)。LEASI, 100OHLEADI,1050HADDSI, 63HADDDI, 63HMOVCX, 100STDREPMOVSBHLT題3.5A 在自0500H單元開(kāi)始,存有100個(gè)數(shù)。要求把它傳送到1000H開(kāi)始的存儲(chǔ)區(qū)中,但在傳送過(guò)程中要檢查數(shù)的值,遇到第一個(gè)零就停止傳送。LEA SI, 050OHLEA DI, 10OOHMOV CX, 100N1: MOV AL, SICMP AL, 0JZ N2MOVDI,ALINC SIINC DILOOPN1N2:

5、 HLT題3.5B 條件同題3.5A,但在傳送過(guò)程中檢查數(shù)的值,零不傳送,不是零則傳送至目的區(qū)。題3.6 把在題3.5A中指定的數(shù)據(jù)塊中的正數(shù),傳送到自1000H開(kāi)始的存儲(chǔ)區(qū)。題3.7 把在題3.5A中指定的數(shù)據(jù)塊中的正數(shù),傳送到自1000H開(kāi)始的存儲(chǔ)區(qū);而把其中的負(fù)數(shù),傳送到自1100H開(kāi)始的存儲(chǔ)區(qū)。且分別統(tǒng)計(jì)正數(shù)和負(fù)數(shù)的個(gè)數(shù),分別存入1200H和1201H單元中。 HLT題3.8A 自0500H單元開(kāi)始,有10個(gè)無(wú)符號(hào)數(shù),編一個(gè)程序求10個(gè)數(shù)的和(用8個(gè)位數(shù)運(yùn)算指令),把和放到050A及050B單元中(和用兩個(gè)字節(jié)表示),且高位在050B單元。題3.8B 自0200H單元開(kāi)始,有100個(gè)無(wú)

6、符號(hào)數(shù),編一個(gè)程序求這100個(gè)數(shù)的和(用8位數(shù)運(yùn)算指令),把和放在0264H 和0265H單元(和用兩字節(jié)表示),且高位在0265H單元。題3.9 題同3.8,只是在累加時(shí)用16位運(yùn)算指令編程序。題3.10A 若在0500H單元中有一個(gè)數(shù)x:1.利用加法指令把它乘2,且送回原存儲(chǔ)單元(假定x*2后仍為一個(gè)字節(jié)); 2.x*4; 3.x*10 (假定x*10 255)。(1) LEA BX, 050OHMOV AL, BXADD AL, ALMOVBX,AL(2) LEA BX, 0500HMOV AL, BXADD AL, ALADD AL, ALMOVBX,AL(3)LEABX, 050OH

7、MOVAL, BXADDAL, ALMOVDL, ALADDAL, ALADD AL,ALADDAL, DLMOVBX,AL 題3.10B 題意與要求同題3.10A,只是x*2后可能為兩個(gè)字節(jié)。題3.11 若在存儲(chǔ)器中有兩個(gè)數(shù)a和b(它們所在地址用符號(hào)表示,下同),編一個(gè)程序?qū)崿F(xiàn)a*10+b(a*10以及“和”用兩字節(jié)表示)。題3.12 若在存儲(chǔ)中有數(shù)a,b,c,d(它們連續(xù)存放),編一個(gè)程序?qū)崿F(xiàn) (a*10+b)*10+c)*10+d (和 65535)題3.13A 在0100H單元和010AH單元開(kāi)始,存放兩個(gè)各為10個(gè)字節(jié)的BCD數(shù)(地址最低處放的是最低字節(jié)),求它們的和,且把和放在01

8、14H開(kāi)始的存儲(chǔ)單元中。題3.13B 在0200H單元和020AH單元開(kāi)始,存放兩個(gè)各為10個(gè)字節(jié)的二進(jìn)制數(shù)(地址最低處放的是最低字節(jié)),求它們的和,且把和放在0214H開(kāi)始的存儲(chǔ)單元中。 題3.14 在0200H單元開(kāi)始放有效A(低位在前) NA=95 43 78 62 31 04 56 28 91 01 在020單元開(kāi)始放有數(shù)B NB=78 96 42 38 15 40 78 21 84 50 求兩數(shù)之差,且把差值送入自0200H開(kāi)始的存儲(chǔ)區(qū)。題3.15A 在0500H單元有一個(gè)數(shù)x,,把此數(shù)的前四位變0,后四位維持不變,送回同一單元。題3.15B 條件同題3.15A,要求最高位不變,后7

9、位都為0。題3.16A 若在0500H單元有一個(gè)x, 把此數(shù)的前四位變“1”,后四位維持不變,送回同一單元。題3.16B 把x的最低位變“1”,高7位不變,送至0600H單元。題3.17A 若在0500H有一個(gè)數(shù)X,把此數(shù)的前四位變反,后四位維持不變,送回同一個(gè)單元STACSEGMENT STACKDB 1024 DUP(0)STAC ENDSDATA SEGMENTORG 0500H ;地址從0500H開(kāi)始NUM DB 38H ;假定一個(gè)數(shù)C8HDATA ENDSCODE SEGMENT CODEASSUME CS:CODE,DS:DATA,SS:STACSTART: MOV AX,DATA

10、MOV DS,AXXOR NUM,0F0H ;高位取反,低位不變MOV AX,4C00HINT 21HCODE ENDSEND START題3.17B把X最高位去反,后7位不變,送至0600H單元。題3.18 從0200H單元讀入一個(gè)數(shù),檢查它的符號(hào),且在0300H單元為它建立一個(gè)符號(hào)標(biāo)志(正為OO,負(fù)為FF)。 題3.19A 若從0200H單元開(kāi)始有100個(gè)數(shù),編一個(gè)程序檢查這些數(shù),正數(shù)保持不變,負(fù)數(shù)都取補(bǔ)后送回 。題3.19B 把題3.19A中的負(fù)數(shù)取補(bǔ)后送至0300H單元開(kāi)始的存儲(chǔ)區(qū)。題3.20A 若在0200H和0201H單元中有一個(gè)雙字節(jié)數(shù),編一個(gè)程序?qū)λ鼈兦笱a(bǔ)。題3.20B 在BX

11、寄存器對(duì)中有一個(gè)雙字節(jié)數(shù),對(duì)它求補(bǔ)。題3.21 若在0200H0203H單元中有一個(gè)四字節(jié)數(shù),編一個(gè)程序?qū)λ笱a(bǔ)。題3.22A 若在0200H0201H單元中有兩個(gè)正數(shù),編一個(gè)程序比較它們的大小,把大的數(shù)放在0201H單元中。題3.22B 條件同上,把較小的數(shù)放在0201H單元中。題3.23 條件與要求同題3.22A,只是兩個(gè)數(shù)為無(wú)符號(hào)數(shù)。題 3.24 條件與要求同題3.22A,相比較的是兩個(gè)帶符號(hào)數(shù)。題3.25A若自0500H單元開(kāi)始有1000個(gè)帶符號(hào)數(shù),把它們的最小值找出來(lái),放在1000H單元中。題3.25B若自1000H單元開(kāi)始有1000個(gè)無(wú)符號(hào)數(shù),把它們的最大值找出來(lái),放在2000H單

12、元。題 3.26 若在0200H單元中有一個(gè)數(shù)X,用移為方法實(shí)現(xiàn) 1. X2 2. X4(X255 且送回原單元。題 3.27A 編一個(gè)程序,使寄存器對(duì)BX中的數(shù)整個(gè)左移一位。題 3.27B 編一個(gè)程序,使寄存器對(duì)BP中的數(shù)整個(gè)右移一位(最高位維持不變)。題 3.28A 在0200H單元中有一個(gè)數(shù)X,利用移位和相加的辦法,使X*10(假定X*10255)后送回原單元。題 3.28B 條件和要求同題3.28A,但X*10可大于255。題 3.29 在0200H和0201H單元中存有一個(gè)兩字節(jié)數(shù) (高位在后),編一個(gè)程序把它們整個(gè)右移一位。題 3.30 在自BUFFER單元開(kāi)始,放有一個(gè)數(shù)據(jù)快,B

13、UFFER和BUFFER+1單元中放的是數(shù)據(jù)的長(zhǎng)度,自BUFFER+2開(kāi)始存放的是ASCII碼表示的十進(jìn)制數(shù)碼,把它們轉(zhuǎn)換為BCD碼,且把兩個(gè)想鄰單元的數(shù)碼并成一個(gè)單元(地址高的放在 高 四位)。放到自BUFFER+2開(kāi)始的存儲(chǔ)區(qū)中。題 3.31 來(lái)自BUFFER單元開(kāi)始,放有一個(gè)數(shù)據(jù)快,BUFFER和BUFFER+1單元中放的是數(shù)據(jù)的長(zhǎng)度,BUFFER+2開(kāi)始存放數(shù)據(jù),每一單元放的是兩位BCD碼,把它們分別轉(zhuǎn)換為ASCII,放到自BLOCK開(kāi)始的存儲(chǔ)區(qū)中(第四位BCD碼 轉(zhuǎn)換成的ASCII碼放在地址低的單元),而BLOCK和BLOCK+1放轉(zhuǎn)換成的ASCCII碼的長(zhǎng)度。題3.32B 條件同題3.32A,把轉(zhuǎn)換以后的兩個(gè)相鄰的16進(jìn)制樹并在一個(gè)存儲(chǔ)單元中。題3.33 若在某存儲(chǔ)區(qū)中已輸入4個(gè)以ASC11碼表示的16進(jìn)制數(shù)碼(高位在前),把它們轉(zhuǎn)換為二進(jìn)制數(shù)放入BX寄存器對(duì)中。題3.34 在自BUFFER單元開(kāi)始的數(shù)據(jù)塊中,前兩個(gè)單元放的是數(shù)據(jù)塊的長(zhǎng)度,自BUFFER+2開(kāi)始存放的是二進(jìn)制的數(shù)據(jù)塊。把每一個(gè)存儲(chǔ)單元的兩位16進(jìn)制數(shù),分別轉(zhuǎn)換為各自的ASC11碼

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論