久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

微機實驗報告要求

時間:2019-05-12 06:52:23下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《微機實驗報告要求》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《微機實驗報告要求》。

第一篇:微機實驗報告要求

實驗報告的撰寫要求

一、封面(統一要求)

二、報告內容:

① 題目

② 程序框圖

③ 硬件原理圖(在做硬件實驗時需此步驟)

④ 源程序(左邊為實驗前預習的源程序,右邊為實驗后調試正確的)

⑤ 指令分析(分析源程序中用到的條件轉移、邏輯、移位、算術運算等指令在程序段

中的作用)

⑥ 結果記錄及分析

三、收獲感想??梢詮囊韵聨讉€方面總結

① 進一步掌握并理解x86指令系統的功能及應用

② 加深對尋址方式的理解。

③ 了解程序設計過程,掌握x86程序設計的基本方法。

④ 掌握編程、調試方法(包括排除程序錯誤、決解問題的方法)。

⑤ 通過編程設計、軟件調試,進一步了解和掌握x86軟、硬件的工作原理,為下一步

硬件實驗打下良好的基礎。

第二篇:微機實驗報告

自動化 學院 物聯網 專業 1 班 學號

姓名 協作者 教師評定

實驗一 操作訓練及數碼轉換實驗

一、實驗目的

1)掌握80x86微機原理及接口技術教學實驗系統的操作,熟悉Wmd86聯級集成開發調試軟件的操作環境。

2)掌握不同進制數及數碼相互轉換的程序設計方法。

二、實驗設備

PC一臺,td-pite微機/單片機教學實驗裝置一套。

三、實驗內容與步驟 實驗程序:

1、STAK SEGMENT STACK

DW 64 DUP(?)STACK ENDS DATA SEGMENT

ORG 0500H DATA1 DB 00H, 01H,02H,03H,04H,05H,06H,07H,08H,09H,10H

DB 11H,12H,13H,14H,15H

ORG 0600H DATA2 DB 16 DUP(?)DATA ENDS CODE SEGMENT

ASSUME CS:CODE,DS:DATA START: MOV AX,DATA

MOV DS,AX

MOV SI,OFFSET DATA1

MOV DI, OFFSET DATA2

MOV CX,0010H A1: MOV AL,[SI]

MOV [DI],AL

INC SI

INC DI

LOOP A1

MOV AH,4CH INT 21H CODE ENDS END START 編譯連接后使用U命令查看DS地址為0208 使用G命令運行再用D命令查看結果正確

2、將ASCLL碼表示的十進制數轉換成二進制數 參考程序 略 利用E命令修改0500開始的數據輸入34 35 后G命令運行再用D命令查看結果為DATA:0510 2D正確輸入為12 95時對應結果為0C 5F 編程練習一:

1)編程實現將十進制數的ASCLL碼轉換成BCD碼 要求:用E命令從鍵盤輸入的五位十進制數的ASCLL碼已存放在0500H起始的內存單元內(例25H、30H、32H、34H、65H),把它轉換成BCD碼后,再分別存入050AH起始的內存單元內。若輸入的不是十進制數的ASCLL碼,則對應的結果的存放單元內容為“FF” 程序代碼:

STACK SEGMENT STACK DW 64 DUP(?)STACK ENDS DATA SEGMENT ORG 0500H DATA1 DB 25H,30H,32H,34H,65H ORG 050AH DATA2 DB 5 DUP(?)DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX, DATA MOV DS, AX MOV SI,OFFSET DATA1 MOV DI,OFFSET DATA2 MOV CL,5 A1: MOV AL, [SI] CMP AL,30H JB A2 CMP AL,39H JA A2 AND AL, 0FH MOV [DI], AL JMP NEXT A2: MOV BYTE PTR [DI], 0FFH JMP NEXT NEXT: INC SI INC DI DEC CL JNZ A1 MOV AH,4CH INT 21H CODE ENDS END START 實驗結果:

自動化 學院 物聯網 專業 1 班 學號

姓名 協作者 教師評定

實驗二:運算類編程實驗

一、實驗目的

1)掌握使用運算類指令編程及調試方法。

2)掌握運算類指令對各狀態標志位的影響及其測試方法。3)學習使用軟件監視變量的方法。

二、實驗設備

PC一臺,td-pite微機/單片機教學實驗裝置一套。

三、實驗內容及步驟

4、除法運算

題目:十進制的除法。被除數和除數均已非壓縮BCD數形式存放在內存中。試驗程序:

STACK SEGMENT STACK DW 64 DUP(?)STACK ENDS DATA SEGMENT DATA1 DB 2 DUP(?)DATA2 DB 1 DUP(?)RESULT DB 2 DUP(?)DATA ENDS CODE SEGMENT ASSUME CS: CODE,DS:DATA START: MOV AX, DATA MOV DS, AX CALL INIT MOV SI, OFFSET DATA2 MOV BL, [SI] MOV SI,OFFSET DATA1 MOV DI, OFFSET RESULT MOV CL,0AH MOV AL,[SI] MUL CL ADD AL,[SI+01H] MOV AH,00H DIV BL MOV AH , 00H DIV CL MOV [DI],AX MOV AH,4CH INT 21H INIT: MOV SI,OFFSET RESULT MOV CX,0002H MOV AX,00H A1:MOV [SI],AL INC SI LOOP A1 RET CODE ENDS END START 用e命令賦值被除數09 02 除數04 g命令運行 d命令查看0072:0003 顯示02 03 運行結果:

