求和輸出 微機原理實驗報告

2021-09-24 00:02:24 字數 2263 閱讀 7990

南通大學電腦科學與技術學院上機實驗報告

一、目的及要求

通過鍵盤輸入乙個數字,求1加到該數的和,並將結果顯示在螢幕上。

1、資料段定義:

data segment

n db 4

db ?

db 4 dup(?)

sum dw ?

msg1 db 'input a number:$'

msg2 db 'sum is $'

data ends

2、利用10號dos功能呼叫,接受輸入數字的ascii碼3、將輸入數字的ascii碼轉換成十進位制數4、利用迴圈結構求和

5、將所求和,轉換成ascii碼字串,並輸出6、提示資訊字串用9號dos功能呼叫完成,可寫成子程式,以供呼叫;

累加和,可用2號dos功能呼叫,依次顯示每一位字元。

二、環境(軟、硬體平台)

計算機(xp系統)、dos系統、masm6emu8086

三、內容及步驟(包括程式流程及說明)

data segment資料定義

n db 4

db ?

db 4 dup(?)

sum dw ?

msg1 db 'input a number:$'

msg2 db 'sum is $'

data ends

code segment

assume cs:code,ds:datamain proc far

start:mov ax,data

mov ds,ax

lea dx,msg1

call dispmess顯示input a numberlea dx,n

mov ah,0ah輸入數字

int 21h

call newline另起一行

lea si,n資料儲存位置

mov cl,[si+1

add si,2指標+2,指向數字第一位

xor ax,ax清零

;迴圈乘十,將輸入字元變為數字

again:add ax,axax*10。。。2mov bx,ax

add ax,ax4

add ax,ax8

add ax,bx10

mov bx,0

mov bl,[si]

sub bl,30h由ascii碼變為數字add ax,bx

inc si

loop again

mov cx,ax

mov ax,0

;計算1到n的和

a: add ax,cx

loop a

mov sum,ax

lea dx,msg2

push ax

call dispmess顯示sum ispop ax

push bx

call dispal

call newline

pop bx

mov ah,4ch退出

int 21h

main endp

dispmess proc near9號功能呼叫mov ah,9

int 21h

retdispmess endp

;除以10,取餘,提出每一位數字變為ascii碼輸出dispal proc near

mov cx,5

mov bx,10

disp1: cwd字擴充套件

div bxax除以10

xchg dx,ax交換:

add al,'0變為ascii碼

push ax

xchg dx,ax

mov dx,0

loop disp1

mov cx,5

disp2: pop dx

call echoch顯示

loop disp2

retdispal endp

echoch proc near2號功能呼叫mov ah,2

int 21h

retechoch endp

newline proc near回車換行push ax

push dx

mov dl,0dh

mov ah,2

int 21h

mov dl,0ah

int 21h

pop dx

pop ax

retnewline endp

code ends

四、執行結果

因為電腦是win764位,無法使用dos,所以使用 emu8086除錯

五、問題及心得

微機原理實驗報告

一 實驗綜述 實驗目的 1 熟悉debug環境,在debug中輸入程式。2 掌握基本指令的用法。3 分析程式執行結果。4 會按要求編寫基本程式,完成基本功能。二 實驗過程 實驗步驟 資料記錄 實驗3.57 若ax 1001h,dx 20ffh,當執行add ax,dx指令以後,請列出和數及標誌暫存器...

微機原理實驗報告

實驗報告 課程名稱 實驗名稱 班級姓名學號 實驗組別同實驗者 實驗日期實驗地點 評定成績評閱教師 實驗報告要目 1 實驗目的要求 2 實驗儀器 裝置 3 實驗線路 原理框圖 4 實驗方法步驟 5 實驗的原始資料和分析 6 實驗討論 1 從螢幕輸入20個資料,有效資料從00 99 十進位制 2 按序進...

微機原理綜合實驗報告

濱江學院 實驗報告 學生姓名 學號專業資訊工程 班級2016級 二 一八年十二月三十日 微機原理綜合實驗 實驗一利用debug除錯程式除錯程式段 1 實驗目的 1 熟悉debug有關命令的使用方法。2 利用debug掌握有關指令的功能。3 利用debug執行簡單的程式段。2 實驗內容 1 進入和退出...