




版權說明:本文檔由用戶提供并上傳,收益歸屬內(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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 硬件設施維護與更新工作總結(jié)計劃
- 2024年西安市團結(jié)實驗學校招聘筆試真題
- 2024年湖南省交通運輸廳下屬事業(yè)單位真題
- 微生物世界探索活動計劃
- 法律與經(jīng)濟政策的協(xié)調(diào)試題及答案探討
- 2024年福建藝術職業(yè)學院招聘筆試真題
- 建立良好團隊文化的路徑計劃
- 一個學期的教學反思與總結(jié)計劃
- 如何提高倉庫的系統(tǒng)性計劃
- 網(wǎng)絡管理員考試新版本試題及答案
- 2025年度教師資格證考試綜合素質(zhì)必考250個重點知識匯編
- 2025年中考數(shù)學三輪沖刺訓練一次函數(shù)中幾何壓軸題綜合訓練
- 中考英語詞匯電子版單選題100道及答案
- 2025年中考政治總復習必考重點知識復習提綱
- 河南省安陽市(百師聯(lián)盟)2023-2024學年高一下學期5月大聯(lián)考數(shù)學試題(人教版)(解析版)
- 屋面防水及改造工程投標方案(技術方案)
- 口腔正畸考試試題及答案
- 血液透析患者內(nèi)瘺感染的護理
- 河道治理及生態(tài)修復工程施工方案與技術措施
- 山東省棗莊市山亭區(qū)2023年小升初數(shù)學試卷(含答案)
- 2025高考語文名校作文題立意與例文參考11篇
評論
0/150
提交評論