編程練習

2)已知在起始地址為0500H的內存單元中,存放一串數據:10H,20H,30H,40H,50H,60H.請編程求其平均值,并把平均值轉換成BCD數存入0500H單元中。程序代碼:

STACK SEGMENT STACK DW 64 DUP(?)STACK ENDS DATA SEGMENT ORG 0500H DATA1 DW 10H,20H,30H,40H,50H,60H ORG 0510H DATA2 DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE ,DS:DATA START: MOV AX,DATA MOV DS,AX MOV SI,OFFSET DATA1 MOV DI,OFFSET DATA2 MOV AX,[SI] MOV CL, 5 A1: MOV BX,[SI+2] ADD AX,BX INC SI INC SI DEC CL JNZ A1 MOV BL,06H DIV BL MOV BL,0AH DIV BL MOV BH,AH MOV BL,10H MUL BL ADD AL,BH MOV [DI],AL MOV AH,4CH INT 21H CODE ENDS END START 用g命令運行再用d命令查看0772:0510中內容為56

自動化 學院 物聯網 專業 1 班 學號311300 姓名 協作者 教師評定

實驗三:分支、循環及子程序設計實驗

一、實驗目的

1)了解分支、循環子程序等程序的基本結構。

2)掌握分支程序、循環結構程序的設計和調試方法。3)掌握子程序的定義和調試方法。

二、實驗設備

PC一臺,td-pite微機/單片機教學實驗裝置一套。

三、實驗內容和步驟 3.名次表 程序代碼:

STACK SEGMENT STACK DW 64 DUP(?)STACK ENDS DATA SEGMENT ORG 0100H DATA1 DB 10 DUP(?)ORG 0200H DATA2 DB 10 DUP(?)DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV ES,AX MOV SI,OFFSET DATA1 MOV CX,000AH MOV DI,OFFSET DATA2 A1: CALL AA1 MOV AL,0AH SUB AL,CL INC AL MOV BX,DX MOV [BX+DI],AL LOOP A1 MOV AH,4CH INT 21H AA1: PUSH CX MOV CX,000AH MOV AL, 00H MOV BX,0100H MOV SI,BX A2: CMP AL,[SI] JAE A3 MOV AL,[SI] MOV DX,SI SUB DX,BX A3: INC SI LOOP A2 ADD BX,DX MOV AL,00H MOV [BX],AL POP CX RET CODE ENDS END START 實驗步驟:

匯編連接生成exe文件

用e命令輸入:3CH,40H,47H,61H,4FH,5DH,52H,30H,56H,45H,等十個成績。再用g命令運行d命令查看0722:0200.編程練習

2)有3個8位二進制數連續存放在0200H開始的內存單元中,設他們之中至少有兩個數是相同的。編寫程序找出與這兩個數不同的數,把該數所在地址送到0204H單元,若三個數都相同則送0FFFFH到0204單元。程序代碼:

STACK SEGMENT STACK DW 64 DUP(?)STACK ENDS DATA SEGMENT ORG 0200H DATA1 DB ? DATA2 DB ? DATA3 DB ? ORG 0204H DATA4 DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS ,AX LEA SI,DATA1 LEA SI,DATA4 MOV AL,[SI] MOV AH,[SI+1] MOV BL,[SI+2] CMP AL,AH JZ A1 CMP AL,BL JZ A2 MOV [DI],SI JMP A4 A2: ADD SI,1 MOV [DI],SI JMP A4 A1: CMP AL,BL JZ A3 ADD SI,2 MOV [DI],SI JMP A4 A3: MOV [DI] ,0FFFFH A4:MOV AH,4CH INT 21H CODE ENDS END START 實驗步驟:e0772:0200命令輸入數據01 01 01g命令運行 的命令查看得到

運行結果:

第三篇:微機實驗報告

微機實驗報告

曾東明

實驗一 輸出字符‘A’

一、實驗目的

1.通過這個簡單的例子熟悉在微機上建立、匯編、鏈接和運行8086/8088匯編語言程序的過程。

2.掌握字符的顯示方法。3.學習DOS系統功能調用。

二、實驗內容

輸出字符?A?,程序流程圖如圖1-1所示。

圖1-1輸出字符?A?程序流程圖

源程序如下:

CODE

SEGMENT

ASSUME

CS:CODE

MOV

DL, 'A'

MOV

AH, 2

INT

21H

MOV

AH, 4CH

INT

21H

CODE

ENDS

END

三、實驗設備

PC機一臺,MASM匯編程序

四、實驗步驟

1.用記事本將源程序輸入,并存盤。

注意:源程序是用匯編語言語句編寫的程序,并不能為機器所識別。源程序的擴展名為.ASM 2.用宏匯編程序將.ASM源程序匯編成機器碼的目標文件(OBJ文件)3.用LINK程序產生執行文件(EXE文件)4.執行程序

實驗結果:

五、心得體會

第一次經歷了匯編語言的上機過程,對在計算機上進行匯編語言程序設計的步驟不是很熟悉,對命令提示符的一些操作命令不懂,后來查閱了一些資料,比如可以在window7下按住shift,點擊鼠標右鍵,在彈出的窗口里就可以打開命令提示符了。

六、思考題

1.請說出一個完整的匯編程序從編寫到運行所需的步驟。(1)用編輯程序建立ASM源程序文件

