鐘計算機綜合實踐

2021-03-04 09:50:42 字數 3716 閱讀 9238

四川大學網路教育學院

實踐課程報告

實踐課程計算機綜合實踐

校外學習中心

專業電氣工程及其自動化

層次專公升本

年級10秋

學生姓名

學號實驗一熟悉、使用debug除錯工具

一. 實驗目的:

1. 了解並逐步熟悉組合語言的編輯方法及特點.

2. 複習8088組合語言的段結構、常用的指令與偽指令、儲存空間的分配等。

3. 掌握組合語言的編輯、彙編及連線的過程。

4. 了解並逐步掌握運用debug進行除錯組合語言程式。

二. 實驗內容:

1. 運用8086組合語言,編輯多位元組非壓縮型bcd數除法的簡單程式,檔名取為*.a**。

2. 運用ma**﹒exe檔案進行彙編,修改發現的各種語法錯誤,直至正確,形成*.obj檔案。

3. 運用link.exe檔案進行連線,形成*.exe檔案。

4. 仔細閱讀附錄中的debug部分,掌握各種命令的所有方法。

5. 運用debug。exe檔案進行除錯,使用單步執行命令—t兩次,觀察暫存器中內容的變化,使用察看儲存器資料段命令—d,觀察儲存器資料段內數值。

6. 再使用連續執行命令—g,執行程式,檢查結果是否正確,若不正確可使用debug的設定斷點,單步執行等功能發現錯誤所在並加以改正。

程式清單:

多位元組非壓縮型bcd數除法 (88754/6=14792)

data segment

a db 8,8,7,5,4

b db 6

c db 5dup (0)

n equ 5

data ends

code segment

assume cs:code;ds:data;es:data,

start mov ax,data

mov ds,ax

mov es,ax

cldlea si,a

leb di,c

mov cx,n

mov ah,0

lp1: lodsb

aaddiv b

stosb

loop lp1

mov cx,n

lea di,c

lp2: mov dl,[di

mov ah,2開始

int 21h

dec di設定被除數、商的位址指標

loop lp2設定單位除法次數計數器

mov ah,4ch

int 21h取被除數一位作十進位制調整

code: ends

end start作位元組除法、存商

n 被除數各位已除完?

y顯示運算結果

結束三、實驗體會

通過本次實驗,我了解了組合語言的編輯方法及特點,掌握組合語言的編輯、彙編及連線的過程,並逐步掌握運用debug進行除錯組合語言程式。但對其的熟悉程度和應用還遠遠不夠,因此需要經過加強練習,提高水平。

實驗二設計組合語言程式

一. 實驗內容

1、字串統計程式設計 2、雙字乘法程式設計

二. 實驗內容

1. 字串統計。

在資料段中建立乙個緩衝區buffer,變數ver,程式設計使得程式具有如下功能:從鍵盤輸入乙個子字串存入ver,從鍵盤輸入包含乙個或幾個子字串的字串存入buffer。統計buffer中的字串含有多少個子字串以及每個子字串的位置。

2. 雙字乘法程式。

設計乙個程式實現32位帶符號雙精度數乘法運算。由於只有8位和16位的乘法指令。因此32位乘法運算是不能直接用指令實現的。

但可以用16位乘法指令,通過 4次想乘然後把部分積想加。對於帶符號數,可以先根據絕對值求得積。然後判斷積的符號,若積為負數,應將其用補碼表示。

三. 實驗流程與程式:

子程式入口

ax←num1

開始dx:ax←ax*num2

乘積符號標誌sign=0mrlt←ax,mrlt+2←dx

被乘數》0 ? yax←num1+2

n 被乘數取補dx:ax←ax*num2

sign標誌取反mrlt+2←ax+mrlt+2,mrlt+4←dx+c

乘數》0yax←num1

n 乘數取補dx:ax←ax*num2+2

sign標誌取反mrlt+2←ax+mrlt+2,mrlt+4←dx+c

呼叫32位無符號乘法子程式儲存進製

sign=0yax←num1+2

n 乘積取補dx:ax←ax*num2+2

結束恢復進製

32位帶符號數乘法流程圖mrlt+4←ax+mrlt+4,mrlt+6←dx+c

ret32位無符號乘法子程式流程圖

data segment

ioport equ 0d400h-0280h

io8253a equ ioport+280h

io8253b equ ioport+283h

io8255a equ ioport+288h

io8255b equ ioport+28bh

io0832a equ ioport+290h

data1 db 80h,96h,0aeh,0c5h,0d8h,0e9h,0f5h,0fdh

db 0ffh,0fdh,0f5h,0e9h,0d8h,0c5h,0aeh,96h

db 80h,66h,4eh,38h,25h,15h,09h,04h

db 00h,04h,09h,15h,25h,38h,4eh,66h ;正弦波資料

time db 120,106,94,89,79,70,63,59 ;發不同音時8253的計數器初值

msg db 'press 1,2,3,4,5,6,7,8,esc:',0dh,0ah,'$'

num db ? ;num為8253計數器初值的序號

data ends

code segment

assume cs:code,ds:data

start: mov ax,data

mov ds,ax

mov dx,offset msg

mov ah,9

int 21h顯示提示資訊

sss: mov ah,7

int 21h從鍵盤接收字元,不回顯

cmp al,1bh

je exit若為esc鍵,則轉exit

cmp al,31h

jl sss

cmp al,38h

jg sss若不在'1'-'8'之間轉sss

sub al,31h

mov num,al求出相應的時間常數的序號

mov cx,60取60次32個正弦波資料

ddd: mov si,0

lll: mov al,data1[si] ;取正弦波資料

mov dx,io0832a

out dx,al放音

call delay調延時子程式

inc si

cmp si,32是否取完32個資料

jl lll若沒有,則繼續

計算機畢業綜合實踐方案

計算機 設計與製作方向畢業綜合實踐方案 專業綜合實踐對學生進行的專業綜合技能訓練,培養學生的創新意識和職業技能,加強和提高學生綜合運用所學知識與技能分析問題和解決問題能力,實現高素質技術技能人才培養目標的重要環節。針對我校學生的特點,結合專業特色,現制定以下要求 一 計算機專業綜合實踐專案 各方向必...

計算機綜合實踐實驗報告

四川大學網路教育學院 實踐課程報告 實踐課程計算機綜合實踐 校外學習中心奧鵬 專業電氣工程及其自動化 層次專公升本 年級級學生姓名 學號20年月日 四川大學網路教育學院 實驗報告 實驗內容 用組合語言編寫乙個簡單的加法運算程式,並除錯 字串統計程式設計,雙字乘法程式設計 改變定時器2的計數值來改變聲...

計算機實踐要求

五 實驗報告 實驗報告是整個實驗過程的重要環節。要求學生每作完一次實驗寫乙個實驗報告。通過寫實驗報告達到對整個實驗的總結和提高。實驗報告可包括 實驗目的 實驗內容 演算法與流程圖 程式清單 執行結果 除錯分析和體會等內容。六 考核與考試 以考查方式檢查學生。考查內容 1 上機除錯能力 2 實驗報告 ...