第一篇:微機檢測與維修實驗報告
?
更多企業學院:
《中小企業管理全能版》 183 套講座+89700 份資料
《總經理、高層管理》 49 套講座+16388 份資料
《中層管理學院》 46 套講座+6020 份資料
《國學智慧、易經》 46 套講座
《人力資源學院》 56 套講座+27123 份資料
《各階段員工培訓學院》 77 套講座+ 324 份資料
《員工管理企業學院》 67 套講座+ 8720 份資料
《工廠生產管理學院》 52 套講座+ 13920 份資料
《財務管理學院》 53 套講座+ 17945 份資料
《銷售經理學院》 56 套講座+ 14350 份資料
《銷售人員培訓學院》 72 套講座+ 4879 份資料
?
更多企業學院:
《中小企業管理全能版》 183 套講座+89700 份資料
《總經理、高層管理》 49 套講座+16388 份資料
《中層管理學院》 46 套講座+6020 份資料
《國學智慧、易經》 46 套講座
《人力資源學院》 56 套講座+27123 份資料
《各階段員工培訓學院》 77 套講座+ 324 份資料
《員工管理企業學院》 67 套講座+ 8720 份資料
《工廠生產管理學院》 52 套講座+ 13920 份資料
《財務管理學院》 53 套講座+ 17945 份資
料
《銷售經理學院》 56 套講座+ 14350 份資料
《銷售人員培訓學院》 72 套講座+ 4879 份資料
?
更多企業學院:
《中小企業管理全能版》 183 套講座+89700 份資料
《總經理、高層管理》 49 套講座+16388 份資料
《中層管理學院》 46 套講座+6020 份資料
《國學智慧、易經》 46 套講座
《人力資源學院》 56 套講座+27123 份資料
《各階段員工培訓學院》 77 套講座+ 324 份資料
《員工管理企業學院》 67 套講座+ 8720 份資料
《工廠生產管理學院》 52 套講座+ 13920 份資料
《財務管理學院》 53 套講座+ 17945 份資料
《銷售經理學院》 56 套講座+ 14350 份資料
《銷售人員培訓學院》 72 套講座+ 4879 份資料
江 西 科 技 師 范 學 院
實 驗 報 告
課 程
微機的檢測與維修
院 系
教育學院
班 級
教育技術學
學 號
20092295
姓 名
鄧單單
報
告
規
格
一、實驗目的
二、實驗原理
三、實驗儀器
四、實驗方法及步驟
五、實驗記錄及數據處理
六、誤差分析及問題討論
目 目
錄
1.
計算機硬件組裝
2.BIOS_CMOS解析與應用
3.4.5.6.7.8.9.10.11.12.13.14.15.每次實驗課必須帶上此本子,以便教師檢查預習情況和記錄實驗原始數據。
實驗時必須遵守實驗規則。用正確的理論指導實踐袁必須人人親自動手實驗,但反對盲目亂動,更不能無故損壞儀器設備。
這是一份重要的不可多得的自我學習資料袁它將記錄著你在大學生涯中的學習和學習成果。請你保留下來,若干年后再翻閱仍將感到十分新鮮,記憶猶新。它將推動你在人生奮斗的道路上永往直前!
一、實驗課程名稱
微機檢測與維修 二、實驗項目名稱
BIOS_CMOS 解析與應用
三、實驗目的和要求
對 BIOS 和 CMOS 的功能認識 四、實驗內容和原理
1.BIOS(Basic Input/Output System)即基本輸入/輸出系統,它為計算機提供最底層、最直接的硬件控制與支持。熟悉 BIOS 的設置對于使用和維護計算機都有很大的幫助,用戶可以在 BIOS 中設置硬件相關的工作參數,通過這些參數的設置可以改善計算機系統運行的性能。
2.CMOS,全稱 Complementary Metal Oxide Semiconductor,即互補金屬氧化物半導體,是計算機主板上的一塊可讀寫的 RAM 芯片,用來保存當前系統的硬件配置和用戶對某些參數的設定,由主板的 CMOS 電池供電。
五、主要儀器設備
計算機 六、操作方法與實驗步驟
1.不同類型的 BIOS 進入 BIOS 設置程序的按鍵也不同,Award BIOS 按【Del】鍵進入,AMI BIOS 按【Del】鍵或【Esc】鍵進入,Phoenix BIOS 按【F2】鍵進入。當計算機自檢出錯時,會停止在自檢畫面,這時可以根據提示按相應的鍵進入。在 BIOS 設置界面中可以進行的操作如下。
【←】、【→】、【↑】、【↓】鍵:在各設置項目間切換移動。
【F1】或【Alt+H】鍵:彈出 General Help 窗口,并顯示所有功能鍵的說明。【+】或【Page Up】鍵:切換選項設置值(遞增)。【-】或
【Page Down】鍵:切換選項設置值(遞減)。【F5】鍵:載入選項修改
前的設置值,即上一次設置的值。【F6】鍵:載入選項的 BIOS 默認值,即最安全的設置值。【F7】鍵:載入選項的最優化默認值。【F10】鍵:保存并退出 BIOS 設置畫面。【Esc】鍵:回到前一畫面或是主畫面,或從主畫面中結束設置程序。另外按【Esc】鍵也可不保存 BIOS 設置程序并要求退出設置。【Enter】鍵:確認執行、顯示選項的所有設置值并進入選項子菜單。
七、實驗結果與分析、心得
BIOS 的主要設置選項有:
1、基本參數設置:包括系統時鐘、顯示器類型等。2、磁盤驅動器設置:包括自動檢測到硬盤、啟動順序。3、硬盤檢測、鍵盤設置:包括加電是否檢測到硬盤、鍵盤類型、鍵盤參數等。4、存儲器設置:包括存儲器容量、讀寫時序等等。5、安全設置:包括硬盤分區保護、開機口令、Setup口令等。6、電源管理設置:喚醒功能、IDE設備斷電方式等。7、PCI局部總線參數設置:關于即插即用的功能設置、PCI插槽IRQ中斷請求號等。8、主板集成接口設置:包括板上FDC軟驅接口、串/并口等一些設置。
第二篇:操作系統故障檢測與維修實驗報告
實驗一 創建MS-DOS啟動盤實驗
一、實驗目的和要求:
了解并掌握MS-DOS啟動盤的創建方法。
二、實驗內容: MS-DOS啟動盤的創建。
三、實驗準備 計算機
四、實驗步驟
1、準備文件
(1)將GHOST For DOS(GHOST.EXE)拷貝到C:EasyBootdisk1下面;(2)將其它你需要刻錄的軟件也拷貝到C:EasyBootdisk1下面;(3)也可將GOHST的系統分區備份也拷貝到C:EasyBootdisk1下面;
2、制作中文啟動菜單
運行EasyBoot,單擊“屏幕布局”選項卡,單擊“文本顯示”選項卡,定義啟動菜單的文字屬性,設置一些光盤制作信息;
在“菜單條”選項卡中用鼠標單擊該界面右下角窗口中的對應條目,命令參數均采用軟件的默認值,回到“文件”選項卡,按“保存”按鈕,軟件即會自動生成所需的啟動文件和菜單文件。
3、制作ISO文件
將相應的啟動文件dos98.img拷貝到C:EasyBootdisk1ezboot目錄下,切換到“文件”選項卡中按下“制作ISO”按鈕,選擇光盤文件目錄為:C:EasyBootdisk1,設定引導文件為C:EasyBootdisk1ezbootloader.bin,在“選項”欄選中“優化光盤文件”項,設置輸出的ISO文件名為:C:EasyBootisoGHOST.iso,按“制作”按鈕即可生成一個GHOST啟動安裝光盤的ISO文件。
4、刻錄光盤
用DAEMON Tools等虛擬光驅工具加載 Winxp.iso 文件,確認文件無損,用燒錄軟件軟件Nero將其燒錄到光盤上。
5、啟動并運行GHOST 用GHOST啟動光盤啟動電腦,運行GHOST.實驗二
網絡連接故障診斷實驗
一、實驗目的和要求:
了解并掌握網絡連接故障的診斷與維護方法。
二、實驗內容:
對網絡連接故障進行診斷與維護。
三、實驗準備 計算機
四、實驗步驟
1、引起連接問題的可能原因
(1)、網絡適配器和交換機端口的雙工級別或傳輸速度設置不匹配。(2)、傳輸速率為 10/100 兆比特每秒(Mbps)的網絡適配器或交換機無法正常交換。有些自動探測設置不能正確檢測某些網絡適配器的速度。
(3)、網絡適配器與母板或其他的硬件或軟件組件和驅動程序不兼容。
2、解決方法
(1)、使用 Ping 或 PathPing 命令行工具測試基礎連接性;(2)、使用 Ping 來隔離網絡硬件問題和不兼容的配置;(3)、使用 PathPing 檢測多躍點行程中的數據包丟失。
實驗三 IE 常用錯誤修復實驗
一、實驗目的和要求:
了解并掌握IE常見故障的診斷與維護方法。
二、實驗內容:
對IE常見故障進行診斷與維護。
三、實驗準備 計算機
四、實驗步驟
1、網絡連接正常但無法打開網頁,提示404 not found等錯誤信息
① 打開IE, 點“工具” →“Internet 選項”→選擇“高級”選項卡→在“重置Internet Explorer設置”中點“重置” ; ② 在“設置”列表中找到“仿冒網站篩選器”,選擇“關閉自動網站檢查”。
2、IE發生內部錯誤,窗口被關閉
①關閉過多的ie窗口。如果在運行需占大量內存的程序,建議ie窗口打開數不要超過5個;
②降低ie安全級別。執行“工具→internet選項”菜單,選擇“安全”選項卡,單擊“默認級別”按鈕,拖動滑塊降低默認的安全級別; ③將ie升級到最新6.0及以上版本。
3、出現運行錯誤
①啟動ie,執行“工具→internet選項”菜單,選擇“高級”選項卡,選中“禁止腳本調試”復選框,最后單擊“確定”按鈕即可; ②將ie瀏覽器升級到最新版本。
4、ie無法打開新窗口
單擊“開始→運行”,依次運行“regsvr32 actxprxy.dll”和“regsvr32 shdocvw.dll”將這兩個dll文件注冊,然后重啟系統。如果還不行,則可以將mshtml.dll、urlmon.dll、ms.dll、browseui.dll、oleaut32.dll、shell32.dll也注冊一下。
6、脫機卻無法瀏覽本機上的網頁
①可用直接在“臨時文件夾”中搜索的方法來激活它。按下win+f,在“包含文字”處輸入部分記憶中的關鍵字,在“搜索”處按“瀏覽”按鈕選擇ie臨時文件夾的地址,如“c:\windows\temporaryinternetfiles”,單擊“開始查找”,在結果列表里雙擊目標頁打開。? ②可以嘗試用騰訊的te等瀏覽器來脫機瀏覽。
實驗四 注冊表故障維修實驗
一、實驗目的和要求:
了解并掌握常見注冊表故障的診斷與維護。
二、實驗內容:
對常見注冊表故障的診斷與維護。
三、實驗準備 計算機
四、實驗步驟
1、“我的文檔”無法打開,提示被禁用
2、單擊鼠標右鍵無法彈出右鍵菜單
3、刪除文件時提示“文件正在使用無法刪除”
4、注冊表不能使用
5、用卸載程序無法將軟件卸載
實驗五 GHOST 軟件的使用
一、實驗目的和要求:
了解并掌握的數據的備份與還原的軟件的使用方法。
二、實驗內容:
使用GHOST軟件分區備份到鏡像文件
三、實驗準備 計算機、GHOST盤
四、實驗步驟
1、運行GHOST主界面后,選擇菜單“Local→Partition→to Image”。
2、選擇要備份的硬盤,故此直接單擊【OK】確定。
3、選擇備份的分區,如第一個分區,單擊OK。
4、選擇備份檔案存放的路徑與文件名,如D:﹨Win XP。
5、用【Tab】鍵將光標移動到【Save】,回車確定后,出現備份文件壓縮類型提示框,有三種選擇;
6、用【Tab】鍵將光標移動到【Fast】,回車確定后,屏幕給出了確認選擇對話框。
7、選擇“Yes”后,即開始執行復制過程。
8、等待一段時間,屏幕給出了成功提示框,至此分區備份結束。
第三篇:微機實驗報告
自動化 學院 物聯網 專業 1 班 學號
姓名 協作者 教師評定
實驗一 操作訓練及數碼轉換實驗
一、實驗目的
1)掌握80x86微機原理及接口技術教學實驗系統的操作,熟悉Wmd86聯級集成開發調試軟件的操作環境。
2)掌握不同進制數及數碼相互轉換的程序設計方法。
二、實驗設備
PC一臺,td-pite微機/單片機教學實驗裝置一套。
三、實驗內容與步驟 實驗程序:
1、STAK SEGMENT STACK
DW 64 DUP(?)STACK ENDS DATA SEGMENT
ORG 0500H DATA1 DB 00H, 01H,02H,03H,04H,05H,06H,07H,08H,09H,10H
DB 11H,12H,13H,14H,15H
ORG 0600H DATA2 DB 16 DUP(?)DATA ENDS CODE SEGMENT
ASSUME CS:CODE,DS:DATA START: MOV AX,DATA
MOV DS,AX
MOV SI,OFFSET DATA1
MOV DI, OFFSET DATA2
MOV CX,0010H A1: MOV AL,[SI]
MOV [DI],AL
INC SI
INC DI
LOOP A1
MOV AH,4CH INT 21H CODE ENDS END START 編譯連接后使用U命令查看DS地址為0208 使用G命令運行再用D命令查看結果正確
2、將ASCLL碼表示的十進制數轉換成二進制數 參考程序 略 利用E命令修改0500開始的數據輸入34 35 后G命令運行再用D命令查看結果為DATA:0510 2D正確輸入為12 95時對應結果為0C 5F 編程練習一:
1)編程實現將十進制數的ASCLL碼轉換成BCD碼 要求:用E命令從鍵盤輸入的五位十進制數的ASCLL碼已存放在0500H起始的內存單元內(例25H、30H、32H、34H、65H),把它轉換成BCD碼后,再分別存入050AH起始的內存單元內。若輸入的不是十進制數的ASCLL碼,則對應的結果的存放單元內容為“FF” 程序代碼:
STACK SEGMENT STACK DW 64 DUP(?)STACK ENDS DATA SEGMENT ORG 0500H DATA1 DB 25H,30H,32H,34H,65H ORG 050AH DATA2 DB 5 DUP(?)DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX, DATA MOV DS, AX MOV SI,OFFSET DATA1 MOV DI,OFFSET DATA2 MOV CL,5 A1: MOV AL, [SI] CMP AL,30H JB A2 CMP AL,39H JA A2 AND AL, 0FH MOV [DI], AL JMP NEXT A2: MOV BYTE PTR [DI], 0FFH JMP NEXT NEXT: INC SI INC DI DEC CL JNZ A1 MOV AH,4CH INT 21H CODE ENDS END START 實驗結果:
自動化 學院 物聯網 專業 1 班 學號
姓名 協作者 教師評定
實驗二:運算類編程實驗
一、實驗目的
1)掌握使用運算類指令編程及調試方法。
2)掌握運算類指令對各狀態標志位的影響及其測試方法。3)學習使用軟件監視變量的方法。
二、實驗設備
PC一臺,td-pite微機/單片機教學實驗裝置一套。
三、實驗內容及步驟
4、除法運算
題目:十進制的除法。被除數和除數均已非壓縮BCD數形式存放在內存中。試驗程序:
STACK SEGMENT STACK DW 64 DUP(?)STACK ENDS DATA SEGMENT DATA1 DB 2 DUP(?)DATA2 DB 1 DUP(?)RESULT DB 2 DUP(?)DATA ENDS CODE SEGMENT ASSUME CS: CODE,DS:DATA START: MOV AX, DATA MOV DS, AX CALL INIT MOV SI, OFFSET DATA2 MOV BL, [SI] MOV SI,OFFSET DATA1 MOV DI, OFFSET RESULT MOV CL,0AH MOV AL,[SI] MUL CL ADD AL,[SI+01H] MOV AH,00H DIV BL MOV AH , 00H DIV CL MOV [DI],AX MOV AH,4CH INT 21H INIT: MOV SI,OFFSET RESULT MOV CX,0002H MOV AX,00H A1:MOV [SI],AL INC SI LOOP A1 RET CODE ENDS END START 用e命令賦值被除數09 02 除數04 g命令運行 d命令查看0072:0003 顯示02 03 運行結果:
編程練習
2)已知在起始地址為0500H的內存單元中,存放一串數據:10H,20H,30H,40H,50H,60H.請編程求其平均值,并把平均值轉換成BCD數存入0500H單元中。程序代碼:
STACK SEGMENT STACK DW 64 DUP(?)STACK ENDS DATA SEGMENT ORG 0500H DATA1 DW 10H,20H,30H,40H,50H,60H ORG 0510H DATA2 DB ? DATA ENDS CODE SEGMENT ASSUME CS:CODE ,DS:DATA START: MOV AX,DATA MOV DS,AX MOV SI,OFFSET DATA1 MOV DI,OFFSET DATA2 MOV AX,[SI] MOV CL, 5 A1: MOV BX,[SI+2] ADD AX,BX INC SI INC SI DEC CL JNZ A1 MOV BL,06H DIV BL MOV BL,0AH DIV BL MOV BH,AH MOV BL,10H MUL BL ADD AL,BH MOV [DI],AL MOV AH,4CH INT 21H CODE ENDS END START 用g命令運行再用d命令查看0772:0510中內容為56
自動化 學院 物聯網 專業 1 班 學號311300 姓名 協作者 教師評定
實驗三:分支、循環及子程序設計實驗
一、實驗目的
1)了解分支、循環子程序等程序的基本結構。
2)掌握分支程序、循環結構程序的設計和調試方法。3)掌握子程序的定義和調試方法。
二、實驗設備
PC一臺,td-pite微機/單片機教學實驗裝置一套。
三、實驗內容和步驟 3.名次表 程序代碼:
STACK SEGMENT STACK DW 64 DUP(?)STACK ENDS DATA SEGMENT ORG 0100H DATA1 DB 10 DUP(?)ORG 0200H DATA2 DB 10 DUP(?)DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV ES,AX MOV SI,OFFSET DATA1 MOV CX,000AH MOV DI,OFFSET DATA2 A1: CALL AA1 MOV AL,0AH SUB AL,CL INC AL MOV BX,DX MOV [BX+DI],AL LOOP A1 MOV AH,4CH INT 21H AA1: PUSH CX MOV CX,000AH MOV AL, 00H MOV BX,0100H MOV SI,BX A2: CMP AL,[SI] JAE A3 MOV AL,[SI] MOV DX,SI SUB DX,BX A3: INC SI LOOP A2 ADD BX,DX MOV AL,00H MOV [BX],AL POP CX RET CODE ENDS END START 實驗步驟:
匯編連接生成exe文件
用e命令輸入:3CH,40H,47H,61H,4FH,5DH,52H,30H,56H,45H,等十個成績。再用g命令運行d命令查看0722:0200.編程練習
2)有3個8位二進制數連續存放在0200H開始的內存單元中,設他們之中至少有兩個數是相同的。編寫程序找出與這兩個數不同的數,把該數所在地址送到0204H單元,若三個數都相同則送0FFFFH到0204單元。程序代碼:
STACK SEGMENT STACK DW 64 DUP(?)STACK ENDS DATA SEGMENT ORG 0200H DATA1 DB ? DATA2 DB ? DATA3 DB ? ORG 0204H DATA4 DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS ,AX LEA SI,DATA1 LEA SI,DATA4 MOV AL,[SI] MOV AH,[SI+1] MOV BL,[SI+2] CMP AL,AH JZ A1 CMP AL,BL JZ A2 MOV [DI],SI JMP A4 A2: ADD SI,1 MOV [DI],SI JMP A4 A1: CMP AL,BL JZ A3 ADD SI,2 MOV [DI],SI JMP A4 A3: MOV [DI] ,0FFFFH A4:MOV AH,4CH INT 21H CODE ENDS END START 實驗步驟:e0772:0200命令輸入數據01 01 01g命令運行 的命令查看得到
運行結果:
第四篇:微機實驗報告
微機實驗報告
曾東明
實驗一 輸出字符‘A’
一、實驗目的
1.通過這個簡單的例子熟悉在微機上建立、匯編、鏈接和運行8086/8088匯編語言程序的過程。
2.掌握字符的顯示方法。3.學習DOS系統功能調用。
二、實驗內容
輸出字符?A?,程序流程圖如圖1-1所示。
圖1-1輸出字符?A?程序流程圖
源程序如下:
CODE
SEGMENT
ASSUME
CS:CODE
MOV
DL, 'A'
MOV
AH, 2
INT
21H
MOV
AH, 4CH
INT
21H
CODE
ENDS
END
三、實驗設備
PC機一臺,MASM匯編程序
四、實驗步驟
1.用記事本將源程序輸入,并存盤。
注意:源程序是用匯編語言語句編寫的程序,并不能為機器所識別。源程序的擴展名為.ASM 2.用宏匯編程序將.ASM源程序匯編成機器碼的目標文件(OBJ文件)3.用LINK程序產生執行文件(EXE文件)4.執行程序
實驗結果:
五、心得體會
第一次經歷了匯編語言的上機過程,對在計算機上進行匯編語言程序設計的步驟不是很熟悉,對命令提示符的一些操作命令不懂,后來查閱了一些資料,比如可以在window7下按住shift,點擊鼠標右鍵,在彈出的窗口里就可以打開命令提示符了。
六、思考題
1.請說出一個完整的匯編程序從編寫到運行所需的步驟。(1)用編輯程序建立ASM源程序文件
(2)用宏匯編程序將.ASM源程序匯編成機器碼的目標文件(OBJ文件)(3)用LINK程序產生執行文件(EXE文件)(4)在DOS命令行直接鍵入文件名執行該文件 2.修改源程序,改變屏幕顯示的內容。修改的源程序: CODE
SEGMENT
ASSUME
CS:CODE
MOV
DL, 'D'
MOV
AH, 2
INT
21H
MOV
AH, 4CH
INT
21H
CODE
ENDS
END
實驗二 數據的顯示實驗
一、實驗目的
1.掌握屏幕上顯示各種進制數據的方法。
2.掌握將內存中的二進制數轉換為十進制、十六進制數的方法。
3.學會子程序的編寫、調用及數據傳遞方法。
二、實驗內容
1.把BX中的無符號二進制數轉換成十進制數,在屏幕上顯示出來。
2.把BX中的帶符號二進制數轉換成十進制數,在屏幕上顯示出來。
3.求一個數據塊(由10個單字節的無符號數組成)中的最大元素,并將結果以十進制數的形式在屏幕上顯示出來。
4.求一個數據塊(由20個單字節的帶符號數組成)中的正數之和(和不超過字)和負數之和(和不超過字),并在屏幕上用十進制數的形式分別顯示出兩個和。
5.將寄存器BX中的二進制數轉換成十六進制數,并在屏幕上顯示出來。從高到低依次取出4位二進制數變為ASCII碼輸出即可。
三、實驗設備:
PC機一臺、masm匯編程序
四、實驗步驟:
依照前面介紹的方法,對每一個實驗內容對應的程序進行編輯、編譯、連接和運行,直到達到實驗要求。
1.實驗內容1(1)實驗內容1的流程圖,如圖所示:
(2)實驗內容1的程序:
CODE SEGMENT
ASSUME
CS: CODE
DEC_DIV MACRO
MOV
AX, BX
MOV
DX, 0
DIV
CX
MOV
BX, DX
MOV
DL, AL
ADD
DL, 30H
MOV
AH, 2
INT
21H
ENDM
START: MOV
BX, 0FFFH
MOV
CX, 1000
DEC_DIV
MOV
CX, 100
DEC_DIV
MOV
CX, 10
DEC_DIV
MOV
CX, 1
DEC_DIV
MOV
AH, 4CH
INT
21H
CODE ENDS
END
START(3)實驗結果:
2.實驗內容2(1)實驗容1的程序: DATA SEGMENT A DW 1000 B DW 100 C DW 10 D DW 1 DATA ENDS CODE SEGMENT
ASSUME
CS: CODE,DS:DATA
START: MOV
AX,DATA
MOV
DS,AX
MOV
BX, 0FFEFH;-0017的補碼是0FFEFH
OR BX,BX
JNS NEXT
NEG BX
AND BH,7FH
MOV DL,2DH
MOV AH,2
INT 21H
NEXT:
MOV
SI,OFFSET A
CALL
DEC_DIV
MOV
SI,OFFSET B
CALL
DEC_DIV
MOV
SI,OFFSET C
CALL
DEC_DIV
MOV
SI,OFFSET D
CALL
DEC_DIV
MOV
AH, 4CH
INT
21H
DEC_DIV PROC
NEAR
MOV CX, [SI]
MOV
AX, BX
MOV
DX, 0
DIV
CX
MOV
BX, DX
MOV
DL, AL
ADD
DL, 30H
MOV
AH, 2
INT
21H
RET
DEC_DIV ENDP
CODE ENDS
END
START(2)實驗結果:
3.實驗內容3(1)實驗內容3的流程圖,如圖所示:
(2)實驗3的程序: DATA
SEGMENT
BLOCK
DB 1,0,5,7,10,30,100,127,90,80
RESULT
DB
?,?
BUF
DB
'MAX IS:$' DATA
ENDS CODE
SEGMENT
ASSUME
CS:CODE,DS:DATA
BEGIN
PROC
FAR
MOV
AX, DATA
MOV
DS, AX
MOV
CX, 9
LEA
SI, BLOCK
MOV
AL, [SI]
X1: INC
SI
CMP
AL, [SI]
JAE
X2
MOV
AL, [SI]
X2: LOOP
X1
MOV
RESULT, AL
MOV DX, OFFSET BUF
MOV AH, 9
INT 21H
MOV
BL,RESULT
CBW
MOV
CX, 1000
CALL
DEC_DIV
MOV
CX, 100 CALL
DEC_DIV MOV
CX, 10 CALL
DEC_DIV
MOV
CX, 1
CALL
DEC_DIV
MOV
AH, 4CH
INT
21H
DEC_DIV PROC
NEAR
MOV
AX, BX
MOV
DX, 0
DIV
CX
MOV
BX, DX
MOV
DL, AL
ADD
DL, 30H
MOV
AH, 2
INT
21H
RET
DEC_DIV ENDP
BEGIN
ENDP
CODE
ENDS
END
BEGIN(3)實驗3的運行結果:
4.實驗內容4(1)實驗內容4的流程圖,如圖所示:
(2)實驗內容4程序: DATA
SEGMENT
BLOCK DB
-1,-2,-3,-4,-5,-6,-7,-8,-9,-10
DB
11,12,13,14,15,16,17,18,19,20
POSIT DW
?
NEGAT DW
?
BUF1
DB
'POSIT:$'
BUF2
DB
'NEGAT:$'
DATA
ENDS
CODE SEGMENT
ASSUME
CS:CODE,DS:DATA
START PROC
MOV
AX, DATA
MOV
DS, AX
MOV
BX, OFFSET BLOCK
MOV
SI, 0
MOV
DI, 0
MOV
CX, 20
X1: MOV
AL, [BX]
CBW
CMP
AX, 0
JGE
X3
ADD
DI, AX
JMP
X2
X3: ADD
SI, AX
X2: INC
BX
LOOP
X1
MOV
POSIT, SI
MOV
NEGAT, DI
MOV DX, OFFSET BUF1
MOV AH, 9
INT 21H
MOV
BX,POSIT
MOV
CX, 1000
CALL
DEC_DIV
MOV
CX, 100
CALL
DEC_DIV
MOV
CX, 10
CALL
DEC_DIV
MOV
CX, 1
CALL
DEC_DIV
MOV
DL,0AH
MOV
AH,2
INT
21H
MOV DX, OFFSET BUF2
MOV AH, 9
INT 21H
MOV BX,NEGAT
NEG BX
AND BH,01111111B
MOV DL,2DH;顯示負號
MOV AH,2
INT 21H
MOV
CX, 1000
CALL
DEC_DIV
MOV
CX, 100
CALL
DEC_DIV
MOV
CX, 10
CALL
DEC_DIV
MOV
CX, 1
CALL
DEC_DIV
MOV
AH, 4CH
INT
21H
DEC_DIV PROC
NEAR
MOV
AX, BX
MOV
DX, 0
DIV
CX
MOV
BX, DX
MOV
DL, AL
ADD
DL, 30H
MOV
AH, 2
INT
21H
RET
DEC_DIV ENDP
CODE ENDS
END
START
(3)實驗結果:
5.實驗內容5(1)實驗內容5的流程圖,如圖所示:
圖2-4 內容5流程圖
(2)實驗內容5的源程序,參考如下:
CODE
SEGMENT
ASSUME
CS:CODE
BINHEX PROC
FAR
MOV
CH,4
MOV
BX,1000
ROTATE: MOV
CL,4
ROL
BX,CL
MOV
DL,BL
AND
DL,0FH
ADD
DL,30H
CMP
DL,3AH
JL
OUTPUT
ADD
DL,7
OUTPUT: MOV
AH,2
INT
21H
DEC
CH
JNE
ROTATE MOV
DL,'H' MOV
AH,2 INT
21H
MOV
AH,4CH
INT
21H
BINHEX ENDP
CODE ENDS
END
BINHEX(3)實驗結果:
五、心得體會 實驗內容1:
宏定義必須先定義,后調用,自己剛開始時把宏定義放在調用的后面,導致程序出錯。看了生產的LIST給出的源程序和目標程序,發現每個宏調用處,通過宏擴展,宏體中的指令的機器代碼被插入到宏調用處,不節省內存單元,但相對于子程序,簡化了源程序。
實驗內容2:
剛開始的時候給BX寄存器送負值,比如-17,我寫成了1000 0000 0001 0001 即 MOV BX,8011H,后來發現顯示出來的數不是-17。經過思考,懂得原來負數的表示要用補碼,下面是兩種LIST 文件里對應地方的目標程序和源程序,可以看出轉化為目標程序的時候,用補碼表示。0000 BB FFEF 0000 BB FFEF
START: MOV
BX,-0011H
START: MOV
BX, 0FFEFH
實驗內容3:求一個數據塊中最大元素的時候,把數據塊中的第一個元素AL中,并通過循環把其余的元素和AL比較,如果新元素較大的話就取代原來的元素放到AL中。比較完成后,把最大的元素放到預先為其保留的地址中,注意要控制的次數CX,是數據塊的個數減一。
LOOP 標號
功能相當于
DEC CX JNZ 標號 實驗內容4:
回車和換行的效果不一樣。顯示字符串的時候要注意用$。
因為要將正數與負數分別累加,這時候需要分支,而分支的條件有很多種,比如跟0比較大小,比如通過提取符合位來判斷,只要能正確實現分支都可以。實驗內容5:
16位的二進制數,4位一組可以顯示為4位十六進制數,從高到低依次取出4位二進制數變成ASCⅡ碼輸出即可。
要注意ASICC代碼中,1-9的ASICC代碼要比1-9的二進制值大30H,A-F的ASICC代碼要比1-9的二進制值大37H,所以對不同的四位二進制,要加個判斷分支,才能找到相應得ASICC代碼。
六、思考題
1.請總結顯示寄存器或者內存中的十進制和十六進制數據的方法。十進制顯示的方法:
先判斷是正數負數,是負數要把它轉化成負數的絕對值,并在前面加一個負號。
把BX中的數按位由高到低轉化成十進制數,即依次對其除以10000、1000、100、10、1,將獲得的商放到 DL中,加30H變成ASCⅡ碼,調用DOS系統中斷INT 21H的2號功能顯示出來;對于每一位十進制數的獲得和顯示,實驗通過編制子程序DEC_DIV并不斷調用來實現。
十六進制的顯示方法:
16位的二進制數,4位一組可以顯示為4位十六進制數,從高到低依次取出4位二進制數變成ASCⅡ碼輸出即可,可以用循環左移的指令POL,循環左移四位,并提取這四位。
2.請總結子程序編寫、調用及參數傳遞的要點。子程序定義格式如下:
過程名
PROC [NEAR/FAR]
RET
過程名
ENDP 調用的時候用
CALL 過程名
參數傳遞有三種方法:(1)通過寄存器傳遞參數,這種方式適合于傳遞參數較少的一些簡單程序。(2)通過地址表傳遞參數地址,這種方式適合于參數較多的情況,但要求事先建立一個用來傳送參數的地址。(3)通過堆棧傳遞參數。為了利用堆棧傳遞參數,必須在主程序中調用子程序之前的地方,把這些參數壓入堆棧后利用在子程序中的指令從堆棧彈出而取得參數。同樣,要從子程序傳遞回調用程序的參數也被壓入堆棧內,然后由主程序中的指令把這些參數從堆棧中取出。
3.修改源程序,改變屏幕顯示的內容。1:
2:
3:
4:
5:
實驗三 從鍵盤上輸入數據實驗
一、實驗目的
1.掌握從鍵盤上輸入數據的方法。
2.鍵盤上輸入的是ASCII字符,掌握如何將ASCII字符轉換為機內數字。
二、實驗內容
1.從鍵盤上輸入一個十進制數(0~65535),轉換成二進制數并放入寄存器BX中。2.從鍵盤上輸入0~65535范圍的一個十進制數,在屏幕上顯示出相 PC機一臺、masm匯編程序
三、實驗設備 PC機一臺、masm匯編程序
四、實驗步驟:
依照上次實驗步驟,對每一個實驗內容對應的程序進行編輯、編譯、連接和運行,直到達到實驗要求。
1.實驗內容1的程序: CODE SEGMENT
ASSUME
CS:CODE
START PROC
CALL
DECBIN
MOV
DL,0DH
MOV
AH,2
INT
21H
CALL
XIANSHI
MOV
AH,4CH
INT
21H
START ENDP
DECBIN PROC
NEAR
MOV
CX,10
MOV
BX,0
LOP1: MOV
AH,1
INT
21H
CMP
AL,30H
JL
EXIT
CMP
AL,39H
JG
EXIT
SUB
AL,30H
MOV
AH,00H
XCHG
AX,BX
MUL
CX
ADD
BX,AX
JMP
LOP1
EXIT: RET
DECBIN ENDP
XIANSHI PROC
NEAR
LP1: MOV
CX,10000
CALL
DEC_DIV
MOV
CX,1000
CALL
DEC_DIV
MOV
CX,100
CALL
DEC_DIV
MOV
CX,10
CALL
DEC_DIV
MOV
CX,1
CALL
DEC_DIV
RET
XIANSHI ENDP
DEC_DIV PROC
NEAR
MOV
AX,BX
MOV
DX,0
DIV
CX
MOV
BX,DX
MOV
DL,AL
ADD
DL,30H
MOV
AH,2
INT
21H
RET
DEC_DIV ENDP
CODE ENDS
END
START
(2)運行結果:
輸入11111后,程序顯示如圖所示:
2.實驗內容2(1)實驗內容2的程序: STACK SEGMENT DB 20 DUP(?)STACK ENDS CODE SEGMENT
ASSUME
CS:CODE,SS:STACK
START PROC
MOV AX,STACK
MOV SS,AX
CALL
DECBIN
CALL
XIANSH
MOV
DL,0AH
MOV
AH,2
INT
21H
MOV
CH,4
CALL
ROTATE
MOV
AH,4CH
INT
21H
START ENDP
XIANSHI PROC
NEAR
PUSH BX
LP1: MOV
CX,10000
CALL
DEC_DIV
MOV
CX,1000
CALL
DEC_DIV
MOV
CX,100
CALL
DEC_DIV
MOV
CX,10
CALL
DEC_DIV
MOV
CX,1
CALL
DEC_DIV
POP BX
RET
XIANSHI ENDP
DEC_DIV PROC
NEAR
MOV
AX,BX
MOV
DX,0
DIV
CX
MOV
BX,DX
MOV
DL,AL
DECBIN PROC
NEAR ADD
DL,30H MOV
AH,2 INT
21H RET
DEC_DIV ENDP
MOV
MOV
LOP1: MOV
INT
CMP
JL
CMP
JG
SUB
MOV
XCHG
MUL
ADD
JMP
EXIT:
RET
DECBIN ENDP ROTATE PROC
LOP2: MOV
ROL
MOV
AND
ADD
CMP
JL
ADD
OUTPUT: MOV
INT
DEC
JNE
MOV
MOV
INT
RET
CX,10 BX,0 AH,1 21H AL,30H EXIT AL,39H EXIT AL,30H AH,00H AX,BX CX BX,AX LOP1 CL,4 BX,CL DL,BL DL,0FH
DL,30H DL,3AH
OUTPUT;小于轉移 DL,7 AH,2 21H CH LOP2 DL,'H' AH,2 21H
ROTATE ENDP
CODE ENDS
END
START
(2)運行結果:
輸入00010,顯示結果如圖3-4所示:
五、心得體會
在寫實驗二的時候,調用子程序的地方比較多,可是調用子程序的時候,沒有對寄存器的數據進行保護,導致程序的執行結果不正確,后來用壓棧會保護寄存器里的數據,并用出棧來恢復寄存器的數據,使程序的執行結果正確。
六、思考題
1.請總結從鍵盤上輸入字符的方法。
從鍵盤上輸入一個十進制數(0~65535),轉換成二進制數并放入寄存器BX中。對于輸入的字符,先判斷它是不是1~9的數字字符,若不是,直接跳出循環,若是的話,將ASCⅡ碼轉化成對應數值并存到AX中,對于下一個輸入的數值,判斷完成后,通過將AX和BX內容交換并將AX中的數*10,再累加實現。
2.請總結將二進制數轉換為十六進制數并顯示的方法。
16位的二進制數,4位一組可以顯示為4位十六進制數,從高到低依次取出4位二進制數變成ASCⅡ碼輸出即可,可以用循環左移的指令POL,循環左移四位,并提取這四位。
3.修改源程序,改變屏幕顯示的內容。
實驗內容1:輸入22222,顯示
實驗內容2:輸入12,顯示
實驗四
字符串的顯示實驗
一、實驗目的: 掌握字符串的顯示方法。
二、實驗內容: 1.在內存中存有一個字符串,以0為結尾,程序開始輸出“HELLO”然后等待從鍵盤輸入一個字符,在字符串中尋找該字符,若找到,輸出“yes”;若找不到,輸出“no”,然后再輸入下一個字符。
2.實驗內容1的程序是一個無限循環的程序,若按“ESC”鍵,讓程序推出循環,使系統返回DOS。已知“ESC”鍵的鍵值是1BH。按照上面的要求對實驗內容1的程序進行修改,然后再重新匯編、鏈接和運行。
三、實驗設備: PC機一臺、masm匯編程序
四、實驗步驟:
1.實驗內容1(1)實驗內容1程序: DATA
SEGMENT
STR1 DB
'HELLO',0DH,0AH,'$'
STR2 DB
20H,'YES',0DH,0AH,'$'
STR3 DB
20H,'NO',0DH,0AH,'$'
STR4 DB
'1 2 3 0 4 5 A B a=!?',00H
DATA
ENDS
CODE SEGMENT
ASSUME
CS:CODE,DS:DATA
START PROC
FAR
MOV
AX,DATA
MOV
DS,AX
MOV
DX,OFFSET STR1
MOV
AH,9
INT
21H
LOOP1: MOV
AH,1
INT
21H
MOV
BX,OFFSET STR4
GON: MOV
AH,[BX]
CMP
AH,0
JZ
NO
INC
BX
CMP
AH,AL
JNZ
GON
MOV
DX,OFFSET STR2
GO: MOV
AH,9
INT
21H
JMP
LOOP1
NO: MOV
DX,OFFSET STR3
JMP
GO
START ENDP
CODE ENDS
END
START(2)運行結果
2、實驗內容2(1)實驗內容2程序: DATA
SEGMENT
STR1 DB
'HELLO',0DH,0AH,'$'
STR2 DB
20H,'YES',0DH,0AH,'$'
STR3 DB
20H,'NO',0DH,0AH,'$'
STR4 DB
'1 2 3 0 4 5 A B a=!?',00H
DATA
ENDS
CODE SEGMENT
ASSUME
CS:CODE,DS:DATA
START PROC
FAR
MOV
AX,DATA
MOV
DS,AX MOV
DX,OFFSET STR1 MOV
AH,9 INT
21H
LOOP1: MOV
AH,1
INT
21H
CMP
AL,1BH
JZ
EXIT
MOV
BX,OFFSET STR4
GON: MOV
AH,[BX]
CMP
AH,0
JZ
NO
INC
BX
CMP
AH,AL
JNZ
GON
MOV
DX,OFFSET STR2
GO: MOV
AH,9
INT
21H
JMP
LOOP1
NO: MOV
DX,OFFSET STR3
JMP
GO
EXIT:
MOV
AH, 4CH
INT
21H
START ENDP
CODE ENDS
END
START(2)運行結果:
五、心得體會
通過這次實驗,掌握了字符算的顯示方法。該程序要用到DOS系統功能調用的9號子程序,9號子程序的功能是在屏幕上輸出一個字符串,字符串要以字符“$”做為結尾符,但“$”在屏幕上不顯示。
六、思考題
1.請總結字符串的顯示方法。
該程序要用到DOS系統功能調用的9號子程序,9號子程序的功能是在屏幕上輸出一個字符串,字符串要以字符“$”做為結尾符,但“$”在屏幕上不顯示。
調用9號子程序的格式是:
MOV
DX,字符串起始地址(入口參數)
MOV
AH,9
INT
21H 9號子程序遇到 “0DH”處理成回車;
遇到 “0AH”處理成換行;
遇到 “20H”處理成空格。
2.鞏固匯編語言分支程序設計的方法。
許多實際問題并不能設計成順序程序,需要根據不同的條件作出不同的處理。把不同的處理方法編制成各自的處理程序段,運行時由機器根據不同的條件自動作出選擇判斷,繞過某些指令,僅執行相應的處理程序段。按這種方式編制的程序,稱之為分支程序。分支程序是機器利用改變標志位的指令和轉移指令來實現的。
轉移指令有JMP和Jcc兩類。前者是無條件轉移指令,后者是條件轉移指令。
第五篇:微機組裝實驗報告
微機組裝實驗報告
一、實驗內容
1、了解計算機的硬件系統
2、在規定的時間內完成一臺計算機的完全拆卸并且完全還原的組裝拆卸訓練
二、實驗目的1、熟悉計算機的基本配置及各部件的功能
2、掌握計算機的組裝過程
三、實驗過程及步驟
1、安裝CPU(首先把主板放好,并把主板CPU插座上的固定桿輕微地向外側掰,在向外掰的同時把固定杠提起,此時CPU插座會發生輕微地位移,CPU就可以插入了。在插入之前,應該事先找到CPU表面上的小三角標志,也要找到主板CPU插座上的小三角標志兩者對齊安裝即可,當CPU插入完成后,固定桿按照逆過程重新歸位,CPU也就安裝完成了。)
2、散熱器的安裝(CPU安裝完成后,將少許導熱硅脂均勻涂抹在CPU表面上。接下來吧CPU的散熱器平穩地放置在主板固定支架內,并將扣具的小掛鉤放在支架上的卡口內,用力下壓扣具的另一頭,使小掛鉤滑入到支架的另一個卡口內。另一個扣具按照同樣的方式進行安裝,始終保證散熱器的平穩就可以完成了之后再找到CPU散熱器的電源線,對應的找到主板上的三腳插針,將電源線插好后CPU散熱器的安裝就完成了。)
3、內存的安裝(在安裝內存錢,首先需要把內部插槽兩端的卡子想兩側掰開,然后把內存平行放到插槽中并向下用力壓入,此時內存就夠可以與插槽兩端的卡子配合并穩定地插入到插槽內,卡子也會相應地回復到原位。在安裝內存時需要特別注意,內存金手指那一段有一個不對稱的缺口,這一缺口剛好與內部插槽相對應。插入內存時一定要事先觀察內存插槽,以免誤用蠻力安裝,造成內存的損壞。)
4、電源的安裝(電源的一面通常有四個螺絲孔,安裝電源時把這個有四個螺絲孔的一面對準機箱上的電源固定位,將四個螺絲孔對齊,并擰上,然后依次按照對角方式擰緊四個螺絲,這樣安裝保證的絕對穩固。)
5、主板的安裝(把主板放入到機箱內部,有各種借口的那一面對應機箱后面的安裝位。首先傾斜地放入主板,然后再將主板放平,主板上固定螺絲孔要對應著機箱內部的螺絲柱,按照安裝電源的方式,擰緊六個螺絲即可,安裝主板的這個步驟中有兩個需要注意,第一點就是螺絲的大小是否合適,有些機箱配置的螺絲大小不一,應該找到與主板最為合適的螺絲擰入。第二點就是個別的劣質機箱,螺絲的安裝位跟主板無法相對應,如果無法擰緊時,最好不要采取強硬措施,以避免主板變形損壞。)
6顯卡的安裝(當前主流顯卡大多采用PCI-E接口設計,這個與主板上灰褐色的插槽相對應,顯卡安裝時,應該先試著把有金手指的那面插入,然后雙手平行向下按下。)
7、硬盤的安裝(硬盤的安裝位置要看準了,它通常在機箱內部的3.5英寸驅動器安裝位上。)
四、遇到的問題及解決
對于內部數據線的連接不熟悉。解決方法,用筆記錄每一根電源線的連接。
五、實驗新得及體會
通過學習計算機組裝,我了解了計算機方面的一些基礎知識,也了解到了CPU,主板,內存等配件的基本結構,原來在計算機方面不是很懂得的我,開始漸漸的深入了解它,相信我今后能更好的使用它。這次計算機組裝實驗,讓我真正將理論和實踐融為一體,既鞏固了舊知識,又掌握了新知識,在提高了我的動手能力的同時也讓我深深感受到了自己在實際運用中的專業知識的匱乏,今后我會多多動手積累經驗。