(2)用宏匯編程序將.ASM源程序匯編成機器碼的目標文件(OBJ文件)(3)用LINK程序產生執行文件(EXE文件)(4)在DOS命令行直接鍵入文件名執行該文件 2.修改源程序,改變屏幕顯示的內容。修改的源程序: CODE

SEGMENT

ASSUME

CS:CODE

MOV

DL, 'D'

MOV

AH, 2

INT

21H

MOV

AH, 4CH

INT

21H

CODE

ENDS

END

實驗二 數據的顯示實驗

一、實驗目的

1.掌握屏幕上顯示各種進制數據的方法。

2.掌握將內存中的二進制數轉換為十進制、十六進制數的方法。

3.學會子程序的編寫、調用及數據傳遞方法。

二、實驗內容

1.把BX中的無符號二進制數轉換成十進制數,在屏幕上顯示出來。

2.把BX中的帶符號二進制數轉換成十進制數,在屏幕上顯示出來。

3.求一個數據塊(由10個單字節的無符號數組成)中的最大元素,并將結果以十進制數的形式在屏幕上顯示出來。

4.求一個數據塊(由20個單字節的帶符號數組成)中的正數之和(和不超過字)和負數之和(和不超過字),并在屏幕上用十進制數的形式分別顯示出兩個和。

5.將寄存器BX中的二進制數轉換成十六進制數,并在屏幕上顯示出來。從高到低依次取出4位二進制數變為ASCII碼輸出即可。

三、實驗設備:

PC機一臺、masm匯編程序

四、實驗步驟:

依照前面介紹的方法,對每一個實驗內容對應的程序進行編輯、編譯、連接和運行,直到達到實驗要求。

1.實驗內容1(1)實驗內容1的流程圖,如圖所示:

(2)實驗內容1的程序:

CODE SEGMENT

ASSUME

CS: CODE

DEC_DIV MACRO

MOV

AX, BX

MOV

DX, 0

DIV

CX

MOV

BX, DX

MOV

DL, AL

ADD

DL, 30H

MOV

AH, 2

INT

21H

ENDM

START: MOV

BX, 0FFFH

MOV

CX, 1000

DEC_DIV

MOV

CX, 100

DEC_DIV

MOV

CX, 10

DEC_DIV

MOV

CX, 1

DEC_DIV

MOV

AH, 4CH

INT

21H

CODE ENDS

END

START(3)實驗結果:

2.實驗內容2(1)實驗容1的程序: DATA SEGMENT A DW 1000 B DW 100 C DW 10 D DW 1 DATA ENDS CODE SEGMENT

ASSUME

CS: CODE,DS:DATA

START: MOV

AX,DATA

MOV

DS,AX

MOV

BX, 0FFEFH;-0017的補碼是0FFEFH

OR BX,BX

JNS NEXT

NEG BX

AND BH,7FH

MOV DL,2DH

MOV AH,2

INT 21H

NEXT:

MOV

SI,OFFSET A

CALL

DEC_DIV

MOV

SI,OFFSET B

CALL

DEC_DIV

MOV

SI,OFFSET C

CALL

DEC_DIV

MOV

SI,OFFSET D

CALL

DEC_DIV

MOV

AH, 4CH

INT

21H

DEC_DIV PROC

NEAR

MOV CX, [SI]

MOV

AX, BX

MOV

DX, 0

DIV

CX

MOV

BX, DX

MOV

DL, AL

ADD

DL, 30H

MOV

AH, 2

INT

21H

RET

DEC_DIV ENDP

CODE ENDS

END

START(2)實驗結果:

3.實驗內容3(1)實驗內容3的流程圖,如圖所示:

(2)實驗3的程序: DATA

SEGMENT

BLOCK

DB 1,0,5,7,10,30,100,127,90,80

RESULT

DB

?,?

BUF

DB

'MAX IS:$' DATA

ENDS CODE

SEGMENT

ASSUME

CS:CODE,DS:DATA

BEGIN

PROC

FAR

MOV

AX, DATA

MOV

DS, AX

MOV

CX, 9

LEA

SI, BLOCK

MOV

AL, [SI]

X1: INC

SI

CMP

AL, [SI]

JAE

X2

MOV

AL, [SI]

X2: LOOP

X1

MOV

RESULT, AL

MOV DX, OFFSET BUF

MOV AH, 9

INT 21H

MOV

BL,RESULT

CBW

MOV

CX, 1000

CALL

DEC_DIV

MOV

CX, 100 CALL

DEC_DIV MOV

CX, 10 CALL

DEC_DIV

MOV

CX, 1

CALL

DEC_DIV

MOV

AH, 4CH

INT

21H

DEC_DIV PROC

NEAR

MOV

AX, BX

MOV

DX, 0

DIV

CX

MOV

BX, DX

MOV

DL, AL

ADD

DL, 30H

MOV

AH, 2

INT

21H

RET

DEC_DIV ENDP

BEGIN

ENDP

CODE

ENDS

END

BEGIN(3)實驗3的運行結果:

4.實驗內容4(1)實驗內容4的流程圖,如圖所示:

(2)實驗內容4程序: DATA

SEGMENT

BLOCK DB

-1,-2,-3,-4,-5,-6,-7,-8,-9,-10

DB

11,12,13,14,15,16,17,18,19,20

POSIT DW

?

NEGAT DW

?

BUF1

DB

'POSIT:$'

BUF2

DB

