組合語言 實驗3 串操作附答案

2022-11-02 10:06:10 字數 2228 閱讀 7423

實驗一串操作

一、 實驗預習要求

1、 複習8086指令系統中的串操作指令。

2、 複習匯程式設計序的建立、連線、執行和除錯的全過程。

3、 根據本實驗的程式設計提示及題目要求編寫試驗中的程式段。

二、 程式設計提示

1、 定義邏輯段時,所定義的資料段或附加段的緩衝區大小及緩衝區起始位址應與實際的操作需要一致。;例如定義如下附加段:

《附加段名》 segment ;定義附加段

org 1000h定義緩衝區從該邏輯位址為1000h處開始

buffer db 10h dup(?) ;定義緩衝區大小為10h個位元組單元

《附加段名》 ends

2、 任何程式都需要定於**段。在**段中需要初始化所定義的除**段暫存器之外其他段暫存器,程式**的最後需要有正常返回dos的指令。如下:

《**段名》 segment

assume cs :《**段名》 ,ds:《資料段名》,es:《附加段名》

start: mov ax , 《資料段名》

mov ds, ax

mov ax, 《附加段名》

mov es,ax

串操作程式**】

mov ah,4ch

int 21h

《**段名》 ends

三、實驗內容

1、在**段中輸入以下程式段並執行之,回答問題。

cldmov di,1000h

mov ax,55aah

mov cx,10h

rep stosw

上述程式生成exe檔案,執行後:

(1)從es:1000h開始的16個字單元的內容是什麼?

(1) di=?,cx=?解釋原因。

di=1020h cx=0000h rep的功能是重複執行操作至cx=0,而stosw是每次執行指令都是(di)←(di)+2

di=2020 cx=0000 rep的功能是重複執行操作至cx=0,而stosw是每次執行指令都是(di)<-(di)+2

2、在上題的基礎上,在**段中再輸入以下程式段並執行,回答下面的問題:

mov si,1000h

mov di,2000h

mov cx,20h

rep movsb

程式執行後:

(1)從es:2000h開始的16個字單元的內容是什麼?

(2)si=?,di=?,cx=?分析原因。

si=1020h di=2020h cx=0000 原因:rep的功能是重複操作至cx=0,而movsb=是每次執行指令都是(di)<-(di)<-(si)+1

3、 在以上兩題的基礎上,再輸入以下三個程式段並依次執行。

程式段1:

mov si,1000h

mov di,2000h

mov cx,10h

repz cmpsw

程式段1執行後:

(1) zf=?,根據zf的狀態,你認為兩個串是否比較完了?zf=1 兩個串比較完了。

(2) si=?,di=?,cx=?分析原因。si=1020h di=2020h cx=0000h

原因:repz的功能是重複執行操作至cx=0,而cmpsw是每次執行指令都是(di)<-(di)+2,(si)<-(si)+2

程式段2:

mov word ptr [2008h],4455h

mov si,1000h

mov cx,10h

repz cmpsw

程式段2執行後:

(1) zf=?,根據zf的狀態,你認為兩個串是否比較完了?

zf=0,兩個串沒有比較完

(2) si=?,di=?,cx=?分析原因。

si=100ah di=200ah cx=000bh

程式段3:

mov ax,4455h

mov di,2000h

mov cx,10h

repnz scasw

程式段3執行後:

(1) zf=?,根據zf的狀態,是否在串中找到了資料4455h?

zf=1在串中找到了資料4455h。

(2) si=?,di=?,cx=?分析原因。

si=100ah di=200ah cx=000bh

4、從ds:1000h開始存放有乙個字串「this is a string」,要求把這個字串從後往前傳送到ds:2000h開始的記憶體區域中,編寫程式並驗證。

組合語言實驗二

電子資訊學院 實驗報告書 課程名 組合語言 題目 實驗二彙編上機指導及例示 實驗類別驗證 班級bx0907 學號36 姓名楊尚儒 1 實驗目的 debug命令的基本使用方法 2 實驗要求 了解debug命令的各個引數 熟悉在debug方式下輸入匯程式設計序 熟悉使用debug命令進行除錯 3 實驗內...

組合語言實驗大綱

適用於計科專業2003級 組合語言實驗主要使學生掌握debug呼叫程式中各命令的使用方法,掌握masm匯程式設計序對組合語言源程式進行編輯 彙編 連線 裝配 除錯到執行的上機操作方法。本教程要求學生熟練掌握組合語言指令練習 順序程式設計 分支程式設計 迴圈程式設計和子程式設計。基本演示1 組合語言實...

組合語言實驗報告組合語言實驗指導書

實驗報告 實驗課程組合語言程式 學生代號信念 學號5215201314 專業班級網路間諜088班 2009年 12月 25日 實驗1 利用debug除錯組合語言程式段54 實驗3 初級程式的編寫與除錯實驗 二59 實驗5 分支程式實驗65 實驗6 迴圈程式實驗68 實驗7 子程式實驗69 實驗8 字...