




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
遼寧工程技術大學上機實驗報告
成績成績
課程名稱計算機硬件基礎
實驗題目綜合程序設計(一)
院系軟件學院專業軟件工程班級五班
姓名學號實驗日期2014.11.14
1.熟練掌握子程序的結構。
實驗2.掌握子程序設計的思想、方法及上機調試過程。
目的3.熟練掌握系統功能調用的作用。
4.掌握系統功能調用的思想、方法。
1.8086/8038匯編語言指令及偽指令的用法
2.子程序設計的思想和方法
(1)子程序是功能相對獨立的程序段,它可以實現源程序的模塊化,簡化
源程序結構,提高編程效率
(2)子程序定義:利用過程偽指令PR0C和ENDP,格式如下:
過程名PROC[NEAR|FAR]
...;過程體
過程名ENDP
其中:可選的參數指定過程的調用屬性.沒有指定過程屬性.則采用默認
屬性NEARo
NEAR屬性:段內近調用,子程序只能被相同代碼段的其他程序請用
FAR屬性:段間遠調用,子程序可以被相同或不同代碼段的程序調用
實驗(3)主程序(調用程序)調用子程序(被調用程序):利用CALL指令
準備(4)子程序返回主程序:利用RET指令
(5)保護現場:子程序開始處應該保護子程序中使用的寄存器(通常利用
堆棧),子程序返回前相應進行恢復。
(6)子程序中對堆棧的壓入和彈出操作通常成對使用,以保持堆棧的平衡。
(7)子程序允許嵌套和遞歸
(8)處理好子程序與主程序之間的參數傳遞問題:利用寄存器、內存緩沖
區及堆棧。
3.DOS和BIOS中斷調用是機器及操作系統提供的中斷調用功能
4.系統功能調用的步驟:
⑴在AH寄存器中設置系統功能調用號
⑵在指定寄存器中設置入口參數
⑶用中斷調用指令(INTi8)執行功能調用
⑷根據出口參數分析功能調用執行情況
5.DOS利用21H號中斷提供給用戶近百個系統功能,主要包括設備管理、
課程實驗基本教學文件規范:實驗報告
目錄管理和文件管理三個方面的功能
(1)輸入一個字符,01H號功能調用
(2)輸出一個字符,02H號功能調用
(3)輸入一個字符串,0AH號功能調用
(4)輸出一個字符串,09H號功能調用
注意它們的入口參數及出口參數
6.BIOS也以中斷服務程序的形式,向程序員提供系統的基本輸入輸出程
仔
BIOS功能更加基本,且與操作系統無關,當DOS沒有啟動或不允許使用DOS
功能調用時,可以使用BIOS功能調用
(1)鍵盤1/0中斷調用——INT16H
(2)業不器輸入中斷調用INT10H
注意它們的入口參數及出口參數
實驗
本次共有2個練習,完成2個。
進度
1.編寫主程序調用一個過程,實現將兩個非壓縮BCD碼轉換為一個壓縮
BCD碼,并用字符顯示功能和字符串顯示功能完成在屏幕上顯示一個字符
串“HelloTorld!”的功能。
程序源代碼:
DATASSEGMENT
AdwOlh
bdw02h
stringdb'Helloworld','$'
DATASENDS
CODESSEGMENT
ASSUMECS:CODES,DS:DATAS
實
驗
START:
內
容
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.在內存建立一個表TARLE,其中存放20個字節型無符號數,從鍵盤輸
入一個數X(一位數),查找該數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
內容resultdb?
(續)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]
課程實驗基本教學文件規范:實驗報告
cmpal,bl
jzlabel1
incsi
looptab
movresult,-Id
jmpexit
label1:
movresult,1d
jmpexit
exit:
ret
procicndp
codeends
endstart
4
實驗一:
1.利用編輯器完成連接保存調試
forWinded霆成女通融而五3m石
XWDmbl)?T(B)UKQr?ftlfaDW
3處二二。u,二JM工」G?
姐t打開?ff?t3ItJ也貼直投注科Hl?iR?<I湛竹丹奏月僅日記注解網站落助
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
,物據任法指令:免那)
09SVART:肖匯韁
*M本運!(搐令
君NK總算指分10cld苻、A
?力博作1於11HOUAX.DATAS
夕用與hl%e號12HOUPS.AK
比向舲
?13callc1?系統?
UnoudX?,?gstring以在11
,?皿F3E融僦程序
15nov05.ax
匯塘后?精棋僮思表4
16LEAdxastring
KG棘n用來艙費)咬】々
BIOS動德同利果晚發)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系統進行反匯編并用d指令查看數據段
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
課程實驗基本教學文件規范:實驗報告
實驗一最終查看內存運行結果后可得出屏幕輸入'helloword!'字樣的字符串。
實驗二:
1.利用編輯器完成連接保存調試
MnvnforWirxfc>wS仙書院環窩W20U,S-7.
文愣£)Mil)運行@TW2)M83(H)
」二JA23N2->u?
汨t打開WM19J宣找孑取注短口快夏運行列哀廝H的稱8記注冊網站罌購
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
"數"傳送指令慢艮)AOUOs.axn
*“京送M搐令callprod
費建■運窩哈M>Uah,iich
,部W作傳臺int21h系
*理障轉移指令
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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CBMCA 024-2021通風系統凈化消毒技術規范
- T/CAQI 51-2018家用和類似用途節水型納濾濾芯
- T/CAPE 11001-2019基于建筑信息模型(BIM)的預制梁張拉及壓漿設備施工動態監控規范
- 大廠公司面試題及答案
- 一線大廠java專家面試題及答案
- 建設能源面試題及答案
- 2025年幼兒教師實訓心得體會模版
- 水務物資公司經理助理競聘演講稿
- 人生規劃課件圖片
- 集裝箱卸柜合同范本
- 會展危機事件與管理應對策略
- 2025年江蘇南通蘇北七市高三三模高考數學試卷試題(含答案詳解)
- 2025屆高考押題作文10篇(含題目)
- 裝修續簽協議合同協議
- 順豐公司外包協議合同書
- 安全意識提升策略試題及答案
- 2025年度教師資格證考試綜合素質必考250個重點知識匯編
- 河南省安陽市(百師聯盟)2023-2024學年高一下學期5月大聯考數學試題(人教版)(解析版)
- 2025年度幼兒園教師編制考試全真模擬試題及答案(共五套)
- 新媒體業務面試題及答案
- 廣東省廣州市2025年中考地理模擬測試卷(含答案)
評論
0/150
提交評論