1. 程式人生 > >匯編語言 實驗九

匯編語言 實驗九

div 代碼段 空格 保存 學習 希望 以及 asc 運用

一: 補全程序t1.asm,完成在屏幕上輸出內存單元中的十進制兩位數

1 因為我們知道第一段的db中只含有一個數字12,所以其只占即ds:[0]的位置,而我們需要的是將商保存後面字節的位置

2我們需要add dl 48是因為數字與數字符號之間的ASCII碼差值為48

技術分享圖片

之後我們再查看其中的結果:

技術分享圖片

我們可以發現正如我麽所想要的結果。

二:補全程序t2.asm,完成在屏幕上輸出data段定義的5個十進制兩位數,數據和數據之間以空格間隔

1 我們需要將db中的5個數字完成除法運算,所以可以運用到loop指令來進行使用。

2 前面的一些準備工作和問題一是一樣的,不同的就是多了一個改變地址的寄存器了,這個選擇哪個寄存器沒有太大影響,你可以使用si,di,bp,bx,idata之類的,只要不是定值就行,在每次循環時地址加上1,就可以逐次的完成除法。

3 在每次輸出的時候,要加上空格,所以我們可以在循環裏加上一個輸出空格的代碼段。

技術分享圖片

之後我們再來看看得到的結果:

技術分享圖片

三: 教材實驗9(P187)

在屏幕的中間分別顯示綠色,綠底紅色,白底藍色的字符串‘welcome to masm!’

1 首先我麽需要用loop指令來實現循環,有三次,在老師給的提示裏我們可以找到中間三行的位置段地址,至於列數我們可以自行進行相應的調整,我們用di來表示。

2 之後我們就可以把數據裏的單詞依次的放入地址內存中,每個單詞中間隔著的一個內存裏面放的數字則代表這串字符的屬性。

技術分享圖片

我們來查看我們想要的結果:

技術分享圖片

實驗的收獲:

在這次的實驗中,自己學會了div用法以及更多的di,si,bp的用法,也了解了loop指令更多的用法,自己感到收獲了非常多的東西,希望在以後的學習中,自己可以了解的更加的多。

匯編語言 實驗九