計算機硬件實驗報告_第1頁
計算機硬件實驗報告_第2頁
計算機硬件實驗報告_第3頁
計算機硬件實驗報告_第4頁
計算機硬件實驗報告_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

遼寧工程技術大學上機實驗報告

成績成績

課程名稱計算機硬件基礎

實驗題目綜合程序設計(一)

院系軟件學院專業(yè)軟件工程班級五班

姓名學號實驗日期2014.11.14

1.熟練掌握子程序的結(jié)構。

實驗2.掌握子程序設計的思想、方法及上機調(diào)試過程。

目的3.熟練掌握系統(tǒng)功能調(diào)用的作用。

4.掌握系統(tǒng)功能調(diào)用的思想、方法。

1.8086/8038匯編語言指令及偽指令的用法

2.子程序設計的思想和方法

(1)子程序是功能相對獨立的程序段,它可以實現(xiàn)源程序的模塊化,簡化

源程序結(jié)構,提高編程效率

(2)子程序定義:利用過程偽指令PR0C和ENDP,格式如下:

過程名PROC[NEAR|FAR]

...;過程體

過程名ENDP

其中:可選的參數(shù)指定過程的調(diào)用屬性.沒有指定過程屬性.則采用默認

屬性NEARo

NEAR屬性:段內(nèi)近調(diào)用,子程序只能被相同代碼段的其他程序請用

FAR屬性:段間遠調(diào)用,子程序可以被相同或不同代碼段的程序調(diào)用

實驗(3)主程序(調(diào)用程序)調(diào)用子程序(被調(diào)用程序):利用CALL指令

準備(4)子程序返回主程序:利用RET指令

(5)保護現(xiàn)場:子程序開始處應該保護子程序中使用的寄存器(通常利用

堆棧),子程序返回前相應進行恢復。

(6)子程序中對堆棧的壓入和彈出操作通常成對使用,以保持堆棧的平衡。

(7)子程序允許嵌套和遞歸

(8)處理好子程序與主程序之間的參數(shù)傳遞問題:利用寄存器、內(nèi)存緩沖

區(qū)及堆棧。

3.DOS和BIOS中斷調(diào)用是機器及操作系統(tǒng)提供的中斷調(diào)用功能

4.系統(tǒng)功能調(diào)用的步驟:

⑴在AH寄存器中設置系統(tǒng)功能調(diào)用號

⑵在指定寄存器中設置入口參數(shù)

⑶用中斷調(diào)用指令(INTi8)執(zhí)行功能調(diào)用

⑷根據(jù)出口參數(shù)分析功能調(diào)用執(zhí)行情況

5.DOS利用21H號中斷提供給用戶近百個系統(tǒng)功能,主要包括設備管理、

課程實驗基本教學文件規(guī)范:實驗報告

目錄管理和文件管理三個方面的功能

(1)輸入一個字符,01H號功能調(diào)用

(2)輸出一個字符,02H號功能調(diào)用

(3)輸入一個字符串,0AH號功能調(diào)用

(4)輸出一個字符串,09H號功能調(diào)用

注意它們的入口參數(shù)及出口參數(shù)

6.BIOS也以中斷服務程序的形式,向程序員提供系統(tǒng)的基本輸入輸出程

BIOS功能更加基本,且與操作系統(tǒng)無關,當DOS沒有啟動或不允許使用DOS

功能調(diào)用時,可以使用BIOS功能調(diào)用

(1)鍵盤1/0中斷調(diào)用——INT16H

(2)業(yè)不器輸入中斷調(diào)用INT10H

注意它們的入口參數(shù)及出口參數(shù)

實驗

本次共有2個練習,完成2個。

進度

1.編寫主程序調(diào)用一個過程,實現(xiàn)將兩個非壓縮BCD碼轉(zhuǎn)換為一個壓縮

BCD碼,并用字符顯示功能和字符串顯示功能完成在屏幕上顯示一個字符

