組合語言實驗4 利用跳轉指令構造迴圈

2021-07-30 12:35:20 字數 1270 閱讀 8888

人工分析下面的程式,然後再在debug程式中單步執行,觀察每一步完成後的結果,並解發布現的現象。

程式如下:

assume cs:codesg

codesg segment

mov ax,4c00h

int 21h

start:

mov ax, 0

s: nop

nopmov di, offset s

mov si, offset s2

mov ax, cs:[si]

mov cs:[di], ax

s0:jmp short s

s1:mov ax, 0

int 21h

mov ax, 0

s2:jmp short s1

nopcodesg ends

end start

實驗報告中,每執行一步,截圖並描述清楚執行過程。涉及修改記憶體單元的,通過u命令或d命令,觀察修改後的內容作為指令或資料該如何解釋。

程式設計序,將beg_copy到end_copy的**複製到0:200h處

assume cs:codeseg

codeseg segment

start:

...beg_copy:

mov ax, 0

add ax, ax

wait

end_copy: nop

codeseg ends

end start

在下面的資料段中,給出了全班3名同學os、al、se、db課程的成績,請程式設計計算出平均成績,寫在 ? 處。

要求寫兩個版本的程式:(1)用jcxz指令構造迴圈;(2)用cmp指令、j***系列指令配合構造迴圈。

datasg segment

db '201558501111','mmtjab ',90,100,76,89,?

db '201558501112','zhangap ',97,82,79,88,?

db '201558501113','shaoxl ',77,98,89,91,?

db 4 ;這是課程門數,將要用於作除數,偏移量為75

datasg ends

在實驗報告中,提供程式,以及執行結果的截圖。

程式設計序,在螢幕的中間分別顯示綠色、綠底紅色、白底藍色的字串 『yantaiuniversity』

按照p187實驗9中的指導完成,實驗報告中截圖說明。

參考解答

《組合語言》實驗4

1 程式設計,向記憶體0 200 0 23f依次傳送資料0 63。assume cs code code segment mov ax,20h mov ds,ax mov bx,0 mov cx,64s mov bx bl inc bx loop s mov ax,4c00h int21hcode ...

組合語言實驗4

實驗一 綜合使用loop,bx 編寫完整匯程式設計序,實現向記憶體b800 07b8開始的連續16個字單元重複填充字資料0403h。寫入下列程式 通過彙編連線後執行程式 得到16個愛心。將0403h改為0441h後執行,得到結果 實驗二 綜合使用 loop,bx 編寫完整彙編源程式,實現向記憶體 0...

《組合語言》實驗 實驗

注意 db定義位元組型別變數,乙個位元組資料百佔1個位元組單度元,讀完乙個,偏移量加1 dw定義字型別變問量,乙個字資料佔2個位元組單元,讀完乙個,權偏移量加2 dd定義雙字型別變數版,乙個雙字資料佔4個位元組單元,讀完乙個,權偏移量加4 一開始用了乙個暫存器表示所有項,但是後來發現四個資料佔的位元...