東北大學
計算機硬體技術基礎實驗報告
一、實驗目的
(1) 掌握順序程式設計方法;
(2) 學習資料傳送及算術和邏輯運算指令的用法;
(3) 熟悉在pc機上建立、彙編、連線、除錯和執行8086組合語言程式的過程。
二、實驗內容
首先將first字變數與second字變數相加,結果存至third1儲存字中,然後將first與second兩個字變數相乘,結果存至third2 開始的兩個字中。
三、演算法描述流程
四、實驗步驟
1. 輸入源程式:
data segment
first dw 0d56ch
second dw 1f08h
third1 dw ?
third2 dw 2 dup(?)
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
mov ax,first
add ax,second ;求和
mov third1,ax ;儲存
mov ax,first
mul second ;求積
mov third2,ax ;儲存
mov third2+2,dx
mov ah,4ch
int 21h
code ends
end start
2. 儲存原始檔,執行ma**彙編源程式,生成obj目標檔案,結果無錯誤。
3. 執行link連線程式,生成exe可執行檔案,結果無錯誤。
4. 執行debug除錯程式,執行程式,在記憶體中得到結果,驗證結果正確,執行d引數命令察看third1和 third2所在的位址單元中的資料為節單元和0006中存放結果。
五、實驗結果
1. 執行ma**編譯源程式 ,生成obj檔案,得到如下介面:
2. 執行link連線程式,生成exe可執行檔案得到如下介面:
3. 執行debug除錯程式,使用u進行反編譯,得如下介面
4. 執行d引數命令察看data所在的位址單元中的資料,得到如下介面:
5.執行t引數命令,單步檢視
六、思考題
假如first的偏移位址是0000,那麼third2的偏移位址是多少?
答:如果first的偏移位址是0000,由題可知,first占用兩個位元組,second占用兩個位元組,third1占用兩個位元組,那麼third2的偏移位址為6個位元組,由於占用四個位元組,所以偏移位址為0006。
七、擴充套件題
設hex,hex+1單元的低4位分別存放一位十六進製制數,編制程式將其裝配在乙個位元組中並存入data單元,其中,hex單元的數作為高位部分。
答:dsec segement
hex db 0ch
db 0dh
data db ?
dseg ends
cseg segment
assume cs:cseg,ds:dseg
start: mov ax,dseg
mov da,ax
mov al,hex
mov cl,4
shl al,cl
add al, hex+1
mov data,al
mov ah,4ch
int 21h
cseg ends
end start
八、實驗心得
理解了組合語言中程式設計的基本步驟,掌握了通過位址對資料賦值的方法。掌握組合語言編制基本順序結構的演算法,包括位址取值和加法的演算法步驟等。這個實驗,使我可以在程式設計中認識到直接通過cpu暫存器位址賦值可以大大提高了程式效率,但我要繼續練習熟讀組合語言**的能力。
東北大學計算機硬體技術基礎實驗報告
東北大學 專業班級 姓名 學號 實驗題目日期 2013.11.9 實驗目的 1 掌握順序程式設計方法 2 學習資料傳送及算術和邏輯運算指令的用法 3 熟悉在pc上建立 彙編 連線 除錯和執行8086組合語言程式的過程。實驗內容 編制程式,將位元組變數bvar中的壓縮bcd數轉換成二進位制數,並存入原...
第一章計算機硬體組成基礎知識
學習要點 計算機發展史 分類與特點 計算機的運算基礎 計算機的硬體組成 學習目標 了解計算機發展史 分類與特點 了解計算機的特點及分類 了解計算機的硬體組成 一 從微電子器件的發展看電子計算機發展史 一 微電子器件的發展 1 電子管 1904年英國電氣工程師弗萊明 j.fleming 研製出一種能夠...
資訊與計算機專業第一次班會計畫
2 參與物件 1.輔導員 2.學院學長 3.班級成員。1 班委職位名單 1.班長 一名 管理班級,與輔導員進行班級溝通 2.團支部書記 一名 與學院團委,輔導員進行溝通,班級活動領導者 3.體育委員 一名 4.女生委員 一名 負責學生每週的 心情溫度計 5.文娛委員 一名 負責班級的班歌一類事項6....