8086彙編 Day5 第三次實驗

2022-05-24 17:39:06 字數 1300 閱讀 8950

這個程式執行下來貌似列印了數字36,但其實是兩個數字3、6;

這段就是用來列印3;首先ah裡放2,跟後面的int 21h結合起來就是呼叫21號中斷例程的2號子程式,用來列印到標準輸出。mov dl,3可以理解,我們是想列印數字3,可是事實上並沒有那麼簡單,我們列印字元其實需要的是字元3的acsii碼值即51d 即33h所以在3的基礎上add 30h。那麼列印6同理。如何讓輸出與輸出有換行呢?

既然我已經分析的如此清晰了,那我就不改動line 4,line 9了,實際上道理就是這樣的,數字本身跟他的十六進製制ascii值形式上剛好差30h,所以add一行不用換,想列印什麼數字直接改mov dl的就好了。

檢視cx(在這裡cx用來表示機器碼占用的位元組數)可以自己數下反彙編出來的機器碼長度

單步除錯,最後呼叫中斷例程退出程式

改變line7 line 10資料,觀察現象

!!!dosbox下這一點確實有點坑,運算元搭配結構不合法的時候,不影響程式執行,在老師指導下在m4w環境下做了實驗,意識到錯誤,如下

修改後則正常了,如下

第三次實驗

姓名 陳裕坤 學號 120705213 班級 12電信2班 目標 1.掌握c語言基本運算子和表示式用法 2.預習選擇和重複控制語句的用法.任務1 假設整型變數 a 的值是 1,b 的值是 2,c 的值是 3,請判斷各語句的值,寫出執行結果,並作簡短分析.1 x a b c 2 y a 2 b a c...

第三次實驗

一.問題及 02.檔名稱 第三次實驗 03.作 者 梁一意 04.完成日期 2017 年 4 月 6 日 05.版 本 號 v1.0 06.對任務及求解方法的描述部分 07.輸入描述 無 08.問題描述 個人所得稅計算器 09.程式輸出 個人所得稅及稅後收入 10.問題分析 略 11.演算法設計 略...

第三次實驗

1 熟悉類的定義格式和類中成員的訪問許可權。2 建構函式與析構函式的呼叫時機與順序。3 掌握物件的定義以及物件的初始化的時機與方法。實驗內容 1 下面程式sy3 1.cpp中用error標明的語句有錯吧,在不刪除和增加 行的情況下,改正錯誤語句,使其正確執行。執行程式如下 include using...