實驗1定址方式練習

2022-12-01 14:24:02 字數 2778 閱讀 4847

實驗一虛擬機器關於資料的定址方式練習

一、實驗目的

1.熟練掌握虛擬機器的各種定址方式及應用。

2.掌握模型機虛擬編譯除錯系統(中一些常用命令的使用方法,為以後的實驗打下基礎。

二、實驗儀器

微機 1臺

三、實驗內容

模型機提供了多種方式實現運算元定址,大體可分為7種(除隱含定址外)。

1、立即定址

2、暫存器定址

3、直接定址

4、暫存器間接定址

5、暫存器相對定址

6、 基址變址定址

7、 基址變址且相對定址

注:1~2要尋找的運算元與儲存器無關,3~7要尋找的運算元在存貯器某單元,存貯器單元的位址由定址方式確定。

四、實驗步驟

1、在模型機虛擬編譯除錯系統(下,建立以下組合語言源程式。建立方法如圖1.1所示。

圖1.1 模型機虛擬編譯除錯系統介面

實驗程式:

dataseg

buffer1 db 0b0h, 0b1h, 0b2h, 0b3h, 0b4h, 0b5h, 0b6h, 0b7h, 0b8h, 0b9h

buffer2 db 0bah, 0bbh, 0bch, 0bdh, 0beh, 0bfh

table1 db 0a0h, 0a1h, 0a2h, 0a3h

table2 dw 0a5a4h

db 0a6h, 0a7h, 0a8h, 0a9h, 0aah, 0abh

db 0ach, 0adh, 0aeh, 0afh

var1 db 0c0h, 0c1h, 0c2h, 0c3h, 0c4h, 0c5h, 0c6h, 0c7h, 0c8h

var2 db 0c9h, 0cah, 0cbh, 0cch, 0cdh, 0ceh, 0cfh

ends

codeseg

start:

mov br, 0004h

mov cr, 0005h

mov si, 0002h

mov di, 0001h

mov ar, cr

mov ar, 500h

mov ar, word ptr table2

mov ar, [br]

mov ar, [br+05h]

mov ar, 03h[br]

mov ar, table2 [br]

mov ar, 07h [br]

mov ar, word ptr table1 [si]

mov ar, 08h [di]

mov ar, [si+03h]

mov ar, [di+06h]

mov ar, 05h[di]

mov ar, word ptr buffer2[si]

mov ar, [si]

mov ar, word ptr var2 [di]

mov ar, [br][di+01h]

mov ar, [br][si+03h]

mov ar, word ptr var1 [br][si]

mov ar, [br][di]

mov ar, word ptr buffer1 [br][di]

mov ar, [br+02h][di+03h]

ends

end start

2、對源程式中從mov ar, cx開始以下所有指令按表1.1實驗記錄表進行計算,並將計算值記錄在表中的ar推算值一欄。

3、對以上源程式進行彙編(編譯),其方法如圖1.2所示。

圖1.2 編譯源程式

此時,如果源程式中有語法錯誤,則在除錯資訊框欄顯示出錯行號,如圖1.3所示。

圖1.3

如果源程式中無語法錯誤,則在除錯資訊框欄顯示編譯成功,沒有錯誤。如圖。4所示。

圖1.4

3、將程式**現的所有變數新增到watch欄中,以便觀察。然後單步執行程式,每執行一條指令,觀察模型機虛擬編譯除錯系統介面右上角暫存器值的變換。程式一但執行,定義在資料段的資料就可以在memory欄顯示出來。

如圖1.5所示。

圖1.5

4、當單步執行到mov ar, cr處時,每執行一條指令,將結果作為實際值填入表1.1實驗記錄表的實際值欄中,並和推算值進行比較,從而檢驗自己對該條指令對應的定址方式是否掌握。

五、實驗資料及結果

表1.1 實驗記錄表

六、問題討論

在1.1實驗記錄表中,分析ar推算值與實際值有何不同?找出錯誤原因,小結各種定址方式。

答:經過我的推測和在實驗中的驗證,所有推測值和程式的執行結果相同。針對於定址方式的總結如下:

1、立即定址:就是將8位或16位的資料直接放在指令之後;

2、暫存器定址:指令的運算元存放在暫存器中的方式;

3、直接定址:運算元儲存在儲存單元中,其16位位址直接在指令中給出;

4、暫存器間接定址 :運算元儲存在儲存單元中,其位址放在暫存器中的方式;

5、暫存器相對定址:運算元儲存在儲存器中,其位址為乙個基址暫存器或位址暫存器的內容與乙個位移量之和;

六、實驗體會與建議

在此次的定址方式聯絡,我們先進行自己推導再通過模型機運算的檢驗,將課堂上的定址方式的理論推導和模型機程式運算結合了起來。這樣,不僅加深了我對各種定址方式特點和區別的理解,也使我對cpu內部定址的實際情況有了更進一層的理解。當然,雖然之前我用過模型機編寫程式,但是當時並沒有細緻全面地了解模型機各個窗體的功能,特別是memory段和watch視窗的功能,經過這次的聯絡,我基本熟悉了模型機編譯軟體的各個功能。

經過上機的練習感受,我覺得內容可以更加深入一點。

定址方式與基本指令實驗

微機原理實驗 2.1.1 實驗目的 1 熟悉80x86定址方式及基本指令的功能,進一步理解和鞏固課堂學習內容。2 掌握組合語言程式設計上機過程,掌握組合語言源程式結構,為後續組合語言程式設計打好基礎。3 熟悉microsoft的debug或borland的turbo debug除錯工具的使用方法 2...

微型計算機原理定址方式總結

立即定址 立即數不能做目的運算元,只能作為源運算元。mov 3,al 源 目的運算元的字長必須一致mov ah,3064h mov al,07h mov ax,1a2bh mov al 255 立即數不能進入段暫存器中 mov ds 20h 暫存器定址 並非所有暫存器都可自由使用,cs 不能用 mo...

1學習方式

對於全等三角形的研究,實際是平面幾何中對封閉的兩個圖形關係研究的第一步。它是兩個三角形間最簡單,最常見的關係。它不僅是學習後面知識的基礎,並且是證明線段相等 角相等以及兩線互相垂直 平行的重要依據。因此必須熟練地掌握全等三角形的判定方法,並且靈活的應用。為了使學生更好地掌握這一部分內容,遵循啟發式教...