'NEGAT:$'

DATA

ENDS

CODE SEGMENT

ASSUME

CS:CODE,DS:DATA

START PROC

MOV

AX, DATA

MOV

DS, AX

MOV

BX, OFFSET BLOCK

MOV

SI, 0

MOV

DI, 0

MOV

CX, 20

X1: MOV

AL, [BX]

CBW

CMP

AX, 0

JGE

X3

ADD

DI, AX

JMP

X2

X3: ADD

SI, AX

X2: INC

BX

LOOP

X1

MOV

POSIT, SI

MOV

NEGAT, DI

MOV DX, OFFSET BUF1

MOV AH, 9

INT 21H

MOV

BX,POSIT

MOV

CX, 1000

CALL

DEC_DIV

MOV

CX, 100

CALL

DEC_DIV

MOV

CX, 10

CALL

DEC_DIV

MOV

CX, 1

CALL

DEC_DIV

MOV

DL,0AH

MOV

AH,2

INT

21H

MOV DX, OFFSET BUF2

MOV AH, 9

INT 21H

MOV BX,NEGAT

NEG BX

AND BH,01111111B

MOV DL,2DH;顯示負號

MOV AH,2

INT 21H

MOV

CX, 1000

CALL

DEC_DIV

MOV

CX, 100

CALL

DEC_DIV

MOV

CX, 10

CALL

DEC_DIV

MOV

CX, 1

CALL

DEC_DIV

MOV

AH, 4CH

INT

21H

DEC_DIV PROC

NEAR

MOV

AX, BX

MOV

DX, 0

DIV

CX

MOV

BX, DX

MOV

DL, AL

ADD

DL, 30H

MOV

AH, 2

INT

21H

RET

DEC_DIV ENDP

CODE ENDS

END

START

(3)實驗結果:

5.實驗內容5(1)實驗內容5的流程圖,如圖所示:

圖2-4 內容5流程圖

(2)實驗內容5的源程序,參考如下:

CODE

SEGMENT

ASSUME

CS:CODE

BINHEX PROC

FAR

MOV

CH,4

MOV

BX,1000

ROTATE: MOV

CL,4

ROL

BX,CL

MOV

DL,BL

AND

DL,0FH

ADD

DL,30H

CMP

DL,3AH

JL

OUTPUT

ADD

DL,7

OUTPUT: MOV

AH,2

INT

21H

DEC

CH

JNE

ROTATE MOV

DL,'H' MOV

AH,2 INT

21H

MOV

AH,4CH

INT

21H

BINHEX ENDP

CODE ENDS

END

BINHEX(3)實驗結果:

五、心得體會 實驗內容1:

宏定義必須先定義,后調用,自己剛開始時把宏定義放在調用的后面,導致程序出錯??戳松a的LIST給出的源程序和目標程序,發現每個宏調用處,通過宏擴展,宏體中的指令的機器代碼被插入到宏調用處,不節省內存單元,但相對于子程序,簡化了源程序。

實驗內容2:

剛開始的時候給BX寄存器送負值,比如-17,我寫成了1000 0000 0001 0001 即 MOV BX,8011H,后來發現顯示出來的數不是-17。經過思考,懂得原來負數的表示要用補碼,下面是兩種LIST 文件里對應地方的目標程序和源程序,可以看出轉化為目標程序的時候,用補碼表示。0000 BB FFEF 0000 BB FFEF

START: MOV

BX,-0011H

START: MOV

BX, 0FFEFH

實驗內容3:求一個數據塊中最大元素的時候,把數據塊中的第一個元素AL中,并通過循環把其余的元素和AL比較,如果新元素較大的話就取代原來的元素放到AL中。比較完成后,把最大的元素放到預先為其保留的地址中,注意要控制的次數CX,是數據塊的個數減一。

LOOP 標號

功能相當于

DEC CX JNZ 標號 實驗內容4:

回車和換行的效果不一樣。顯示字符串的時候要注意用$。

因為要將正數與負數分別累加,這時候需要分支,而分支的條件有很多種,比如跟0比較大小,比如通過提取符合位來判斷,只要能正確實現分支都可以。實驗內容5:

16位的二進制數,4位一組可以顯示為4位十六進制數,從高到低依次取出4位二進制數變成ASCⅡ碼輸出即可。

要注意ASICC代碼中,1-9的ASICC代碼要比1-9的二進制值大30H,A-F的ASICC代碼要比1-9的二進制值大37H,所以對不同的四位二進制,要加個判斷分支,才能找到相應得ASICC代碼。

六、思考題

1.請總結顯示寄存器或者內存中的十進制和十六進制數據的方法。十進制顯示的方法:

先判斷是正數負數,是負數要把它轉化成負數的絕對值,并在前面加一個負號。

把BX中的數按位由高到低轉化成十進制數,即依次對其除以10000、1000、100、10、1,將獲得的商放到 DL中,加30H變成ASCⅡ碼,調用DOS系統中斷INT 21H的2號功能顯示出來;對于每一位十進制數的獲得和顯示,實驗通過編制子程序DEC_DIV并不斷調用來實現。

十六進制的顯示方法:

16位的二進制數,4位一組可以顯示為4位十六進制數,從高到低依次取出4位二進制數變成ASCⅡ碼輸出即可,可以用循環左移的指令POL,循環左移四位,并提取這四位。

2.請總結子程序編寫、調用及參數傳遞的要點。子程序定義格式如下:

過程名

PROC [NEAR/FAR]

RET

過程名

ENDP 調用的時候用

CALL 過程名

參數傳遞有三種方法:(1)通過寄存器傳遞參數,這種方式適合于傳遞參數較少的一些簡單程序。(2)通過地址表傳遞參數地址,這種方式適合于參數較多的情況,但要求事先建立一個用來傳送參數的地址。(3)通過堆棧傳遞參數。為了利用堆棧傳遞參數,必須在主程序中調用子程序之前的地方,把這些參數壓入堆棧后利用在子程序中的指令從堆棧彈出而取得參數。同樣,要從子程序傳遞回調用程序的參數也被壓入堆棧內,然后由主程序中的指令把這些參數從堆棧中取出。

3.修改源程序,改變屏幕顯示的內容。1:

2:

3:

4:

5:

實驗三 從鍵盤上輸入數據實驗

一、實驗目的

1.掌握從鍵盤上輸入數據的方法。

2.鍵盤上輸入的是ASCII字符,掌握如何將ASCII字符轉換為機內數字。

二、實驗內容

1.從鍵盤上輸入一個十進制數(0~65535),轉換成二進制數并放入寄存器BX中。2.從鍵盤上輸入0~65535范圍的一個十進制數,在屏幕上顯示出相 PC機一臺、masm匯編程序

三、實驗設備 PC機一臺、masm匯編程序

四、實驗步驟:

依照上次實驗步驟,對每一個實驗內容對應的程序進行編輯、編譯、連接和運行,直到達到實驗要求。

1.實驗內容1的程序: CODE SEGMENT

ASSUME

CS:CODE

START PROC

CALL

DECBIN

MOV

DL,0DH

MOV

AH,2

INT

21H

CALL

XIANSHI

MOV

AH,4CH

INT

21H

START ENDP

DECBIN PROC

NEAR

MOV

CX,10

MOV

BX,0

LOP1: MOV

AH,1

INT

21H

CMP

AL,30H

JL

EXIT

CMP

AL,39H

JG

EXIT

SUB

AL,30H

MOV

AH,00H

XCHG

AX,BX

MUL

CX

ADD

BX,AX

JMP

LOP1

EXIT: RET

DECBIN ENDP

XIANSHI PROC

NEAR

LP1: MOV

CX,10000

CALL

DEC_DIV

MOV

CX,1000

CALL

DEC_DIV

MOV

CX,100

CALL

DEC_DIV

MOV

CX,10

CALL

DEC_DIV

MOV

CX,1

CALL

DEC_DIV

RET

XIANSHI ENDP

DEC_DIV PROC

NEAR

MOV

AX,BX

MOV

DX,0

DIV

CX

MOV

BX,DX

MOV

DL,AL

ADD

DL,30H

MOV

AH,2

INT

21H

RET

DEC_DIV ENDP

CODE ENDS

END

START

(2)運行結果:

輸入11111后,程序顯示如圖所示:

2.實驗內容2(1)實驗內容2的程序: STACK SEGMENT DB 20 DUP(?)STACK ENDS CODE SEGMENT

ASSUME

CS:CODE,SS:STACK

START PROC

MOV AX,STACK

MOV SS,AX

CALL

DECBIN

CALL

XIANSH

MOV

DL,0AH

MOV

AH,2

INT

21H

MOV

CH,4

CALL

ROTATE

MOV

AH,4CH

INT

21H

START ENDP

XIANSHI PROC

NEAR

PUSH BX

LP1: MOV

CX,10000

CALL

DEC_DIV

MOV

CX,1000

CALL

DEC_DIV

MOV

CX,100

CALL

DEC_DIV

MOV

CX,10

CALL

DEC_DIV

MOV

CX,1

CALL

DEC_DIV

POP BX

RET

XIANSHI ENDP

DEC_DIV PROC

NEAR

MOV

AX,BX

MOV

DX,0

DIV

CX

MOV

BX,DX

MOV

DL,AL

DECBIN PROC

NEAR ADD

DL,30H MOV

AH,2 INT

21H RET

DEC_DIV ENDP

MOV

MOV

LOP1: MOV

INT

CMP

JL

CMP

JG

SUB

MOV

XCHG

MUL

ADD

JMP

EXIT:

RET

DECBIN ENDP ROTATE PROC

LOP2: MOV

ROL

MOV

AND

ADD

CMP

JL

ADD

OUTPUT: MOV

INT

DEC

JNE

MOV

MOV

INT

RET

CX,10 BX,0 AH,1 21H AL,30H EXIT AL,39H EXIT AL,30H AH,00H AX,BX CX BX,AX LOP1 CL,4 BX,CL DL,BL DL,0FH

DL,30H DL,3AH

OUTPUT;小于轉移 DL,7 AH,2 21H CH LOP2 DL,'H' AH,2 21H

ROTATE ENDP

CODE ENDS

END

START

(2)運行結果:

輸入00010,顯示結果如圖3-4所示:

五、心得體會

在寫實驗二的時候,調用子程序的地方比較多,可是調用子程序的時候,沒有對寄存器的數據進行保護,導致程序的執行結果不正確,后來用壓棧會保護寄存器里的數據,并用出棧來恢復寄存器的數據,使程序的執行結果正確。

六、思考題

1.請總結從鍵盤上輸入字符的方法。