串“HelloTorld!”的功能。

程序源代碼:

DATASSEGMENT

AdwOlh

bdw02h

stringdb'Helloworld','$'

DATASENDS

CODESSEGMENT

ASSUMECS:CODES,DS:DATAS

START:

內(nèi)

cld

MOVAX,DATAS

MOVDS,AX

callcl

movax,segstring

movds,ax

LEAdx,string

movah、9

int21h

c1proc

movax,a

movcl,4

shlax,cl

movbx,b

addax,bx

ret

2

clendp

MOVAH,4CH

INT21H

CODESENDS

ENDSTART

2.在內(nèi)存建立一個表TARLE,其中存放20個字節(jié)型無符號數(shù),從鍵盤輸

入一個數(shù)X(一位數(shù)),查找該數(shù)X在TABLE中是否存在,若存在,則在RESULT

單元存入1,否則存入

程序源代碼:

datasegment

Tabledb01h,09h,06h,06h,05h,06h,0eh,03h,08h,0ah,

實驗01h,06h,09h,0fh,01h,02h,0ch,08h,07h,02h

內(nèi)容resultdb?

(續(xù))strdb'pleaseputinanumber',*$'

dataends

codesegment

assumecs:code,ds:data

start:

movax.data

movds,ax

callprod

movah.4ch

int21h

proclproc

movdx,offsetstr

movah.09h

int2Ih

movah.Olh

int21h

empal,'A'

jnsll

jmpandl

11:

addal,09h

jmpandl

andl:

andal,Ofh

movsi,offsettable

movcx.20

tab:

movbl,[si]

課程實驗基本教學文件規(guī)范:實驗報告

cmpal,bl

jzlabel1

incsi

looptab

movresult,-Id

jmpexit

label1:

movresult,1d

jmpexit

exit:

ret

procicndp

codeends

endstart

4

實驗一:

1.利用編輯器完成連接保存調(diào)試

forWinded霆成女通融而五3m石

XWDmbl)?T(B)UKQr?ftlfaDW

3處二二。u,二JM工」G?

姐t打開?ff?t3ItJ也貼直投注科Hl?iR?<I湛竹丹奏月僅日記注解網(wǎng)站落助

V切泄序01DAIASSECHLNI

;3.13

02

A-AdwG1h

bdw82h

23B3

Ct?*>£?1?2stringdb,Hellouorld'/$'

13BSDAIASENDSi

S?1?06

W?ndo

新松件底用同型觸答87CODESSEGMENT

單的入門程序女僧

*mMASSU?€CS:COOES,DS:DATAS1

,物據(jù)任法指令:免那)

09SVART:肖匯韁

*M本運!(搐令

君NK總算指分10cld苻、A

?力博作1於11HOUAX.DATAS

夕用與hl%e號12HOUPS.AK

比向舲

?13callc1?系統(tǒng)?

UnoudX?,?gstring以在11

,?皿F3E融僦程序

15nov05.ax

匯塘后?精棋僮思表4

16LEAdxastring

KG棘n用來艙費)咬】々

BIOS動德同利果晚發(fā))17nouah,9

D口:力酣令(憲昌)18int21rlRWm

】骼冰蛻費)

3119clproc$等工

2。novaxta

21noucl,*

22shlax.cl

23novbxebU

2Haddax.bx

25ret

26d|rndp

27

28HOUAH.aCH.

*in?

EFD:\Pro?ra*Files\Ka?B\bin\5.&r>

圖1

2.進入DOS系統(tǒng)進行反匯編并用d指令查看數(shù)據(jù)段

SBC:\Windows\systern32\cmd.exeg-1^-J

實驗?■

L42C:0000FCCLD

分析142C:0001B82Al4MOUAX.142A

L42C:00048ED8MOUDS,AX

L42C:0006E88D00CALL0016

142C:0009B82A14MOUAX.142A

