鍵盤錄入資料的轉換與顯示程式課程設計報告

2021-07-28 02:05:24 字數 3163 閱讀 7549

課程設計報告書

課程名稱微機原理及應用b

院(系、部、中心) 自動化學院

專業自動化(數控技術)

班級姓名學號

起止日期

指導教師

目錄一、設計題目2

二、設計任務(要求2

三、總體方案2

四、原理框圖3

五、系統模組詳細設計與除錯……………………4

六、設計總結9

七、參考文獻10

八、附件材料10

一. 設計題目:

鍵盤錄入資料的轉換與顯示程式設計

二. 設計任務:

1. 編寫乙個程式,能從鍵盤讀入兩個5位十進位制數(1位符號位和4位數值位),並將這兩個十進位制數分別轉換為二進位制數,然後求其和,再將和以十進位制形式在螢幕上顯示。

2. 做成乙個子程式,供其它程式呼叫。

3. 要求程式執行後顯示器顯示:「please input the first number from -9999 to 9999!」的提示。

4. 在輸入資料之後,螢幕顯示輸入的值。

5. 接著顯示器顯示「please input the second number from -9999 to 9999!」的提示。

6. 在輸入資料之後,螢幕顯示第二個數的輸入的值。

7. 最後顯示器顯示其中3個****分別是第乙個加數,第二個加數,和。

三.總體方案:

1. 程式分為主程式和子程式,主程式主要是接收從鍵盤輸入的數,兩個數的求和,以及和的顯示;子程式分別實現十進位制數轉換為二進位制和將二進位制數轉換為十進位制數。

2. 先輸入主程式。 輸入兩個數時,鍵盤接收的十進位制數以ascii碼形式存放在記憶體單元中,將其轉換為十進位制數字。數值在-9999至+9999範圍內。

3. 主程式中,兩個二進位制數數求和,結果也在16位補碼的表示範圍內。

4. 主程式中,和顯示前,首先把二進位制轉換為十進位制數,檢查和的符號位,若為負數則求補。

5。子程式中,實現十進位制數轉換為二進位制方法是先將累加和賦0,再用累加和乘10加x得出結果。轉換後在16位補碼的表示範圍內,如果為負數,則需求補。

6.子程式中,實現二進位制數轉換為十進位制前先檢查符號位,若為負數則求補,轉換方法為將二進位制數除以1000,再將餘數除以1000,依次類推,求出百,十位數,剩下的為個位數,最後將各個數加上30h,即成為對應字元。

四.原理框圖:

五.系統模組詳細設計與除錯:

一).模組設計

模組一.輸入第乙個數 :

mov ah,09h

int 21h

通過呼叫dos系統的01h號功能——鍵入字元並回車來實現,其出口引數為鍵入字元的ascii碼,存在al中

詳細設計方案:

datasegment

input1db 0dh,0ah,'please iuput a first number from -9999 to 9999輸入第乙個數,在-9999至+9999範圍內

in_asc_buf db 6十進位制數的輸入緩衝區,共可接收6個字元

db保留,用於10號呼叫時dos填入實際輸入字元個數

db 6 dup乙個符號位,四位數字ascii碼,加上乙個回車符, 共計6字元

in_asc_buf1 db 6

db ?

db 12 dup(?),'$'

b_buf1 dw將第乙個數轉換為二進位制後,放於此處

input2db 0dh,0ah,'please iuput the second number from -9999 to 9999輸入第二個數,在-9999 至 +9999範圍

out_asc_sum db 6 dup將二個數的和轉換為ascii碼後,放於此處,以供9號呼叫顯示

dataends

mov ax,data

mov ds,ax設定ds

mov dx,offset input1取第乙個輸入數的首位址

mov ah,09h

int 21h提示輸入乙個數

mov dx,offset in_asc_buf

mov ah,0ah

int 21h讀取第乙個數

mov cx,3設定次數

mov di,offset in_asc_buf+2 ;將第乙個數的第乙個字元放於目的資料區指標中

mov si,offset in_asc_buf1+2 ;將第二個數的第乙個字元放於源

資料區指標中

lpmov ax,[di位址內容送入ax

mov [si],ax

inc si

inc si

inc di

inc di

loop lp迴圈lp,讀取出第乙個數

模組二:輸入第二個數

mov b_buf1,ax

mov dx,offset input2取第二個輸入數的首位址

mov ah,09h

int 21h提示輸入二個數

mov dx,offset in_asc_buf

mov ah,0ah

int 21h讀取第二個數

mov cx,3設定次數

mov di,offset in_asc_buf+2 ;將第二個數的第乙個字元放於目的資料區指標中

mov si,offset in_asc_buf1+7 ;將第二個數的第乙個字元放於源資料區指標中

lp1mov ax,[di位址內容送入ax

mov [si],ax

inc si

inc si

inc di

inc di

loop lp1迴圈lp1,讀取出第乙個數

模組二:輸入第二個數

模組三.兩個二進位制數求和並顯示和:

顯示結果:

mov ah,09h

mov dx, offset out_asc_sum

int 21h

將結果存入資料段中定義的緩衝區out_asc_sum中,再通過呼叫dos系統的09h號功能——顯示字串(串尾字元為$,但不顯示)來完成。

add ax , bin_buf1計算這二個數之和

call bin_to_ascii將和轉換為ascii碼,以供顯示用

mov dx,0ah

mov ah,02h

int 21h

mov dx,offset in_asc_buf1+2

mov ah,09h

資料結構與演算法 遞迴與非遞迴的轉換

pop s,p if stackempty s 2 中序遍歷 a 遞迴方式 void inorder recursive bitree t 中序遍歷二叉樹的遞迴演算法 b 非遞迴方式 void inorder nonrecursive bitree t 3 後序遍歷 a 遞迴方式 void post...

實驗4 1 Excel資料的錄入與單元格的格式化

實驗目的和要求 掌握不同型別資料的錄入方法 掌握單元格的格式化操作 實驗內容 1.工作簿的建立 命名 儲存 2.不同型別資料的錄入 3 單元格的格式化操作 請大家按照如下題目要求建立工作簿,並對其進行合適的格式化,最後將所建立的若干個工作簿檔案放在同乙個資料夾中 資料夾命名為 姓名 學號 一 基礎題...

13統計研究的程式與資料蒐集方法

b 什麼是資料蒐集 根據統計研究的目的和要求,有組織 有計畫地向調查物件蒐集原始資料和次級資料。c 資料 指按照國家統一規定的各項要求,自下而上地定期向國家和主管部門報送基本統計資料的一種報告制度 優點 能保證統計資料的全面性和連續性 能保證統計資料的統一性和及時性 能滿足各級部門對統計資料的需要 ...