彙編DEBUG實驗報告

2022-05-08 16:45:07 字數 1590 閱讀 1408

學習檢視cpu及儲存器命令

主流pc

win7_x64

dosbox status window

(1) 使用debug,將下面的程式段寫入記憶體,逐條執行,觀察每條指令執行後,cpu中相關暫存器中內容的變化。

機器碼彙編指令

b8 20 4emov ax,4e20h

05 16 14add ax,1416h

bb 00 20mov bx,2000h

01 d8add ax,bx

89 c3mov bx,ax

01 d8add ax,bx

b8 1a 00mov ax,001ah

bb 26 00mov bx,0026h

00 d8add al,bl

00 dcadd ah,bl

00 c7add bh,al

b4 00mov ah,0

00 d8add al,bl

04 9cadd al,9ch

命令作用結果:

mov ax,4e20將4e20h存入axax=4e20h

add ax,1416將ax+1416h存入ax,ax=6236h

mov bx,2000 將2000h存如bxbx=2000h

add ax,bx將ax+bx的值存入axax=8236h

mov bx,ax將ax的值存入bxbx=8236h

add ax,bx將ax+bx的值存入ax,ax溢位, ax=046ch

mov ax,001a將001ah存入axax=001ah

mov bx,0026 將0026h存入bxbx=0026h

add al,bl將al+bl的值存入alah=00h,al=40h,ax=0040h

add ah,bl將ah+bl的值存入ahah=26h,al=40h,ax=2640h

add bh,al將bh+al的值存入bhbh=40h,bl=26h,bx=4026h

mov ah,0將0000h存入ahah=00h,al=40h,ax=0040h,

add al,bl將al+bl的值存入alah=00h,al=66h,ax=0066h

add al,9ch將al+9ch的值存入alah=00h,al=02h,ax=0002h,

(2) 將下面3條指令寫入從2000:0開始的記憶體單元中,利用這3條指令計算2的8次方。

mov ax,1

add ax,ax

jmp 2000:0003

最終結果: 2h^8=100h

(3) 檢視記憶體中的內容

pc機主板上的rom中寫有乙個生產日期,在記憶體fff00h~fffffh的某幾個單元中,請找到這個生產日期並試圖改變它。

(4) 向記憶體從b8100h開始的單元中填寫資料,如:

-e b810:0000 01 01 02 02 03 03 04 04

四、實驗小結

1、了解了 add mov jmp 命令的用處。

2、學會了使用debug編寫簡單的計算程式。

3、無法修改原因可能是因為 bios出廠日期為rom為唯讀不可寫內容。

4、學會了向某個記憶體位址寫入資料。

彙編實驗報告

組合語言與微機接 術實驗報告 一分支程式設計 二迴圈程式設計 學號 1120102118 姓名 馬婧婷 班級 08311001 完成日期 2013 04 18 實驗1.1 一實驗背景 1 實驗目的 掌握組織及除錯乙個簡單並完整的組合語言程式,熟悉組合語言上機過程。實驗的第乙個程式是分支設計程式。2 ...

彙編實驗報告

課程編號 b080103020 組合語言程式設計 實驗報告 東北大學軟體學院 實驗1 資料傳送指令 實驗目的 了解和掌握 mov push pop xchg四條指令的作用和在程式設計中的用法。實驗內容 採用立即數定址方式將19e0h,3f56h,0af37h,9a81h分別送給eax ebx ecx...

彙編實驗報告一

組合語言程式設計 軟體學院 一 實驗目的與意義 1 掌握組合語言程式設計的基本方法和技能 2 熟練掌握使用全螢幕編輯程式edit編輯組合語言源程式 3 熟練掌握巨集匯程式設計序ma 的使用 4 熟練掌握連線程式link的使用 5 學習資料傳送及算數和邏輯運算指令的用法 6 掌握分支程式的結構 7 掌...