從鍵盤上輸入一個十進制數(0~65535),轉換成二進制數并放入寄存器BX中。對于輸入的字符,先判斷它是不是1~9的數字字符,若不是,直接跳出循環,若是的話,將ASCⅡ碼轉化成對應數值并存到AX中,對于下一個輸入的數值,判斷完成后,通過將AX和BX內容交換并將AX中的數*10,再累加實現。

2.請總結將二進制數轉換為十六進制數并顯示的方法。

16位的二進制數,4位一組可以顯示為4位十六進制數,從高到低依次取出4位二進制數變成ASCⅡ碼輸出即可,可以用循環左移的指令POL,循環左移四位,并提取這四位。

3.修改源程序,改變屏幕顯示的內容。

實驗內容1:輸入22222,顯示

實驗內容2:輸入12,顯示

實驗四

字符串的顯示實驗

一、實驗目的: 掌握字符串的顯示方法。

二、實驗內容: 1.在內存中存有一個字符串,以0為結尾,程序開始輸出“HELLO”然后等待從鍵盤輸入一個字符,在字符串中尋找該字符,若找到,輸出“yes”;若找不到,輸出“no”,然后再輸入下一個字符。

2.實驗內容1的程序是一個無限循環的程序,若按“ESC”鍵,讓程序推出循環,使系統返回DOS。已知“ESC”鍵的鍵值是1BH。按照上面的要求對實驗內容1的程序進行修改,然后再重新匯編、鏈接和運行。

三、實驗設備: PC機一臺、masm匯編程序

四、實驗步驟:

1.實驗內容1(1)實驗內容1程序: DATA

SEGMENT

STR1 DB

'HELLO',0DH,0AH,'$'

STR2 DB

20H,'YES',0DH,0AH,'$'

STR3 DB

20H,'NO',0DH,0AH,'$'

STR4 DB

'1 2 3 0 4 5 A B a=!?',00H

DATA

ENDS

CODE SEGMENT

ASSUME

CS:CODE,DS:DATA

START PROC

FAR

MOV

AX,DATA

MOV

DS,AX

MOV

DX,OFFSET STR1

MOV

AH,9

INT

21H

LOOP1: MOV

AH,1

INT

21H

MOV

BX,OFFSET STR4

GON: MOV

AH,[BX]

CMP

AH,0

JZ

NO

INC

BX

CMP

AH,AL

JNZ

GON

MOV

DX,OFFSET STR2

GO: MOV

AH,9

INT

21H

JMP

LOOP1

NO: MOV

DX,OFFSET STR3

JMP

GO

START ENDP

CODE ENDS

END

START(2)運行結果

2、實驗內容2(1)實驗內容2程序: DATA

SEGMENT

STR1 DB

'HELLO',0DH,0AH,'$'

STR2 DB

20H,'YES',0DH,0AH,'$'

STR3 DB

20H,'NO',0DH,0AH,'$'

STR4 DB

'1 2 3 0 4 5 A B a=!?',00H

DATA

ENDS

CODE SEGMENT

ASSUME

CS:CODE,DS:DATA

START PROC

FAR

MOV

AX,DATA

MOV

DS,AX MOV

DX,OFFSET STR1 MOV

AH,9 INT

21H

LOOP1: MOV

AH,1

INT

21H

CMP

AL,1BH

JZ

EXIT

MOV

BX,OFFSET STR4

GON: MOV

AH,[BX]

CMP

AH,0

JZ

NO

INC

BX

CMP

AH,AL

JNZ

GON

MOV

DX,OFFSET STR2

GO: MOV

AH,9

INT

21H

JMP

LOOP1

NO: MOV

DX,OFFSET STR3

JMP

GO

EXIT:

MOV

AH, 4CH

INT

21H

START ENDP

CODE ENDS

END

START(2)運行結果:

五、心得體會

通過這次實驗,掌握了字符算的顯示方法。該程序要用到DOS系統功能調用的9號子程序,9號子程序的功能是在屏幕上輸出一個字符串,字符串要以字符“$”做為結尾符,但“$”在屏幕上不顯示。

六、思考題

1.請總結字符串的顯示方法。

該程序要用到DOS系統功能調用的9號子程序,9號子程序的功能是在屏幕上輸出一個字符串,字符串要以字符“$”做為結尾符,但“$”在屏幕上不顯示。

調用9號子程序的格式是:

MOV

DX,字符串起始地址(入口參數)

MOV

AH,9

INT

21H 9號子程序遇到 “0DH”處理成回車;

遇到 “0AH”處理成換行;

遇到 “20H”處理成空格。

2.鞏固匯編語言分支程序設計的方法。

許多實際問題并不能設計成順序程序,需要根據不同的條件作出不同的處理。把不同的處理方法編制成各自的處理程序段,運行時由機器根據不同的條件自動作出選擇判斷,繞過某些指令,僅執行相應的處理程序段。按這種方式編制的程序,稱之為分支程序。分支程序是機器利用改變標志位的指令和轉移指令來實現的。

轉移指令有JMP和Jcc兩類。前者是無條件轉移指令,后者是條件轉移指令。

第四篇:微機原理實驗報告

學號: 學生姓名: 打印日期: 評分: 評語:

實驗報告

COURSE PAPER 8255控制開關狀態顯示

學院 :機電工程與自動化學院

一、實驗目的;

