西安電子科技大學(xué)微型計(jì)算機(jī)原理上機(jī)報(bào)告_第1頁(yè)
西安電子科技大學(xué)微型計(jì)算機(jī)原理上機(jī)報(bào)告_第2頁(yè)
西安電子科技大學(xué)微型計(jì)算機(jī)原理上機(jī)報(bào)告_第3頁(yè)
西安電子科技大學(xué)微型計(jì)算機(jī)原理上機(jī)報(bào)告_第4頁(yè)
西安電子科技大學(xué)微型計(jì)算機(jī)原理上機(jī)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩25頁(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ì)算機(jī)原理上機(jī)報(bào)告王劼驗(yàn)一 Debug程序的使用1由DOS進(jìn)入DEBUG調(diào)試環(huán)境。(1) C:>DEBUG將調(diào)試程序裝入內(nèi)存注意:當(dāng)機(jī)器控制權(quán)由DOS成功地轉(zhuǎn)移給調(diào)試程序后,將顯示“”號(hào),它是DEBUG的狀態(tài)提示符,表示可以接受調(diào)試子命令了。(2) R 顯示CPU中各寄存器當(dāng)前初始內(nèi)容,請(qǐng)記錄下列各項(xiàng):AXBXCXDXBP=SI=DI=DS=ES=SS=SP=CS=IP= FLAG寄存器中的8個(gè)標(biāo)志位狀態(tài)值是:OFDFIFSFZFAFPFCFDEBUG用符號(hào)給出標(biāo)志寄存器中8個(gè)標(biāo)志位的當(dāng)前狀態(tài),其含義如下表所示。標(biāo)志位含義1的對(duì)應(yīng)符號(hào)0的對(duì)應(yīng)符號(hào)OF溢出OV

2、有NV無(wú)DF方向DN遞減UP遞增IF中斷EI允許DI禁止SF符號(hào)NG負(fù)PL正ZF全零ZR零NZ非零AF輔助進(jìn)位AC有NA無(wú)PF奇偶性PE偶PO奇CF進(jìn)位CY有NC無(wú)截圖:2用DEBUG調(diào)試簡(jiǎn)單程序例1 A CS:0106 MOV AX,1234MOV BX,2345MOV CX,0ADD AX,BXMOV CX,AXINT 20運(yùn)行程序(注:執(zhí)行程序時(shí)IP應(yīng)指向要執(zhí)行的指令,需要修改時(shí) RIP 當(dāng)前值 輸入需要值 該處為0106 當(dāng)然也可以在T或G命令中指出程序起始地址) R 顯示各寄存器當(dāng)前內(nèi)容及首條指令 T 3 跟蹤執(zhí)行三條賦值傳送指令,觀察寄存器及標(biāo)志位變化 T 2跟蹤執(zhí)行相加及送和數(shù)指

3、令,觀察寄存器及標(biāo)志位變化 G 執(zhí)行軟件中斷指令I(lǐng)NT 20,機(jī)器將顯示“程序正常終止”的信息,并顯示“”,表明仍處在DEBUG的調(diào)試控制狀態(tài)下,注意未用T命令,因?yàn)槲覀儾幌脒M(jìn)入到20H中斷處理程序中去,P命令也可實(shí)現(xiàn)相同操作實(shí)驗(yàn)現(xiàn)象記錄:觀察每條指令執(zhí)行后各相關(guān)寄存器值及標(biāo)志位狀態(tài)截圖:例2 A CS:116MOV AX,0124MOV BX ,0126ADD AX,BXMOV 0128,AXINT 20DW 2222DW 8888DW 0設(shè)置斷點(diǎn)分段運(yùn)行程序GCS:116 11D 從指定入口運(yùn)行程序,至斷點(diǎn)11D停,可見(jiàn)兩個(gè)數(shù)已取至AX,BX,但還沒(méi)有求和G122 從上一斷點(diǎn)運(yùn)行至新斷點(diǎn)停

4、,已完成求和并存入指定結(jié)果單元G 完成程序觀看內(nèi)存內(nèi)容DCS:116 12A 顯示本程序小段目標(biāo)代碼和數(shù)據(jù)單元內(nèi)容UCS:116 12A 反匯編指定范圍的內(nèi)存內(nèi)容-實(shí)驗(yàn)現(xiàn)象記錄:通過(guò)反匯編,記錄程序執(zhí)行前指定范圍的內(nèi)存內(nèi)容,并記錄每條指令執(zhí)行后各相關(guān)寄存器值及指定范圍的內(nèi)存內(nèi)容)截圖:例3 A CS:0192 MOV DX,19BMOV AH,9INT 21INT 20DB HELLO,WORLD! $P 命令單步執(zhí)行實(shí)驗(yàn)現(xiàn)象記錄:觀察每條指令執(zhí)行后各寄存器的變化,記錄DX,AX的變化。思考:根據(jù)程序輸入情況,考慮HELLO,WORLD!$在內(nèi)存中的ASC碼和地址范圍截圖:例4 自己設(shè)計(jì)一段小