L42C:000C8ED8MOUDS,AX

L42C:000E8D160400LEADX,[0004J

142C:0012B409MOUAH,09

L42C:0014CD21INT21

L42C:0016A18000MOUAX,[0000]

142c:0019D104MOUCL,04

L42C:001BD3E0SHLAX,CL

L42C:001D8B1E0200MOUBX/0002]

-d142a:0

142A:00000100020048656C6c-6F20?76F?26c6424....Helloworld$

L42A:00102000000000000000-0000800000000000

142A:0020FCB82A148ED8E80D-00B82A148ED88D16.?M.??■???*???-_

142A:00300400B409CD21Al00-00Bl04D3E08BIE02….一__________________

L42A:00400003C3C3B44CCD21-0008000000000000..........L.?...................

142A:00500000000000000000-0000800000000000

L42A:00600880900080?0000-00003000000000

142A:00700800000000000000-0000800000000000................

圖2

3運行:

4elloworldHelloworldHelloworld

^X=009ABX=7246CX=0004DX=009ESP=FFFABP=0000SI=0000DI=0000

DS-142AES-141ftSS-142ACS=0000IP=0014NUUPEIPLHZNAPONC

3000:0014CCINT3

圖3

課程實驗基本教學文件規(guī)范:實驗報告

實驗一最終查看內(nèi)存運行結(jié)果后可得出屏幕輸入'helloword!'字樣的字符串。

實驗二:

1.利用編輯器完成連接保存調(diào)試

MnvnforWirxfc>wS仙書院環(huán)窩W20U,S-7.

文愣£)Mil)運行@TW2)M83(H)

」二JA23N2->u?

汨t打開WM19J宣找孑取注短口快夏運行列哀廝H的稱8記注冊網(wǎng)站罌購

g詡湖年

Ublrdb11h.03h.H6h,36h,O>hvS6h,2rh,33hv88hv3ah.Hli

6.a”01h,06h09h.e(heiheMi.0ch.Mh.07h32h

:5Etvvv

3.1aresultdb?

;卜3.3stringdb'pleaseputinanuntier*,*$'

2?“dataends

Ctaepfil*codesegmentw,

14■assuuecs:code.ds:data

T.estart:

伏第⑼也第

?4曲

*篇■的入序其制nouax.data

"數(shù)"傳送指令慢艮)AOUOs.axn

*“京送M搐令callprod

費建■運窩哈M>Uah,iich

,部W作傳臺int21h系

*理障轉(zhuǎn)移指令

15prodproc以

3匯韁偽瓶兮16M>Udx.of(setstring

*瞄匚慷豪程學

17■oujhv09h

*?iraorsO^M?g*噴

廣焉國客出出信皂塞18int21h

際功險回陽索陽a19M>Vah.Olh及

BIOS咻姍泉收費)20int21h樂

3EBW偷冷(ft,)21c"al??㈱

81際分表唯善)22jns11

23j”and1

2&11:

25addal,09h

26jnpjnd1

273ndi:

28anda,Nh.

圖4

2.利用u指令進行反匯編,查看指令的物理地址

0C:\Window5\system32\cmd.exe

142D:0000B82A14MOUAX,142A

142D:00038ED8MOUDS,fiX

142D:0005E80400CALL000C

142D:0008B44CMOUAH,4c

142D:000ACD21INT21

142D:000CBA1500MOUDX,0015

142D:000FB409MOUAH,09

L42D:0011CD21INT21

142D:0013B401MOUAH,01

142D:0015CD21INT21

142D:001?3C41CMPAL,41

142D:00197902JNS001D

142D:001BEB34JMP0021

142D:001D0409ADDAL,09

142D:001FEB30JMP0021

-d142a:0

L42A:00001103463602562E33-883A0106090F0104..F6.U.3.:.............

142A:00100C080?3200?06C65-61?3652070757420...2.pleaseput

142A:0020696E2061206E756

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論