實驗報告範例

2022-03-26 07:30:36 字數 1331 閱讀 5636

inc si指向下一位16進製制數

pop cx恢復迴圈計數器

loop lp4位16進製制數處理完否?

mov ah,4ch ;程式結束

int 21h

disp proc near

mov al,[si取出1位16進製制數的ascii碼

sub al,30h

cmp al,9

jbe disp10~9?

sub al,7

disp1: mov cl,4

rol al,clal的低4位移到高4位,準備逐位處理每位2進製數

mov cx,4

lop: rol al,1

jc one

mov dl,'0'

jmp disp2

one: mov dl,'1'

disp2: push axal中內容未處理完,需要保護

mov ah,2顯示1位二進位制數

int 21h

pop ax恢復al

loop lop

retdisp endp

end六、結果分析與除錯

1. 最初發現每位16進製制數都顯示成『1000』,單步執行程式,結果發現是子程式disp中未保護al,進棧保護後即解決。

2. 上述程式經彙編連線後執行,顯示提示

please input 4 heximal digitals(0-f):

輸入4位16進製制數如1234,在下一行顯示出正確結果:

0001001000110100

輸入較大的數如abcd,結果輸出為

1010101111001101

基本可以確定程式正確。

3. 程式鍵盤輸入16進製制數,如果大於9,可能有大寫、小寫的問題,程式中只處理了大寫的a~f,對於小寫的a-f,程式處理結果仍然正確,因為大寫、小寫字母的ascii碼只有高4位有區別,而程式中只處理低4位,結果一樣。

七、結論

1. 本實驗程式中,主程式用迴圈來控制4位16進製制數的處理,子程式中用迴圈來控制4位2進製數的處理。

2. 用1號系統呼叫雖然也可以進行鍵盤輸入,但一次只能輸入1位,要加迴圈控制,不方便。本實驗程式中用了10號系統呼叫,更方便程式處理。

3. 輸入4位16進製制數時,如果是不合法的16進製制數,應當給予警示,並提示重新輸入,程式中未做此處理,可以很容易地增加這部分內容。

4. 系統呼叫類似於子程式呼叫,要用到通用暫存器。因而在使用系統呼叫時,要注意保護好程式中要使用的暫存器,如本實驗程式中,主程式中迴圈結構裡的cx,子程式中的ax。

否則,會造成資料丟失。

報告人:張國安

日期:2008-4-12

實驗報告範例

實驗日期 中國石油大學大學物理實驗實驗報告成績 班級姓名同組者教師 岩芯電阻率的測量 特別說明 本文是一篇模擬實驗報告,重點是學習實驗報告的基本內容 格式要求 資料處理方法等,具體實驗內容與實驗實際要求內容可能不一致。資料處理必須有簡要計算過程。實驗目的 1 了解靈敏電流計的結構和工作原理。2 學習...

實驗報告範例

實驗名稱 常量 變數 函式和表示式的使用 實驗目的 1.掌握各種型別常量的表示方法 2.掌握變數的賦值方法 3.掌握常用函式的功能 格式和使用方法 4.掌握各種型別表示式的表示方法 實驗裝置 台式計算機一台 實驗日期 2011年3月日 一 實驗預習 實驗之前將教材2.4節的內容仔細看了一遍,了解了v...

實驗報告範例

中國石油大學 華東 程式設計實訓報告 選題名稱 專業班級 實習時間 實習地點 組長 學號 姓名 組員 說明 最好不要超過3個圖 圖1 開始遊戲 說明 主要寫用到的各型別的全域性變數 含義 1.g imonkeys 6 用乙個int型別的陣列來儲存猴子精靈編號 2.g flocation 6 用乙個浮...