5、程序驗(yàn)證補(bǔ)碼的加法、進(jìn)位、溢出的概念;參考程序(可對(duì)數(shù)據(jù)進(jìn)行修改):A CS:0100MOV AL,74ADD AL,70MOV AL,7AADD AL,94MOV AL,43ADC AL,65INT 20P命令單步執(zhí)行截圖:實(shí)驗(yàn)二 匯編語(yǔ)言上機(jī)環(huán)境及基本步驟截圖:實(shí)驗(yàn)三 順序程序設(shè)計(jì)1.題目 計(jì)算XY=Z,將結(jié)果Z存入某存貯單元。本實(shí)驗(yàn)程序是2個(gè)16位,即32位運(yùn)算,利用累加器AX,先求低16位和,并存入低地址存貯單元,后求高16位和,再存入高地址存貯單元。由于低位和可能向高位有進(jìn)位,因而高位相加語(yǔ)句須用ADC指令,則低位相加有進(jìn)位時(shí)CF=l,高位字相加時(shí),同時(shí)加上CF中的1。程序:STAC

6、K SEGMENT DW 64 DUP(?)STACK ENDSDATA SEGMENT XL DW ? ;請(qǐng)?jiān)诖颂幗oX低位賦值 XH DW ? ;請(qǐng)?jiān)诖颂幗oX高位賦值 YL DW ? ;請(qǐng)?jiān)诖颂幗oY低位賦值 YH DW ? ;請(qǐng)?jiān)诖颂幗oY高位賦值 ZL DW ? ZH DW ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV AX,XL ADD AX,YL MOV ZL,AX MOV AX,XH ADC AX,YH MOV ZH,AX INT 03HCODE ENDS END START截圖

7、:2寫(xiě)出計(jì)算y=a*b+c-18的程序,其中a、b、c分別為3個(gè)帶符號(hào)的8位二進(jìn)制數(shù)。同1一樣,寫(xiě)出上機(jī)過(guò)程,觀察現(xiàn)象,記錄結(jié)果。程序: DW 256 DUP(?) TOP LABEL WORDSTACK ENDSDATA SEGMENT DAT1 DB 34H DAT2 DB 56H DAT3 DB 0E7H DAT4 DW ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART:MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV SP,OFFSET TOP MOV AL,DAT1

8、MOV BL,DAT2 IMUL BL MOV BX,AX MOV AL,DAT3 CBW ADD AX,BX SUB AX,18 MOV DAT4,AX MOV AH,4CH INT 21CODE ENDSEND START截圖:實(shí)驗(yàn)四 分支程序設(shè)計(jì) 1求某數(shù)X的絕對(duì)值,并送回原處同上,寫(xiě)出上機(jī)過(guò)程,觀察現(xiàn)象及記錄結(jié)果。程序:STACK SEGMENT DW 256 DUP(?) TOP LABEL WORDSTACK ENDSDATA SEGMENT DAT1 DW 3456H,8192HDATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STA

9、CKSTART:MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV SP,OFFSET TOP MOV AX,DAT1 AND AX,AX JNS NEXT NEG AX MOV DAT1,AXNEXT:MOV AH,4CH INT 21CODE ENDSEND START截圖: 2寫(xiě)出將一位十六進(jìn)制數(shù)轉(zhuǎn)換成對(duì)應(yīng)的ASXII碼的程序(只考慮大寫(xiě)字母)。同上,寫(xiě)出上機(jī)過(guò)程,觀察現(xiàn)象及記錄結(jié)果。程序:STACK SEGMENT DW 256 DUP(?) TOP LABEL WORDSTACK ENDSDATA SEGMENT DAT1 DB 12DA

10、TA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART:MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV SP,OFFSET TOP MOV AL,DAT1 CMP AL,09 JBE NEXT1 CMP AL,15 JA NEXT3 ADD AL,07NEXT1:ADD AL,03H NEXT2:MOV AH,4CH INT 21NEXT3:MOV AL,0FFH JMP SHORT NEXT2CODE ENDSEND START截圖:實(shí)驗(yàn)五 循環(huán)程序設(shè)計(jì) 1題目:求某數(shù)據(jù)區(qū)內(nèi)負(fù)數(shù)的個(gè)數(shù)