(本課程設計是在完成《微機原理與接口技術使用教程》知識后進行的一次綜合性訓練。通過本課程設計,既可以鞏固對所學知識的理解和掌握,又可以培養解決實際問題的本領,也能夠提高運用文字圖表表達設計思想和對Proteus與Emu8086應用的能力。

二、實驗要求;

(1)功能要求:設定8255的PA口為開關量輸入,PB口為開關量輸出,要求能隨時將PA口的開關狀態通過PB口的數碼管顯示出來,如開關為0000,則數碼管顯示為0;若開關為1111,則數碼管顯示為F。

(2)具體參數:將8255A的端口A設置為方式0并作為輸入口,讀取開關量,PB口設置為方式0作為輸出口。并設定A、B、C口和控制口的地址為60H、62H、64H、66H。LED為共陰極連接方式。

(3)用Proteus畫出實現上述功能的8086和8255及LED相關連接的硬件電路,編寫相關程序,結合emu8086,完成仿真調試,給出硬件電路圖、程序代碼和仿真結果圖。

三、實驗說明;

? 利用前期實驗建立組態控制 ? 組態軟件的操作界面和主要功能; ? 混料罐工程或交通燈工程工程組態

四、實驗步驟;(1)硬件設計

8255A的四個端口地址為60H、62H、64H、66H。其二進制碼分別為0110 0000H、0110 0010H、0110 0100H、0110 0110H。則可以判斷,8255A的A0與A1端口應該與8086的A1和A2端口對應。8086的A7、A4、A3、A0為0,A6、A5為1時,8255A接受指令。為完成上述操作,可以使用138譯碼器。8255A的A端口作為輸入口,連接四位開關;B端口作為輸出口,連接一個共陰極的LED顯示管。

(2)硬件電路圖

(3)匯編語言設計 assume cs:code code segment start: MOV DX,066H MOV AL,90H OUT DX,AL

AA: MOV BX, OFFSET TABL MOV DX,060H IN AL,DX AND AL,0FH XLAT MOV DX,062H OUT DX,AL JMP AA

TABL: DB 3FH,06H,5BH,4FH DB 66H,6DH,7DH,07H DB 7FH,6FH,77H,7CH DB 39H,5EH,79H,71H

code ends end start(4)實驗結果

五、實驗心得;

通過對proteus及emu8086軟件的應用,可以使我將從課堂與書本上學習到的知識,以模擬的方式,制作成成品。在本次課外項目中,我對于8255A的工作方式以及8086如何控制其他元器件輸入輸出數據有了清晰的認識。通過使用模擬軟件,我有了更多的方式去深入了解課本上的知識。

第五篇:微機組裝實驗報告

微機組裝實驗報告

一、實驗內容

1、了解計算機的硬件系統

2、在規定的時間內完成一臺計算機的完全拆卸并且完全還原的組裝拆卸訓練

二、實驗目的1、熟悉計算機的基本配置及各部件的功能

2、掌握計算機的組裝過程

三、實驗過程及步驟

1、安裝CPU(首先把主板放好,并把主板CPU插座上的固定桿輕微地向外側掰,在向外掰的同時把固定杠提起,此時CPU插座會發生輕微地位移,CPU就可以插入了。在插入之前,應該事先找到CPU表面上的小三角標志,也要找到主板CPU插座上的小三角標志兩者對齊安裝即可,當CPU插入完成后,固定桿按照逆過程重新歸位,CPU也就安裝完成了。)

2、散熱器的安裝(CPU安裝完成后,將少許導熱硅脂均勻涂抹在CPU表面上。接下來吧CPU的散熱器平穩地放置在主板固定支架內,并將扣具的小掛鉤放在支架上的卡口內,用力下壓扣具的另一頭,使小掛鉤滑入到支架的另一個卡口內。另一個扣具按照同樣的方式進行安裝,始終保證散熱器的平穩就可以完成了之后再找到CPU散熱器的電源線,對應的找到主板上的三腳插針,將電源線插好后CPU散熱器的安裝就完成了。)

3、內存的安裝(在安裝內存錢,首先需要把內部插槽兩端的卡子想兩側掰開,然后把內存平行放到插槽中并向下用力壓入,此時內存就夠可以與插槽兩端的卡子配合并穩定地插入到插槽內,卡子也會相應地回復到原位。在安裝內存時需要特別注意,內存金手指那一段有一個不對稱的缺口,這一缺口剛好與內部插槽相對應。插入內存時一定要事先觀察內存插槽,以免誤用蠻力安裝,造成內存的損壞。)

4、電源的安裝(電源的一面通常有四個螺絲孔,安裝電源時把這個有四個螺絲孔的一面對準機箱上的電源固定位,將四個螺絲孔對齊,并擰上,然后依次按照對角方式擰緊四個螺絲,這樣安裝保證的絕對穩固。)

5、主板的安裝(把主板放入到機箱內部,有各種借口的那一面對應機箱后面的安裝位。首先傾斜地放入主板,然后再將主板放平,主板上固定螺絲孔要對應著機箱內部的螺絲柱,按照安裝電源的方式,擰緊六個螺絲即可,安裝主板的這個步驟中有兩個需要注意,第一點就是螺絲的大小是否合適,有些機箱配置的螺絲大小不一,應該找到與主板最為合適的螺絲擰入。第二點就是個別的劣質機箱,螺絲的安裝位跟主板無法相對應,如果無法擰緊時,最好不要采取強硬措施,以避免主板變形損壞。)

6顯卡的安裝(當前主流顯卡大多采用PCI-E接口設計,這個與主板上灰褐色的插槽相對應,顯卡安裝時,應該先試著把有金手指的那面插入,然后雙手平行向下按下。)

7、硬盤的安裝(硬盤的安裝位置要看準了,它通常在機箱內部的3.5英寸驅動器安裝位上。)

四、遇到的問題及解決

對于內部數據線的連接不熟悉。解決方法,用筆記錄每一根電源線的連接。

五、實驗新得及體會

通過學習計算機組裝,我了解了計算機方面的一些基礎知識,也了解到了CPU,主板,內存等配件的基本結構,原來在計算機方面不是很懂得的我,開始漸漸的深入了解它,相信我今后能更好的使用它。這次計算機組裝實驗,讓我真正將理論和實踐融為一體,既鞏固了舊知識,又掌握了新知識,在提高了我的動手能力的同時也讓我深深感受到了自己在實際運用中的專業知識的匱乏,今后我會多多動手積累經驗。

下載微機實驗報告要求word格式文檔
下載微機實驗報告要求.doc
將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
點此處下載文檔

文檔為doc格式


聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,未作人工編輯處理,也不承擔相關法律責任。如果您發現有涉嫌版權的內容,歡迎發送郵件至:645879355@qq.com 進行舉報,并提供相關證據,工作人員會在5個工作日內聯系你,一經查實,本站將立刻刪除涉嫌侵權內容。

相關范文推薦

    實驗報告要求

    實驗課程教學目的及要求 生物環境測試實驗是農業生物環境工程專業的一門必修的實踐性課程,是學生學會解決工程問題的一個重要手段和方法。通過實驗,使學生加深對所學基本理論......

    實驗報告要求

    按下列要求完成WORD操作并將操作過程描述出來。(將操作過程記錄在”實驗報告”單上,實驗報告封面到”開放教育學院”首頁左上方”教學輔導公告”欄下載) 1、 用“查找和替換......

    實驗報告格式要求

    附錄1實驗報告格式要求 《微機實驗》報告實驗名稱指導教師 專業班級姓名學號序號聯系方式一、任務要求 二、設計思路 三、資源分配 四、流程圖 五、源代碼 (含文件頭說明、資......

    實驗報告要求

    一. 實驗器材 包括詳細數據 如:電阻(大小,材料,功率) 電容(型號或材料,大小,極性,數目) 二. 實驗電路圖 電路圖與所做的實驗板上電路要完全一樣 三. 實驗原理 四. 實驗過程及注意事項 五.......

    數碼轉換 實驗報告 微機原理[最終定稿]

    實驗九 數碼轉換 一、實驗目的 1、掌握計算機常用數據編碼之間的相互轉換方法。 2、進一步熟悉DEBUG軟件的使用方法。 二、實驗內容 1. ACSII碼轉換為非壓縮型BCD碼編寫并......

    北京交通大學微機原理實驗報告(yuan)

    微機原理 實 驗 報 告 隋偉 08212013 自動化0801 1 目 錄 一、I/O地址譯碼與交通燈控制實驗……………………………………3 二、可編程定時器/計數器(8253)……………………......

    北京科技大學微機原理實驗報告

    微機原理及應用實驗報告 學院: 班級: 學號: 姓名: 微機實驗報告書(Ⅰ) 學號:姓名:班級: 同組名單:實驗日期: 實驗題目:8253可編程定時器計數器 實驗目標:掌握8253的基本工作原理和編程方......

    微機實驗報告數模轉換器和模數轉換器實驗5篇

    實驗報告 課程名稱 微機接口與匯編語言實驗項目 實驗五 數/模轉換器和模/數轉換器實驗 實驗儀器 TPC-USB通用微機接口實驗系統 系 別 計算機學院專 業 班級/學號 學生姓......

主站蜘蛛池模板: 少妇被粗大的猛烈进出| 亚洲日韩久久综合中文字幕| 亚洲色成人网站www永久小说| 99国产揄拍国产精品人妻| 亚洲精品成人无码中文毛片| 中文在线天堂网www| 国产日产韩国精品视频| 夜夜添无码试看一区二区三区| 131mm少妇做爰视频| 亚洲欧美综合精品成人网站| 国产亚洲曝欧美精品手机在线| 18禁成人黄网站免费观看久久| 最爽无遮挡行房视频| 香蕉视频www.5.在线观看| av网站的免费观看| 一本到在线观看视频| 狂猛欧美激情性xxxx大豆行情| 好吊色欧美一区二区三区四区| 亚洲av日韩aⅴ无码色老头| 草草影院ccyy国产日本欧美| 亚洲成av人片在线观看wv| 天堂√最新版中文在线天堂| 久久无码人妻一区二区三区午夜| 亚洲六月丁香六月婷婷| 日本www一道久久久免费榴莲| 国产男女做爰高清全过小说| 久久精品中文字幕一区二区三区| 亚洲综合伊人久久大杳蕉| 成年免费视频播放网站推荐| 国产婷婷一区二区三区| 成年女人午夜毛片免费| 女人自慰疯狂喷水| 国产亚洲精品综合一区| 成人毛片一区二区| 日日噜噜大屁股熟妇| 无码人妻精品一区二区蜜桃网站| 免费无码成人av在线播| 熟妇人妻午夜寂寞影院| 国产精品一区二区亚瑟不卡| 欧美黑人又粗又硬xxxxx喷水| 亚洲一区av无码专区在线观看|