微機原理實驗內容

2022-12-03 14:27:06 字數 2929 閱讀 8180

實驗1 彙編基本指令及順序程式設計實驗

實驗2 分支與dos中斷功能呼叫程式設計實驗

實驗3 迴圈結構程式設計實驗

實驗4 儲存器擴充套件實驗

實驗5 8259應用程式設計實驗

實驗1彙編基本指令及順序程式設計實驗

一、 實驗目的

1、掌握組合語言的開發環境和上機過程;

2、掌握debug命令;

3、掌握順序程式設計方法;

4、掌握定址方式;

5、理解和掌握彙編基本指令的功能。

二、實驗內容

1、設堆疊指標sp=2000h,ax=3000h,bx=5000h;請編一程式段將ax和bx的內容進行交換。要求:用3種方法實現。

2、分別執行以下指令,比較暫存器定址,暫存器間接定址和相對暫存器定址間的區別。

mov ax,bx

mov ax,[bx]

mov ax,10[bx]

要求:在執行以上指令時,記下當時ds資料段的值,寫出每條指令執行後ax的值。

3、已知有如下程式段:

mov ax,1234h

mov cl,4

在以上程式段的基礎上,分別執行以下指令:

rol ax,cl

ror ax,cl

shl ax,cl

shr ax,cl

sar ax,cl

rcl ax,cl

rcr ax,cl

試在debug下用a命令彙編以上程式段,用t命令跟蹤,觀察以下內容:

(1)每條指令執行完後,ax暫存器的內容是什麼?

(2)每條指令執行完後,進製、符號和零標誌的值有什麼變化?

4、設有以下部分程式段:

table dw 10h,20h,30h,40h,50h

entry dw 3

lea bx,table

add bx,entry

mov ax,[bx]

要求:(1)將以上程式段補充成為乙個完整的匯程式設計序。

(2)在(1)的基礎上編輯、除錯並執行程式,記錄在執行mov ax,[bx]後ax的內容。

5、程式設計計算(2x+y-z)/4的結果。

三.實驗準備與要求

1、預習第3章和第4章中的有關內容,熟悉順序程式設計方法;

2、預習debug除錯程式的使用方法;

3、根據實驗內容要求,編寫好實驗源程式。

4、實驗前要做好充分準備,包括匯程式設計序清單、除錯步驟、除錯方法,以及對程式結果的分析等。

四.實驗報告要求

1、列出源程式清單。

2、分析實驗中所遇到的一些問題,分析錯誤原因。

3、說明本實驗中是如何使用debug進行除錯的。

4、寫出本次上機的體會或收穫。

實驗2 分支與dos中斷功能呼叫程式設計實驗

一、實驗目的

1、掌握條件轉移、無條件轉移指令的功能及應用;

2、掌握分支程式的設計、編寫、除錯和執行方法。

3、掌握1號、2號和9號功能呼叫及其程式設計方法。

二、實驗內容

1、程式設計求|x-y|,結果放在result單元中。x和y都為16位運算元。

2、編寫一程式,實現從鍵盤輸入乙個字元,判斷其是不是大寫字母,如果是則請輸出這個大寫字母,如果不是,請輸出「這不是乙個大寫字母」的英文資訊(要求:能連續輸入)。

3、請編寫一程式,實現將小寫字母字串轉換成大寫字母字串。設字串的首位址為mystr,字串的長度在n單元內。資料段定義如下:

data segment

string db 』i am a student!』

n equ 15

data ends

4、程式設計顯示任一暫存器(如bx)的最高位。即若bx的最高位為1,則在螢幕上輸出「1」;若bx的最高位為0,則在螢幕上輸出「0」。

三、實驗準備與要求

1、 預習條件轉移指令和無條件轉移指令;

2、 預習dos中斷呼叫所提供的1#、2#、9#功能;

3、熟悉分支結構;

4、實驗前要做好充分準備,包括匯程式設計序清單、除錯步驟、除錯方法,以及對程式結果的分析等。

四、實驗報告要求

1、程式說明。說明程式的功能、結構。

2、除錯說明。包括上機除錯的情況、上機除錯步驟、除錯所遇到的問題是如何解決的,並對除錯過程中的問題進行分析,對執行結果進行分析。

3、寫出源程式清單和執行結果,畫出流程圖。

實驗3 迴圈結構程式設計實驗

一、實驗目的

1、掌握迴圈指令loop、loopz、loopnz指令的功能及使用方法。

2、掌握迴圈程式的設計、編寫、除錯和執行方法。

二、實驗內容

1、迴圈結構程式設計

編寫乙個程式,將記憶體1000h開始的連續100個位元組送往2000h開始的連續100個記憶體單元中。要求使用三種不同的方法(不用串操作指令、用單一的串操作指令、用帶重複字首的串操作指令),下面已給出一種實現方法,請給出另外兩種實現方法的源程式清單:

實驗程式參考清單:

data segment

org 1000h

db 100 dup(『a』)

org 2000h

db 100 dup(『b』)

data ends

code segment

assume ds:data,es:data,cs:code

start: mov ax,data

mov ds,ax

mov es,ax

mov si,1000h

mov di,2000h

mov cx,100

cldrep movsb

mov ah,4ch

int 21h

code ends

end start

2、程式設計計算1+2+3+…+100的和。

微機原理實驗要求

實驗一定時器實驗 1.用mtim中斷或查詢方式實現led閃爍 要求用按鍵切換閃爍狀態,分為秒級 10hz 100hz迴圈 2.用rti上述功能 3.用tpm產生乙個週期較長 頻率和占空比可調的方波 按鍵1調節方波週期 1ms 10ms 100ms迴圈 按鍵2調節方波占空比 1 1 2 1 3 1迴圈...

微機原理實驗二

實驗二 1.實驗內容 將記憶體區定義的字母數字串的統計結果以16進製制形式顯示出來,顯示格式為 the nembers of digital is xxh the nembers of capital letters is xxh the nembers of small letters is xx...

微機原理實驗報告

一 實驗綜述 實驗目的 1 熟悉debug環境,在debug中輸入程式。2 掌握基本指令的用法。3 分析程式執行結果。4 會按要求編寫基本程式,完成基本功能。二 實驗過程 實驗步驟 資料記錄 實驗3.57 若ax 1001h,dx 20ffh,當執行add ax,dx指令以後,請列出和數及標誌暫存器...