11、。 設(shè)數(shù)據(jù)區(qū)的第一單元存放區(qū)內(nèi)單元數(shù)據(jù)的個(gè)數(shù),從第二單元開(kāi)始存放數(shù)據(jù),在區(qū)內(nèi)最后一個(gè)單元存放結(jié)果。為統(tǒng)計(jì)數(shù)據(jù)區(qū)內(nèi)負(fù)數(shù)的個(gè)數(shù),需要逐個(gè)檢查區(qū)內(nèi)的每一個(gè)數(shù)據(jù),然后將所有數(shù)據(jù)中凡是符號(hào)位為1的數(shù)據(jù)的個(gè)數(shù)累加起來(lái),即可得到所包含負(fù)數(shù)的個(gè)數(shù)。參考程序:STACK SEGMENT DW 64 DUP(?)STACK ENDSDATA SEGMENT ORG 3000HDATA1 DB 16 DUP(?)DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV DI,OFFSET DATA1;設(shè)數(shù)據(jù)區(qū)首地址 MOV

12、 CL,DI ;送數(shù)據(jù)個(gè)數(shù) XOR CH,CH ;CH清零 MOV BL,CH ;BL清零 INC DI ;指針指向第一個(gè)數(shù)據(jù)A1: MOV AL,DI TEST AL,80H ;數(shù)據(jù)首位是否為1 JE A2 INC BL ;負(fù)數(shù)個(gè)數(shù)累加A2: INC DI LOOP A1 MOV DI,BL ;存結(jié)果 INT 03HCODE ENDS END START截圖:2.課堂講的數(shù)據(jù)傳送題,傳送數(shù)據(jù)變?yōu)?0個(gè)數(shù),寫(xiě)出完整的程序并調(diào)試, 1) 將ADRS開(kāi)始存放的10個(gè)字節(jié)的數(shù)據(jù)傳送到ADRD開(kāi)始的連續(xù)內(nèi)存中。假設(shè)他們的段地址分別存放在DS和ES中。程序:STACK SEGMENT DB 256 DU

13、P(?)STACK ENDSDATA SEGMENT ADRS DB 10 DUP(?) ADRD DB 10 DUP(?)DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOV AX,DATA MOV DS,AX MOV AX,ES MOV AX,STACK MOV SS,AX LEA SI,ADRS LEA DI,ADRD MOV CX,100NEXT: MOV AL,SI MOV ES:DI,AL INC SI INC DI LOOP NEXT MOV AH,4CH INT 21H CODE ENDS

14、END START截圖:2) 將ADRS開(kāi)始存放的10個(gè)字節(jié)的數(shù)據(jù)傳送到ADRD開(kāi)始的連續(xù)內(nèi)存中。假設(shè)他們的段地址分別存放在DS和ES中。如果傳送過(guò)程中出現(xiàn)#時(shí),立即停止傳送。程序:STACK SEGMENT DW 256 DUP(?) TOP LABEL WORDSTACK ENDSDATA SEGMENT ADRS DB 10 DUP(?) ADRD DB 10 DUP(?)DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV SS,AX MOV SP,OFFSET TOP

15、 LEA SI,ADRS LEA DI,ADRD MOV CX,100 MOV AL,SI CMP AL,'#' JE NEXT1NEXT2: MOV ES:DI,AL INC SI INC DI MOV AL,SI CMP AL,'#' LOOPNE NEXT2NEXT1:MOV AH,4CH INT 21HCODE ENDS END START截圖:3.課堂講的排序題,遞減排列。程序:STACK SEGMENT DW 256 DUP(?) TOP LABEL WORDSTACK ENDSDATA SEGMENT DAT1 DB 16 DUP(?) DATMA

16、X DB ? DATMIN DB ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART:MOV AX,DATA MOV DS,AX MOV DI,OFFSET DAT1 MOV CL,DI XOR CH,CH MOV BL,DI+1 MOV DATMIN,BL MOV DATMAX,BL MOV AL,01HNEXT1:INC DI INC AL CMP CL,AL JS NEXT3 MOV BL,DATMIN CMP BL,DI+1 JS NEXT2 MOV BL,DI+1 MOV DATMIN,BL JMP NEXT2NEXT2:MOV BL

17、,DATMAX CMP BL,DI+1 JNS NEXT1 MOV BL,DI+1 MOV DATMAX,BL JMP NEXT1NEXT3:MOV AH,4CH INT 21CODE ENDSEND START 截圖: 實(shí)驗(yàn)六 子程序設(shè)計(jì)1. 編寫(xiě)程序,統(tǒng)計(jì)一個(gè)字中的1的個(gè)數(shù)。分別采用段內(nèi)調(diào)用和段間調(diào)用實(shí)現(xiàn)。程序:STACK SEGMENT DW 256 DUP(?) TOP LABEL WORDSTACK ENDSDATA SEGMENT DAT1 DW ? DAT2 DW ? DATA ENDSCODE1 SEGMENT ASSUME CS:CODE1,DS:DATA,SS:STACKS

