




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、本科實(shí)驗(yàn)報(bào)告課程名稱: 計(jì)算機(jī)硬件技術(shù)基礎(chǔ)(實(shí)驗(yàn)一) 實(shí)驗(yàn)地點(diǎn): 專業(yè)班級:軟件13xx班 學(xué)號(hào): 201300xxxx 學(xué)生姓名: 指導(dǎo)教師: 高勁松 2015年 5月 8 日太原理工大學(xué)學(xué)生實(shí)驗(yàn)報(bào)告學(xué)院名稱軟件學(xué)院專業(yè)班級學(xué)號(hào)學(xué)生姓名實(shí)驗(yàn)日期2015-5-8成績課程名稱硬件技術(shù)基礎(chǔ)實(shí)驗(yàn)題目匯編語言程序設(shè)計(jì):順序程序?qū)嶒?yàn)一、 實(shí)驗(yàn)?zāi)康暮鸵?通過宏匯編(masm)上機(jī)操作,使學(xué)生掌握匯編語言源程序的編輯、匯編、連接和執(zhí)行的完整過程。2掌握匯編過程中各命令的作用及使用方法,了解匯編和連接的過程。3掌握8086/8088指令系統(tǒng)中已學(xué)指令的書寫格式、功能及其作用。4結(jié)合實(shí)例程序掌握匯編語言程序上
2、機(jī)過程,熟悉debug程序中常用命令的使用。二、實(shí)驗(yàn)內(nèi)容和原理1預(yù)習(xí)匯編程序上機(jī)操作的全過程。以下是masm5環(huán)境中運(yùn)行步驟:(同學(xué)們也可以使用cv集成編譯環(huán)境) 32位機(jī)運(yùn)行過程:編寫一個(gè)匯編語言源程序如exp1.asm,放在masm5文件夾下;(1)在dos環(huán)境下,如:d:masm 下輸入命令:edit(2)打開編輯窗口(3)輸入如下原程序后保存文件,例如 exp1.asm(4)輸入下列指令進(jìn)行編譯: d:masm masm exp1.asm回車,出現(xiàn)如下界面: microsoft(r)macro assmbler version 500 copyright(c)microsoft cor
3、p l981-1985,1987ah rights reserved object filename exp1obj: (回車)source listing nullst: (回車) croes referencsnul.crf: (回車) 0 warning errors 0 severs errors檢查錯(cuò)誤,如結(jié)果為0錯(cuò)誤 0警告則編譯成功,產(chǎn)生exp1.obj文件(5)輸入下列指令進(jìn)行鏈接: d:masmlink exp1.obj回車,出現(xiàn)如下界面: run fileexp1.exe:8 (回車)list filenul.map: (回車) libraries.lib:8 (回車)li
4、nk:warning l4021:no stack segment如結(jié)果為0錯(cuò)誤 0警告則鏈接成功,產(chǎn)生exp1.exe文件64位機(jī)運(yùn)行過程:匯編編譯器masm無法在64位下運(yùn)行,在64位下使用masm編譯器會(huì)提示不兼容,這時(shí)我們可以安裝dos虛擬機(jī),即dosbox。(1) 假設(shè)編譯器在e:masm5,就是那個(gè)有masm.exe,debug.exe,link.exe的那個(gè)文件夾(2) 輸入命令mountce:masm5(把文件夾e:masm5當(dāng)作虛擬機(jī)的c盤)(3) 然后輸入c:(進(jìn)入虛擬的c盤,其實(shí)就是e:masm5)(4) 之后就跟32位機(jī)上運(yùn)行過程一樣。2對已經(jīng)匯編連接成功的可執(zhí)行文件,
5、使用debug命令調(diào)試程序找出程序的斷點(diǎn),執(zhí)行程序,顯示有關(guān)寄存器、存儲(chǔ)單元的內(nèi)容,分析程序的結(jié)果。三、主要儀器設(shè)備 hp 242 g1四、操作方法與實(shí)驗(yàn)步驟編制程序計(jì)算z=x+y,其中x、y、z均為字型無符號(hào)數(shù)。參考源程序如下data segmentx dw 10hy dw 20hz dw ?data endscode segmentmain proc far assume cs:code, ds:datastart: push ds mov ax, 0 push ax mov ax, data mov ds, ax mov ax, x add ax, y mov z, ax ret mai
6、n endp code ends end start(1) 編輯源程序,匯編并連接之,若有錯(cuò)誤則編輯修改并重新匯編、連接,形成exe文件。(2) 分別用debug 調(diào)試程序中的t命令、d命令找到斷點(diǎn)、運(yùn)行程序、顯示程序的運(yùn)行結(jié)果。實(shí)驗(yàn)內(nèi)容與要求1. 編寫程序計(jì)算z=(a+b)-(c-d),其中a=30h,b=20h,c=10h,d=05h均為字節(jié)單元無符號(hào)數(shù)。stack segment stackdb 50 dup(0)stack endsdata segmenta db 30hb db 20hc db 10hd db 05hz db ?data endscode segmentassume
7、cs:code,ds:data,ss:stackstart: mov ax, datamov ds, axmov al, aadd al, bmov ah, dsub ah, csub ah, almov z, alcode endsend start2. 設(shè)w、x、y、z、v均為16位字單元有符號(hào)數(shù),編程計(jì)算w=(x*y-50)/z,將結(jié)果存入變量w,而余數(shù)存入變量w+2中。(x為非零數(shù),并假設(shè)x、y、z的值分別為50、20、10、15)stack segment stackdb 50 dup(0)stack endsdata segmentx dw 50hy dw 20hz dw 10hw
8、 dw ?data ends第3/7頁code segmentassume cs:code,ds:data,ss:stackstart: mov ax, datamov ds, axmov ax, ximul ysub ax, 50mov bx, zidiv bxmov w, axmov w+2,dxcode endsend start五、實(shí)驗(yàn)數(shù)據(jù)記錄和處理。6、 實(shí)驗(yàn)結(jié)果與分析 由調(diào)試過程可知,上述實(shí)驗(yàn)結(jié)果正確7、 討論、心得 在實(shí)驗(yàn)過程中,遇到了許多困難,第一次實(shí)驗(yàn),有很大程度上是對基本知識(shí)不熟悉造成的,通過查閱書籍和上網(wǎng)查資料找到了解決問題的方法,在今后的學(xué)習(xí)中,我要多注重基本知識(shí)的學(xué)習(xí)
9、,回歸課本,在課本中再延伸。本科實(shí)驗(yàn)報(bào)告課程名稱: 計(jì)算機(jī)硬件技術(shù)基礎(chǔ)(實(shí)驗(yàn)二) 實(shí)驗(yàn)地點(diǎn): 專業(yè)班級:軟件13xx班 學(xué)號(hào): 201300xxxx 學(xué)生姓名: 指導(dǎo)教師: 高勁松 2015年 5月 15 日太原理工大學(xué)學(xué)生實(shí)驗(yàn)報(bào)告學(xué)院名稱軟件學(xué)院專業(yè)班級學(xué)號(hào)學(xué)生姓名實(shí)驗(yàn)日期2015-5-15成績課程名稱硬件技術(shù)基礎(chǔ)實(shí)驗(yàn)題目匯編語言程序設(shè)計(jì):分支和循環(huán)程序?qū)嶒?yàn)一,實(shí)驗(yàn)?zāi)康暮鸵?通過分支程序設(shè)計(jì)、循環(huán)程序設(shè)計(jì)實(shí)驗(yàn),掌握無條件轉(zhuǎn)移指令、條件轉(zhuǎn)移指令的格式、功能及使用方法。2掌握分支程序的結(jié)構(gòu)、單分支和多分支程序的設(shè)計(jì)方法。3了解循環(huán)程序的基本結(jié)構(gòu)和控制循環(huán)的方法。二、實(shí)驗(yàn)內(nèi)容和原理要求學(xué)生按教師
10、指定題目進(jìn)行匯編語言程序設(shè)計(jì),并上機(jī)調(diào)試,以實(shí)現(xiàn)較復(fù)雜的程序設(shè)計(jì)。1. 已知x、y、z、max為16位的帶符號(hào)數(shù),求三個(gè)數(shù)中最大值,結(jié)果存入max單元。2. 求10個(gè)學(xué)生成績中的最高成績,結(jié)果存入max字節(jié)單元中,已知成績?yōu)樽止?jié)型。三、主要儀器設(shè)備 hp 242 g1四、操作方法與實(shí)驗(yàn)步驟db 200 dup(0)stack endsdata segmentx dw 10hy dw 20hz dw 30hmax dw ?data ends第2/6頁code segmentassume cs:code, ds:data, ss:stackstart: mov ax, datamov ds, ax
11、mov ax ,xmov bx ,ycmp ax , bxjnl nextxchg ax,bxnext: mov bx,zjnl next1xchg ax,bxnext1: mov max,axcode endsend start stack segment stackdb 200 dup(0)stack endsdata segmenta1 db 96,73,34,86,99,20,15,4,100,0max db ?data endscode segmentassume cs:code,ds:data,ss:stackstart: mov ax,datamov ds,axmov cx,10
12、mov bx,0mov al,a1bxagain: inc bxcmp a1bx,aljbe nextxchg al,a1bxnext: loop againmov max,alcode endsend start五、實(shí)驗(yàn)數(shù)據(jù)記錄和處理六、實(shí)驗(yàn)結(jié)果與分析由以上的調(diào)試步驟以及分析可知實(shí)驗(yàn)正確。七、討論、心得通過一步一步的調(diào)試可能找到錯(cuò)誤的原因。寫循環(huán)使用loop,其中處理數(shù)據(jù)的形式,即a1bx。 忘記其中的語句的語義是否正確可以使用調(diào)試開驗(yàn)證是否正確。在自己一步步的調(diào)試過程中,我的動(dòng)手能力和實(shí)際編程能力得到了極大的提高。實(shí)驗(yàn)地點(diǎn)指導(dǎo)教師高勁松本科實(shí)驗(yàn)報(bào)告課程名稱: 計(jì)算機(jī)硬件技術(shù)基礎(chǔ)(實(shí)驗(yàn)三)
13、實(shí)驗(yàn)地點(diǎn): 專業(yè)班級:軟件13xx班 學(xué)號(hào): 201300xxxx 學(xué)生姓名: 指導(dǎo)教師: 高勁松 2015年 5月 22 日太原理工大學(xué)學(xué)生實(shí)驗(yàn)報(bào)告學(xué)院名稱軟件學(xué)院專業(yè)班級學(xué)號(hào)學(xué)生姓名實(shí)驗(yàn)日期2015-5-22成績課程名稱硬件技術(shù)基礎(chǔ)實(shí)驗(yàn)題目 匯編語言程序設(shè)計(jì):綜合程序設(shè)計(jì)實(shí)驗(yàn)一,實(shí)驗(yàn)?zāi)康暮鸵?通過分支程序設(shè)計(jì)、循環(huán)程序設(shè)計(jì)實(shí)驗(yàn),掌握無條件轉(zhuǎn)移指令、條件轉(zhuǎn)移指令的格式、功能及使用方法。2掌握分支程序的結(jié)構(gòu)、單分支和多分支程序的設(shè)計(jì)方法。3了解循環(huán)程序的基本結(jié)構(gòu)和控制循環(huán)的方法。4掌握通過dos中斷調(diào)用使用鍵盤和顯示器的方法。二、實(shí)驗(yàn)內(nèi)容和原理 編寫一個(gè)匯編程序,要求對鍵盤輸入的大寫字母用小
14、寫字母顯示出來,鍵盤輸入的小寫字母用大寫字母顯示出來。三、主要儀器設(shè)備 筆記本電腦四、操作方法與實(shí)驗(yàn)步驟 stack segment stackdb 200 dup(0)stack endsdata segmentx db 0;data ends第2/5頁code segmentassume cs:code,ds:data,ss:stackstart: mov ax,datamov ds,axmov ah,01hint 21hcmp al,ajnl nextmov x,a-aadd x,almov ah,02hmov dl,xint 21hmov ah,4chint 21hnext: mov
15、x,a-aadd x,almov ah,02hmov dl,xint 21hmov ah,4chcode endsend start五、實(shí)驗(yàn)數(shù)據(jù)記錄和處理六、實(shí)驗(yàn)結(jié)果與分析 由上述過程得知,實(shí)驗(yàn)結(jié)果正確。七、討論、心得 通過使用-u來進(jìn)行反編譯也是一種很好的進(jìn)行測試的方法。并且對于一些并不熟悉的ascall碼有時(shí)可以通過直接用字符的方法去做,省去記憶字符。實(shí)驗(yàn)地點(diǎn)指導(dǎo)教師高勁松本科實(shí)驗(yàn)報(bào)告課程名稱: 計(jì)算機(jī)硬件技術(shù)基礎(chǔ)(實(shí)驗(yàn)四) 實(shí)驗(yàn)地點(diǎn): 專業(yè)班級:軟件13xx班 學(xué)號(hào): 201300xxxx 學(xué)生姓名: 指導(dǎo)教師: 高勁松 2015年 5月 29太原理工大學(xué)學(xué)生實(shí)驗(yàn)報(bào)告學(xué)院名稱軟件學(xué)院專業(yè)
16、班級學(xué)號(hào)學(xué)生姓名實(shí)驗(yàn)日期2015-5-29成績課程名稱硬件技術(shù)基礎(chǔ)實(shí)驗(yàn)題目匯編語言程序設(shè)計(jì):綜合程序設(shè)計(jì)實(shí)驗(yàn)一,實(shí)驗(yàn)?zāi)康暮鸵?通過分支程序設(shè)計(jì)、循環(huán)程序設(shè)計(jì)實(shí)驗(yàn),掌握無條件轉(zhuǎn)移指令、條件轉(zhuǎn)移指令的格式、功能及使用方法。2掌握分支程序的結(jié)構(gòu)、單分支和多分支程序的設(shè)計(jì)方法。3了解循環(huán)程序的基本結(jié)構(gòu)和控制循環(huán)的方法。 4掌握通過dos中斷調(diào)用使用鍵盤和顯示器的方法。二、實(shí)驗(yàn)內(nèi)容和原理編寫一個(gè)匯編程序,使得從鍵盤上輸入十個(gè)以內(nèi)的字符,以輸入空格結(jié)束,然后按數(shù)字、字母和其它符號(hào)三類統(tǒng)計(jì)各自的個(gè)數(shù),在屏幕上依次顯示出統(tǒng)計(jì)結(jié)果。完善下面的原程序code segmentmain proc farassume
17、 cs:codestart : push dssub ax,axpush axmov bh,0; 統(tǒng)計(jì)數(shù)字的個(gè)數(shù)mov bl,0; 統(tǒng)計(jì)字母的個(gè)數(shù)mov dh,0; 統(tǒng)計(jì)其它字符的個(gè)數(shù)mov cx,10aa1:cmp cx,0jz stop ;輸入字符超過10個(gè)mov ah,1int 21h ;從鍵盤接收一個(gè)字符cmp al,20hjz stopcmp al,0jb cc1cmp al,9ja cc1inc bh自行寫出比較是否為字母的情況 cc2:inc dhdec cxstop:mov dl,bhmov ah,02int 21h自行寫出輸出字母的個(gè)數(shù)自行寫出輸出其它字符的個(gè)數(shù)retmain
18、 endpcode endsend 三、主要儀器設(shè)備 hp 242 g1四、操作方法與實(shí)驗(yàn)步驟stack segment stackdb 200 dup(0)stack endsdata segmentx db 0data endscode segmentassume cs:code,ds:data,ss:stackstart: mov ax,datamov ds,axsub ax,axmov bx,0mov dx,0mov cx,10aa1: cmp cx,0jz stopmov ah,1int 21h第3/5頁cmp al,20hjb stopcmp al,0jb cc2cmp al,9ja cc1inc bhjmp next1cc1: cmp al,ajb cc2cmp al,zjb nextcmp al,ajb cc2cmp al,zja cc2next: inc bljmp next1cc2: inc dhnext1: loop aa1stop: mov ah,2mov dl,bhadd dl,xint 21hmov ah,2mov dl,bladd dl,xint 21hmov ah,2m
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 物業(yè)租賃管理合同協(xié)議
- 專柜裝修合同裝修合同協(xié)議
- 房屋轉(zhuǎn)讓協(xié)議合同書
- 聘請勞務(wù)合同
- 安置房買賣協(xié)議合同
- 小學(xué)六英語試卷答案
- 賣魚銷售合同范本
- 個(gè)人一周工作計(jì)劃
- 冷凍品供貨合同范本
- 三年級下冊音樂教案
- 玫瑰復(fù)合蘋果醬的制作工藝研究
- 通宣理肺丸(修訂版)
- 掌握團(tuán)隊(duì)合作的基本原則
- 《水稻病蟲害及防治》課件
- 藥品網(wǎng)絡(luò)銷售監(jiān)督管理辦法培訓(xùn)
- 《動(dòng)物細(xì)胞工程制藥》課件
- 本校教材選用組織機(jī)構(gòu)及職責(zé)-選用程序及要求
- 材料供應(yīng)履約信用證明:免修版模板范本
- 門式起重機(jī)、架橋機(jī)作業(yè)前安全隱患排查表
- 不合格品處置記錄表(標(biāo)準(zhǔn)版)
- 德語現(xiàn)代主義文學(xué)-浙江大學(xué)中國大學(xué)mooc課后章節(jié)答案期末考試題庫2023年
評論
0/150
提交評論