




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
遼寧工程技術(shù)大學(xué)上機(jī)實(shí)驗(yàn)報(bào)告
成績(jī)成績(jī)
課程名稱計(jì)算機(jī)硬件基礎(chǔ)
實(shí)驗(yàn)題目綜合程序設(shè)計(jì)(一)
院系軟件學(xué)院專業(yè)軟件工程班級(jí)五班
姓名學(xué)號(hào)實(shí)驗(yàn)日期2014.11.14
1.熟練掌握子程序的結(jié)構(gòu)。
實(shí)驗(yàn)2.掌握子程序設(shè)計(jì)的思想、方法及上機(jī)調(diào)試過(guò)程。
目的3.熟練掌握系統(tǒng)功能調(diào)用的作用。
4.掌握系統(tǒng)功能調(diào)用的思想、方法。
1.8086/8038匯編語(yǔ)言指令及偽指令的用法
2.子程序設(shè)計(jì)的思想和方法
(1)子程序是功能相對(duì)獨(dú)立的程序段,它可以實(shí)現(xiàn)源程序的模塊化,簡(jiǎn)化
源程序結(jié)構(gòu),提高編程效率
(2)子程序定義:利用過(guò)程偽指令PR0C和ENDP,格式如下:
過(guò)程名PROC[NEAR|FAR]
...;過(guò)程體
過(guò)程名ENDP
其中:可選的參數(shù)指定過(guò)程的調(diào)用屬性.沒(méi)有指定過(guò)程屬性.則采用默認(rèn)
屬性NEARo
NEAR屬性:段內(nèi)近調(diào)用,子程序只能被相同代碼段的其他程序請(qǐng)用
FAR屬性:段間遠(yuǎn)調(diào)用,子程序可以被相同或不同代碼段的程序調(diào)用
實(shí)驗(yàn)(3)主程序(調(diào)用程序)調(diào)用子程序(被調(diào)用程序):利用CALL指令
準(zhǔn)備(4)子程序返回主程序:利用RET指令
(5)保護(hù)現(xiàn)場(chǎng):子程序開始處應(yīng)該保護(hù)子程序中使用的寄存器(通常利用
堆棧),子程序返回前相應(yīng)進(jìn)行恢復(fù)。
(6)子程序中對(duì)堆棧的壓入和彈出操作通常成對(duì)使用,以保持堆棧的平衡。
(7)子程序允許嵌套和遞歸
(8)處理好子程序與主程序之間的參數(shù)傳遞問(wèn)題:利用寄存器、內(nèi)存緩沖
區(qū)及堆棧。
3.DOS和BIOS中斷調(diào)用是機(jī)器及操作系統(tǒng)提供的中斷調(diào)用功能
4.系統(tǒng)功能調(diào)用的步驟:
⑴在AH寄存器中設(shè)置系統(tǒng)功能調(diào)用號(hào)
⑵在指定寄存器中設(shè)置入口參數(shù)
⑶用中斷調(diào)用指令(INTi8)執(zhí)行功能調(diào)用
⑷根據(jù)出口參數(shù)分析功能調(diào)用執(zhí)行情況
5.DOS利用21H號(hào)中斷提供給用戶近百個(gè)系統(tǒng)功能,主要包括設(shè)備管理、
課程實(shí)驗(yàn)基本教學(xué)文件規(guī)范:實(shí)驗(yàn)報(bào)告
目錄管理和文件管理三個(gè)方面的功能
(1)輸入一個(gè)字符,01H號(hào)功能調(diào)用
(2)輸出一個(gè)字符,02H號(hào)功能調(diào)用
(3)輸入一個(gè)字符串,0AH號(hào)功能調(diào)用
(4)輸出一個(gè)字符串,09H號(hào)功能調(diào)用
注意它們的入口參數(shù)及出口參數(shù)
6.BIOS也以中斷服務(wù)程序的形式,向程序員提供系統(tǒng)的基本輸入輸出程
仔
BIOS功能更加基本,且與操作系統(tǒng)無(wú)關(guān),當(dāng)DOS沒(méi)有啟動(dòng)或不允許使用DOS
功能調(diào)用時(shí),可以使用BIOS功能調(diào)用
(1)鍵盤1/0中斷調(diào)用——INT16H
(2)業(yè)不器輸入中斷調(diào)用INT10H
注意它們的入口參數(shù)及出口參數(shù)
實(shí)驗(yàn)
本次共有2個(gè)練習(xí),完成2個(gè)。
進(jìn)度
1.編寫主程序調(diào)用一個(gè)過(guò)程,實(shí)現(xiàn)將兩個(gè)非壓縮BCD碼轉(zhuǎn)換為一個(gè)壓縮
BCD碼,并用字符顯示功能和字符串顯示功能完成在屏幕上顯示一個(gè)字符
串“HelloTorld!”的功能。
程序源代碼:
DATASSEGMENT
AdwOlh
bdw02h
stringdb'Helloworld','$'
DATASENDS
CODESSEGMENT
ASSUMECS:CODES,DS:DATAS
實(shí)
驗(yàn)
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)存建立一個(gè)表TARLE,其中存放20個(gè)字節(jié)型無(wú)符號(hào)數(shù),從鍵盤輸
入一個(gè)數(shù)X(一位數(shù)),查找該數(shù)X在TABLE中是否存在,若存在,則在RESULT
單元存入1,否則存入
程序源代碼:
datasegment
Tabledb01h,09h,06h,06h,05h,06h,0eh,03h,08h,0ah,
實(shí)驗(yàn)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]
課程實(shí)驗(yàn)基本教學(xué)文件規(guī)范:實(shí)驗(yàn)報(bào)告
cmpal,bl
jzlabel1
incsi
looptab
movresult,-Id
jmpexit
label1:
movresult,1d
jmpexit
exit:
ret
procicndp
codeends
endstart
4
實(shí)驗(yàn)一:
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本運(yùn)?。ùち?/p>
君NK總算指分10cld苻、A
?力博作1於11HOUAX.DATAS
夕用與hl%e號(hào)12HOUPS.AK
比向舲
?13callc1?系統(tǒng)?
UnoudX?,?gstring以在11
,?皿F3E融僦程序
15nov05.ax
匯塘后?精棋僮思表4
16LEAdxastring
KG棘n用來(lái)艙費(fèi))咬】々
BIOS動(dòng)德同利果晚發(fā))17nouah,9
D口:力酣令(憲昌)18int21rlRWm
】骼冰蛻費(fèi))
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.進(jìn)入DOS系統(tǒng)進(jìn)行反匯編并用d指令查看數(shù)據(jù)段
SBC:\Windows\systern32\cmd.exeg-1^-J
實(shí)驗(yàn)?■
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運(yùn)行:
4elloworldHelloworldHelloworld
^X=009ABX=7246CX=0004DX=009ESP=FFFABP=0000SI=0000DI=0000
DS-142AES-141ftSS-142ACS=0000IP=0014NUUPEIPLHZNAPONC
3000:0014CCINT3
圖3
課程實(shí)驗(yàn)基本教學(xué)文件規(guī)范:實(shí)驗(yàn)報(bào)告
實(shí)驗(yàn)一最終查看內(nèi)存運(yùn)行結(jié)果后可得出屏幕輸入'helloword!'字樣的字符串。
實(shí)驗(yàn)二:
1.利用編輯器完成連接保存調(diào)試
MnvnforWirxfc>wS仙書院環(huán)窩W20U,S-7.
文愣£)Mil)運(yùn)行@TW2)M83(H)
」二JA23N2->u?
汨t打開WM19J宣找孑取注短口快夏運(yùn)行列哀廝H的稱8記注冊(cè)網(wǎng)站罌購(gòu)
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
費(fèi)建■運(yùn)窩哈M>Uah,iich
,部W作傳臺(tái)int21h系
*理障轉(zhuǎn)移指令
15prodproc以
3匯韁偽瓶兮16M>Udx.of(setstring
*瞄匚慷豪程學(xué)
17■oujhv09h
*?iraorsO^M?g*噴
廣焉國(guó)客出出信皂塞18int21h
際功險(xiǎn)回陽(yáng)索陽(yáng)a19M>Vah.Olh及
BIOS咻姍泉收費(fèi))20int21h樂(lè)
3EBW偷冷(ft,)21c"al??㈱
81際分表唯善)22jns11
23j”and1
2&11:
25addal,09h
26jnpjnd1
273ndi:
28anda,Nh.
圖4
2.利用u指令進(jìn)行反匯編,查看指令的物理地址
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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 資產(chǎn)使用協(xié)議書
- 道路搭火協(xié)議書
- 自愿訓(xùn)練協(xié)議書
- 綠城廉潔協(xié)議書
- 選房意向協(xié)議書
- 實(shí)驗(yàn)實(shí)訓(xùn)室借用協(xié)議書
- 遺增撫養(yǎng)協(xié)議書
- 廣西和螞蟻合作協(xié)議書
- 實(shí)習(xí)生技術(shù)轉(zhuǎn)讓協(xié)議書
- 鄭州婚前協(xié)議書
- 信息技術(shù)基礎(chǔ)知識(shí)試題及答案
- 2025雅思考試寫作專項(xiàng)預(yù)測(cè)試卷:時(shí)態(tài)與語(yǔ)態(tài)運(yùn)用試題
- 高中生物易錯(cuò)點(diǎn)
- 車庫(kù)贈(zèng)送協(xié)議書范本
- 旅拍安全協(xié)議書
- 2025-2030國(guó)內(nèi)薄膜電容器行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及競(jìng)爭(zhēng)策略與投資發(fā)展研究報(bào)告
- 會(huì)展危機(jī)事件與管理應(yīng)對(duì)策略
- 2025年江蘇南通蘇北七市高三三模高考數(shù)學(xué)試卷試題(含答案詳解)
- 2025屆高考押題作文10篇(含題目)
- 順豐公司外包協(xié)議合同書
- 安全意識(shí)提升策略試題及答案
評(píng)論
0/150
提交評(píng)論