18、TART:MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV SP,OFFSET TOP MOV AX,DAT1 CALL FAR PTR NEXT POP AX ADD AX,BX MOV DAT2,AX MOV AH,4CH INT 21HCODE1 ENDSCODE2 SEGMENT ASSUME CS:CODE2NEXT PROC FAR MOV BX,0 MOV CX,08NEXT1:ROL AL,01 JNC NEXT2 INC BXNEXT2:LOOP NEXT1 RETNEXT ENDPCODE2 ENDS END START截圖:

19、實(shí)驗(yàn)七 DOS系統(tǒng)功能調(diào)用1.在顯示器上顯示AZ 26個(gè)英文字母。參考程序:STACK SEGMENT DW 64 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,SS:STACKSTART: MOV CX,001AH MOV BL,41H MOV AH,02HA1: MOV DL,BL INT 21H INC BL PUSH CX MOV CX,0FFFFHA2: LOOP A2 POP CX DEC CX JNZ A1 MOV AH,4CH INT 21HCODE ENDS END START截圖:2.修改程序,使顯示結(jié)果重復(fù)5次后退出。程序:STA

20、CK SEGMENT DW 64 DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE,SS:STACKSTART: MOV DH,05HNEXT1:MOV CX,001AH MOV BL,41H MOV AH,02HNEXT2:MOV DL,BL INT 21H INC BL DEC CX JNZ NEXT2 DEC DH JNZ NEXT1 MOV AH,4CH INT 21HCODE ENDS END START截圖:3.修改程序,在顯示器顯示:“HOW ARE YOU TODAY?”要求用AH=09H完成。程序:STACK SEGMENT DW 64

21、DUP(?)STACK ENDSDATA SEGMENT DAT1 DB 'HOW ARE YOU TODAY?$'DATA ENDSCODE SEGMENT ASSUME CS:CODE,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV DX,OFFSET DAT1 MOV AH,09H INT 21H MOV AH,4CH INT 21HCODE ENDS END START截圖:4.修改程序,在顯示器顯示:“HOW ARE YOU TODAY?”要求用AH=02H完成。程序:STACK SEGMENT DW 64 DUP(?)STACK E

22、NDSDATA SEGMENT DAT1 DB 'HOW ARE YOU TODAY?$'DATA ENDSCODE SEGMENT ASSUME CS:CODE,SS:STACKSTART: MOV AX,DATA MOV DS,AX MOV DI,OFFSET DAT1 MOV CX,18NEXT:MOV DL,DI MOV AH,02H INT 21H INC DI LOOP NEXT MOV AH,4CH INT 21HCODE ENDS END START截圖:實(shí)驗(yàn)八 字符串1、設(shè)在數(shù)據(jù)段中定義了:STR1 DB ASSEMBLE LANGUAGESTR2 DB 20

23、 DUP(?)利用字符串指令從左到右將STR1將中的字符串傳送到STR2。程序:STR1 DB 'ASSEMENT LANGUAGE'STR2 DB 20 DUP(?)STACK SEGMENT DW 256 DUP(?) TOP LABEL BYTESTACK ENDSDATA SEGMENT STR1 DB 'ASSEMENT LANGUAGE' STR2 DB 20 DUP(?)DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATASTART:MOV AX,DATA MOV DS,AX M

24、OV ES,AX MOV SP,OFFSET TOP MOV CX,20 LEA SI,STR1 LEA DI,STR2 CLDAGAIN: MOVSB LOOP AGAIN MOV AH,4CH INT 21HCODE ENDSEND START截圖:2、設(shè)在數(shù)據(jù)段中定義了:STRING DB Today is Sunday & July 16,2000編寫(xiě)程序?qū)崿F(xiàn)將STRING中的“&”用“/”代替并將替換后的字符串顯示出來(lái)。程序:STACK SEGMENT DW 256 DUP(?) TOP LABEL BYTESTACK ENDSDATA SEGMENT STR1 DB

25、 'Today is Sunday & July 16,2000'DATA ENDSCODE SEGMENT ASSUME CS:CODE,SS:STACK,ES:DATASTART:MOV AX,DATA MOV ES,AX MOV DI,OFFSET STR1 MOV CX,30 MOV AL,'&' CLDAGAIN: SCASB JZ FIND LOOP AGAIN MOV AH,4CH INT 21HFIND:MOV BYTE PTR ES:DI-1,'/' MOV CX,30 MOV DI,OFFSET STR1NEXT:MOV DL,ES:DI MOV AH,02H INT 21H INC DI LOOP NEXT MOV AH,4CH INT 21HCODE ENDSEND START截圖:3、 編程實(shí)現(xiàn)將

溫馨提示

  • 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)論