版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
微機(jī)檢測(cè)與維修實(shí)驗(yàn)報(bào)告
更多企業(yè)學(xué)院:
《中小企業(yè)管理全能版》183套講座+89700份資料
《總經(jīng)理、高層管理》49套講座+16388份資料
《中層管理學(xué)院》46套講座+6020份資料
《國(guó)學(xué)智慧、易經(jīng)》46套講座
《人力資源學(xué)院》56套講座+27123份資料
《各階段員工培訓(xùn)學(xué)院》77套講座+324份資料
《員工管理企業(yè)學(xué)院》67套講座+8720份資料
《工廠生產(chǎn)管理學(xué)院》52套講座+13920份資料
《財(cái)務(wù)管理學(xué)院》53套講座+17945份資料
《銷售經(jīng)理學(xué)院》56套講座+14350份資料
《銷售人員培訓(xùn)學(xué)院》72套講座+4879份資料
更多企業(yè)學(xué)院:
《中小企業(yè)管理全能版》183套講座+89700份資料
《總經(jīng)理、高層管理》49套講座+16388份資料
《中層管理學(xué)院》46套講座+6020份資料
《國(guó)學(xué)智慧、易經(jīng)》46套講座
《人力資源學(xué)院》56套講座+27123份資料
《各階段員工培訓(xùn)學(xué)院》77套講座+324份資料
《員工管理企業(yè)學(xué)院》67套講座+8720份資料
《工廠生產(chǎn)管理學(xué)院》52套講座+13920份資料
《財(cái)務(wù)管理學(xué)院》53套講座+17945份資
料
《銷售經(jīng)理學(xué)院》56套講座+14350份資料
《銷售人員培訓(xùn)學(xué)院》72套講座+4879份資料
更多企業(yè)學(xué)院:
《中小企業(yè)管理全能版》183套講座+89700份資料
《總經(jīng)理、高層管理》49套講座+16388份資料
《中層管理學(xué)院》46套講座+6020份資料
《國(guó)學(xué)智慧、易經(jīng)》46套講座
《人力資源學(xué)院》56套講座+27123份資料
《各階段員工培訓(xùn)學(xué)院》77套講座+324份資料
《員工管理企業(yè)學(xué)院》67套講座+8720份資料
《工廠生產(chǎn)管理學(xué)院》52套講座+13920份資料
《財(cái)務(wù)管理學(xué)院》53套講座+17945份資料
《銷售經(jīng)理學(xué)院》56套講座+14350份資料
《銷售人員培訓(xùn)學(xué)院》72套講座+4879份資料
江西科技師范學(xué)院
實(shí)驗(yàn)報(bào)告
課程
微機(jī)的檢測(cè)與維修
院系
教育學(xué)院
班級(jí)
教育技術(shù)學(xué)
學(xué)號(hào)
xxxx
姓名
鄧單單
報(bào)
告
規(guī)
格
一、實(shí)驗(yàn)?zāi)康?/p>
二、實(shí)驗(yàn)原理
三、實(shí)驗(yàn)儀器
四、實(shí)驗(yàn)方法及步驟
五、實(shí)驗(yàn)記錄及數(shù)據(jù)處理
六、誤差分析及問(wèn)題討論
目目
錄
1.
計(jì)算機(jī)硬件組裝
2.
BIOS_CMOS解析與應(yīng)用
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
每次實(shí)驗(yàn)課必須帶上此本子,以便教師檢查預(yù)習(xí)情況和記錄實(shí)驗(yàn)原始數(shù)據(jù)。
實(shí)驗(yàn)時(shí)必須遵守實(shí)驗(yàn)規(guī)則。用正確的理論指導(dǎo)實(shí)踐袁必須人人親自動(dòng)手實(shí)驗(yàn),但反對(duì)盲目亂動(dòng),更不能無(wú)故損壞儀器設(shè)備。
這是一份重要的不可多得的自我學(xué)習(xí)資料袁它將記錄著你在大學(xué)生涯中的學(xué)習(xí)和學(xué)習(xí)成
果。請(qǐng)你保留下來(lái),若干年后再翻閱仍將感到十分新鮮,記憶猶新。它將推動(dòng)你在人生奮斗的道路上永往直前!
一、實(shí)驗(yàn)課程名稱
微機(jī)檢測(cè)與維修二、實(shí)驗(yàn)項(xiàng)目名稱
BIOS_CMOS解析與應(yīng)用
三、實(shí)驗(yàn)?zāi)康暮鸵?/p>
對(duì)BIOS和CMOS的功能認(rèn)識(shí)四、實(shí)驗(yàn)內(nèi)容和原理
1.BIOS(BasicInput/OutputSystem)即基本輸入/輸出系統(tǒng),它為計(jì)算機(jī)提供最底層、最直接的硬件控制與支持。熟悉BIOS的設(shè)置對(duì)于使用和維護(hù)計(jì)算機(jī)都有很大的幫助,用戶可以在BIOS中設(shè)置硬件相關(guān)的工作參數(shù),通過(guò)這些參數(shù)的設(shè)置可以改善計(jì)算機(jī)系統(tǒng)運(yùn)行的性能。
2.CMOS,全稱ComplementaryMetalOxideSemiconductor,即互補(bǔ)金屬氧化物半導(dǎo)體,是計(jì)算機(jī)主板上的一塊可讀寫的RAM芯片,用來(lái)保存當(dāng)前系統(tǒng)的硬件配置和用戶對(duì)某些參數(shù)的設(shè)定,由主板的CMOS電池供電。
五、主要儀器設(shè)備
計(jì)算機(jī)六、操作方法與實(shí)驗(yàn)步驟
1.不同類型的BIOS進(jìn)入BIOS設(shè)置程序的按鍵也不同,AwardBIOS按【Del】鍵進(jìn)入,AMIBIOS按【Del】鍵或【Esc】鍵進(jìn)入,PhoenixBIOS按【F2】鍵進(jìn)入。當(dāng)計(jì)算機(jī)自檢出錯(cuò)時(shí),會(huì)停止在自檢畫面,這時(shí)可以根據(jù)提示按相應(yīng)的鍵進(jìn)入。
2在BIOS設(shè)置界面中可以進(jìn)行的操作如下。
【←】、【→】、【↑】、【↓】鍵:在各設(shè)置項(xiàng)目間切換移動(dòng)。
【F1】或【Alt+H】鍵:彈出GeneralHelp窗口,并顯示所有功能鍵的說(shuō)明?!荆炕颉綪ageUp】鍵:切換選項(xiàng)設(shè)置值(遞增)?!荆炕?/p>
【PageDown】鍵:切換選項(xiàng)設(shè)置值(遞減)?!綟5】鍵:載入選項(xiàng)修改
前的設(shè)置值,即上一次設(shè)置的值。【F6】鍵:載入選項(xiàng)的BIOS默認(rèn)值,即最安全的設(shè)置值?!綟7】鍵:載入選項(xiàng)的最優(yōu)化默認(rèn)值?!綟10】鍵:保存并退出BIOS設(shè)置畫面?!綞sc】鍵:回到前一畫面或是主畫面,或從主畫面中結(jié)束設(shè)置程序。另外按【Esc】鍵也可不保存BIOS設(shè)置程序并要求退出設(shè)置。【Enter】鍵:確認(rèn)執(zhí)行、顯示選項(xiàng)的所有設(shè)置值并進(jìn)入選項(xiàng)子菜單。
七、實(shí)驗(yàn)結(jié)果與分析、心得
BIOS的主要設(shè)置選項(xiàng)有:
1、基本參數(shù)設(shè)置:包括系統(tǒng)時(shí)鐘、顯示器類型等。2、磁盤驅(qū)動(dòng)器設(shè)置:包括自動(dòng)檢測(cè)到硬盤、啟動(dòng)順序。3、硬盤檢測(cè)、鍵盤設(shè)置:包括加電是否檢測(cè)到硬盤、鍵盤類型、鍵盤參數(shù)等。4、存儲(chǔ)器設(shè)置:包括存儲(chǔ)器容量、讀寫時(shí)序等等。5、安全設(shè)置:包括硬盤分區(qū)保護(hù)、開(kāi)機(jī)口令、Setup口令等。6、電源管理設(shè)置:?jiǎn)拘压δ?、IDE設(shè)備斷電方式等。7、PCI局部總線參數(shù)設(shè)置:關(guān)于即插即用的功能設(shè)置、PCI插槽IRQ中斷請(qǐng)求號(hào)等。8、主板集成接口設(shè)置:包括板上FDC軟驅(qū)接口、串/并口等一些設(shè)置。
很多部分很優(yōu)秀!
沒(méi)有太多不必要的詞語(yǔ)!
微機(jī)實(shí)驗(yàn)報(bào)告
曾東明
實(shí)驗(yàn)一輸出字符‘A’
一、實(shí)驗(yàn)?zāi)康?/p>
1.通過(guò)這個(gè)簡(jiǎn)單的例子熟悉在微機(jī)上建立、匯編、鏈接和運(yùn)行8086/8088匯編語(yǔ)言程序的過(guò)程。
2.掌握字符的顯示方法。3.學(xué)習(xí)DOS系統(tǒng)功能調(diào)用。
二、實(shí)驗(yàn)內(nèi)容
輸出字符?A?,程序流程圖如圖1-1所示。
圖1-1輸出字符?A?程序流程圖
源程序如下:
CODE
xxxx
ASSUME
CS:CODE
MOV
DL,\\"A\\"
MOV
AH,2
INT
21H
MOV
AH,4CH
INT
21H
CODE
ENDS
END
三、實(shí)驗(yàn)設(shè)備
PC機(jī)一臺(tái),MASM匯編程序
四、實(shí)驗(yàn)步驟
1.用記事本將源程序輸入,并存盤。
注意:源程序是用匯編語(yǔ)言語(yǔ)句編寫的程序,并不能為機(jī)器所識(shí)別。源程序的擴(kuò)展名為.ASM2.用宏匯編程序?qū)?ASM源程序匯編成機(jī)器碼的目標(biāo)文件(OBJ文件)3.用LINK程序產(chǎn)生執(zhí)行文件(EXE文件)4.執(zhí)行程序
實(shí)驗(yàn)結(jié)果:
五、心得體會(huì)
第一次經(jīng)歷了匯編語(yǔ)言的上機(jī)過(guò)程,對(duì)在計(jì)算機(jī)上進(jìn)行匯編語(yǔ)言程序設(shè)計(jì)的步驟不是很熟悉,對(duì)命令提示符的一些操作命令不懂,后來(lái)查閱了一些資料,比如可以在window7下按住shift,點(diǎn)擊鼠標(biāo)右鍵,在彈出的窗口里就可以打開(kāi)命令提示符了。
六、思考題
1.請(qǐng)說(shuō)出一個(gè)完整的匯編程序從編寫到運(yùn)行所需的步驟。(1)用編輯程序建立ASM源程序文件
(2)用宏匯編程序?qū)?ASM源程序匯編成機(jī)器碼的目標(biāo)文件(OBJ文件)(3)用LINK程序產(chǎn)生執(zhí)行文件(EXE文件)(4)在DOS命令行直接鍵入文件名執(zhí)行該文件2.修改源程序,改變屏幕顯示的內(nèi)容。修改的源程序:CODE
xxxx
ASSUME
CS:CODE
MOV
DL,\\"D\\"
MOV
AH,2
INT
21H
MOV
AH,4CH
INT
21H
CODE
ENDS
END
實(shí)驗(yàn)二數(shù)據(jù)的顯示實(shí)驗(yàn)
一、實(shí)驗(yàn)?zāi)康?/p>
1.掌握屏幕上顯示各種進(jìn)制數(shù)據(jù)的方法。
2.掌握將內(nèi)存中的二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制、十六進(jìn)制數(shù)的方法。
3.學(xué)會(huì)子程序的編寫、調(diào)用及數(shù)據(jù)傳遞方法。
二、實(shí)驗(yàn)內(nèi)容
1.把BX中的無(wú)符號(hào)二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù),在屏幕上顯示出來(lái)。
2.把BX中的帶符號(hào)二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù),在屏幕上顯示出來(lái)。
3.求一個(gè)數(shù)據(jù)塊(由10個(gè)單字節(jié)的無(wú)符號(hào)數(shù)組成)中的最大元素,并將結(jié)果以十進(jìn)制數(shù)的形式在屏幕上顯示出來(lái)。
4.求一個(gè)數(shù)據(jù)塊(由20個(gè)單字節(jié)的帶符號(hào)數(shù)組成)中的正數(shù)之和(和不超過(guò)字)和負(fù)數(shù)之和(和不超過(guò)字),并在屏幕上用十進(jìn)制數(shù)的形式分別顯示出兩個(gè)和。
5.將寄存器BX中的二進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù),并在屏幕上顯示出來(lái)。從高到低依次取出4位二進(jìn)制數(shù)變?yōu)锳SCII碼輸出即可。
三、實(shí)驗(yàn)設(shè)備:
PC機(jī)一臺(tái)、masm匯編程序
四、實(shí)驗(yàn)步驟:
依照前面介紹的方法,對(duì)每一個(gè)實(shí)驗(yàn)內(nèi)容對(duì)應(yīng)的程序進(jìn)行編輯、編譯、連接和運(yùn)行,直到達(dá)到實(shí)驗(yàn)要求。
1.實(shí)驗(yàn)內(nèi)容1(1)實(shí)驗(yàn)內(nèi)容1的流程圖,如圖所示:
(2)實(shí)驗(yàn)內(nèi)容1的程序:
CODExxxx
ASSUME
CS:CODE
DEC_DIVMACRO
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
CODEENDS
END
START(3)實(shí)驗(yàn)結(jié)果:
2.實(shí)驗(yàn)內(nèi)容2(1)實(shí)驗(yàn)容1的程序:DATAxxxxADW1000BDW100CDW10DDW1DATAENDSCODExxxx
ASSUME
CS:CODE,DS:DATA
START:MOV
AX,DATA
MOV
DS,AX
MOV
BX,0FFEFH;-0017的補(bǔ)碼是0FFEFH
ORBX,BX
JNSNEXT
NEGBX
ANDBH,7FH
MOVDL,2DH
MOVAH,2
INT21H
NEXT:
MOV
SI,OFFSETA
CALL
DEC_DIV
MOV
SI,OFFSETB
CALL
DEC_DIV
MOV
SI,OFFSETC
CALL
DEC_DIV
MOV
SI,OFFSETD
CALL
DEC_DIV
MOV
AH,4CH
INT
21H
DEC_DIVPROC
NEAR
MOVCX,[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_DIVENDP
CODEENDS
END
START(2)實(shí)驗(yàn)結(jié)果:
3.實(shí)驗(yàn)內(nèi)容3(1)實(shí)驗(yàn)內(nèi)容3的流程圖,如圖所示:
(2)實(shí)驗(yàn)3的程序:DATA
xxxx
BLOCK
DB1,0,5,7,10,30,100,127,90,80
RESULT
DB
?,?
BUF
DB
\\"MAXIS:$\\"DATA
ENDSCODE
xxxx
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
MOVDX,OFFSETBUF
MOVAH,9
INT21H
MOV
BL,RESULT
CBW
MOV
CX,1000
CALL
DEC_DIV
MOV
CX,100CALL
DEC_DIVMOV
CX,10CALL
DEC_DIV
MOV
CX,1
CALL
DEC_DIV
MOV
AH,4CH
INT
21H
DEC_DIVPROC
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_DIVENDP
BEGIN
ENDP
CODE
ENDS
END
BEGIN(3)實(shí)驗(yàn)3的運(yùn)行結(jié)果:
4.實(shí)驗(yàn)內(nèi)容4(1)實(shí)驗(yàn)內(nèi)容4的流程圖,如圖所示:
(2)實(shí)驗(yàn)內(nèi)容4程序:DATA
xxxx
BLOCKDB
-1,-2,-3,-4,-5,-6,-7,-8,-9,-10
DB
11,12,13,14,15,16,17,18,19,20
POSITDW
?
NEGATDW
?
BUF1
DB
\\"POSIT:$\\"
BUF2
DB
\\"NEGAT:$\\"
DATA
ENDS
CODExxxx
ASSUME
CS:CODE,DS:DATA
STARTPROC
MOV
AX,DATA
MOV
DS,AX
MOV
BX,OFFSETBLOCK
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
MOVDX,OFFSETBUF1
MOVAH,9
INT21H
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
MOVDX,OFFSETBUF2
MOVAH,9
INT21H
MOVBX,NEGAT
NEGBX
ANDBH,0xxxxB
MOVDL,2DH;顯示負(fù)號(hào)
MOVAH,2
INT21H
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_DIVPROC
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_DIVENDP
CODEENDS
END
START
(3)實(shí)驗(yàn)結(jié)果:
5.實(shí)驗(yàn)內(nèi)容5(1)實(shí)驗(yàn)內(nèi)容5的流程圖,如圖所示:
圖2-4內(nèi)容5流程圖
(2)實(shí)驗(yàn)內(nèi)容5的源程序,參考如下:
CODE
xxxx
ASSUME
CS:CODE
BINHEXPROC
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
ROTATEMOV
DL,\\"H\\"MOV
AH,2INT
21H
MOV
AH,4CH
INT
21H
BINHEXENDP
CODEENDS
END
BINHEX(3)實(shí)驗(yàn)結(jié)果:
五、心得體會(huì)實(shí)驗(yàn)內(nèi)容1:
宏定義必須先定義,后調(diào)用,自己剛開(kāi)始時(shí)把宏定義放在調(diào)用的后面,導(dǎo)致程序出錯(cuò)??戳松a(chǎn)的LIST給出的源程序和目標(biāo)程序,發(fā)現(xiàn)每個(gè)宏調(diào)用處,通過(guò)宏擴(kuò)展,宏體中的指令的機(jī)器代碼被插入到宏調(diào)用處,不節(jié)省內(nèi)存單元,但相對(duì)于子程序,簡(jiǎn)化了源程序。
實(shí)驗(yàn)內(nèi)容2:
剛開(kāi)始的時(shí)候給BX寄存器送負(fù)值,比如-17,我寫成了1000000000010001即MOVBX,8011H,后來(lái)發(fā)現(xiàn)顯示出來(lái)的數(shù)不是-17。經(jīng)過(guò)思考,懂得原來(lái)負(fù)數(shù)的表示要用補(bǔ)碼,下面是兩種LIST文件里對(duì)應(yīng)地方的目標(biāo)程序和源程序,可以看出轉(zhuǎn)化為目標(biāo)程序的時(shí)候,用補(bǔ)碼表示。0000BBFFEF0000BBFFEF
START:MOV
BX,-0011H
START:MOV
BX,0FFEFH
實(shí)驗(yàn)內(nèi)容3:求一個(gè)數(shù)據(jù)塊中最大元素的時(shí)候,把數(shù)據(jù)塊中的第一個(gè)元素AL中,并通過(guò)循環(huán)把其余的元素和AL比較,如果新元素較大的話就取代原來(lái)的元素放到AL中。比較完成后,把最大的元素放到預(yù)先為其保留的地址中,注意要控制的次數(shù)CX,是數(shù)據(jù)塊的個(gè)數(shù)減一。
LOOP標(biāo)號(hào)
功能相當(dāng)于
DECCXJNZ標(biāo)號(hào)實(shí)驗(yàn)內(nèi)容4:
回車和換行的效果不一樣。顯示字符串的時(shí)候要注意用$。
因?yàn)橐獙⒄龜?shù)與負(fù)數(shù)分別累加,這時(shí)候需要分支,而分支的條件有很多種,比如跟0比較大小,比如通過(guò)提取符合位來(lái)判斷,只要能正確實(shí)現(xiàn)分支都可以。實(shí)驗(yàn)內(nèi)容5:
16位的二進(jìn)制數(shù),4位一組可以顯示為4位十六進(jìn)制數(shù),從高到低依次取出4位二進(jìn)制數(shù)變成ASCⅡ碼輸出即可。
要注意ASICC代碼中,1-9的ASICC代碼要比1-9的二進(jìn)制值大30H,A-F的ASICC代碼要比1-9的二進(jìn)制值大37H,所以對(duì)不同的四位二進(jìn)制,要加個(gè)判斷分支,才能找到相應(yīng)得ASICC代碼。
六、思考題
1.請(qǐng)總結(jié)顯示寄存器或者內(nèi)存中的十進(jìn)制和十六進(jìn)制數(shù)據(jù)的方法。十進(jìn)制顯示的方法:
先判斷是正數(shù)負(fù)數(shù),是負(fù)數(shù)要把它轉(zhuǎn)化成負(fù)數(shù)的絕對(duì)值,并在前面加一個(gè)負(fù)號(hào)。
把BX中的數(shù)按位由高到低轉(zhuǎn)化成十進(jìn)制數(shù),即依次對(duì)其除以10000、1000、100、
10、1,將獲得的商放到DL中,加30H變成ASCⅡ碼,調(diào)用DOS系統(tǒng)中斷INT21H的2號(hào)功能顯示出來(lái);對(duì)于每一位十進(jìn)制數(shù)的獲得和顯示,實(shí)驗(yàn)通過(guò)編制子程序DEC_DIV并不斷調(diào)用來(lái)實(shí)現(xiàn)。
十六進(jìn)制的顯示方法:
16位的二進(jìn)制數(shù),4位一組可以顯示為4位十六進(jìn)制數(shù),從高到低依次取出4位二進(jìn)制數(shù)變成ASCⅡ碼輸出即可,可以用循環(huán)左移的指令POL,循環(huán)左移四位,并提取這四位。
2.請(qǐng)總結(jié)子程序編寫、調(diào)用及參數(shù)傳遞的要點(diǎn)。子程序定義格式如下:
過(guò)程名
PROC[NEAR/FAR]
RET
過(guò)程名
ENDP調(diào)用的時(shí)候用
CALL過(guò)程名
參數(shù)傳遞有三種方法:(1)通過(guò)寄存器傳遞參數(shù),這種方式適合于傳遞參數(shù)較少的一些簡(jiǎn)單程序。(2)通過(guò)地址表傳遞參數(shù)地址,這種方式適合于參數(shù)較多的情況,但要求事先建立一個(gè)用來(lái)傳送參數(shù)的地址。(3)通過(guò)堆棧傳遞參數(shù)。為了利用堆棧傳遞參數(shù),必須在主程序中調(diào)用子程序之前的地方,把這些參數(shù)壓入堆棧后利用在子程序中的指令從堆棧彈出而取得參數(shù)。同樣,要從子程序傳遞回調(diào)用程序的參數(shù)也被壓入堆棧內(nèi),然后由主程序中的指令把這些參數(shù)從堆棧中取出。
3.修改源程序,改變屏幕顯示的內(nèi)容。1:
2:
3:
4:
5:
實(shí)驗(yàn)三從鍵盤上輸入數(shù)據(jù)實(shí)驗(yàn)
一、實(shí)驗(yàn)?zāi)康?/p>
1.掌握從鍵盤上輸入數(shù)據(jù)的方法。
2.鍵盤上輸入的是ASCII字符,掌握如何將ASCII字符轉(zhuǎn)換為機(jī)內(nèi)數(shù)字。
二、實(shí)驗(yàn)內(nèi)容
1.從鍵盤上輸入一個(gè)十進(jìn)制數(shù)(0~65535),轉(zhuǎn)換成二進(jìn)制數(shù)并放入寄存器BX中。2.從鍵盤上輸入0~65535范圍的一個(gè)十進(jìn)制數(shù),在屏幕上顯示出相PC機(jī)一臺(tái)、masm匯編程序
三、實(shí)驗(yàn)設(shè)備PC機(jī)一臺(tái)、masm匯編程序
四、實(shí)驗(yàn)步驟:
依照上次實(shí)驗(yàn)步驟,對(duì)每一個(gè)實(shí)驗(yàn)內(nèi)容對(duì)應(yīng)的程序進(jìn)行編輯、編譯、連接和運(yùn)行,直到達(dá)到實(shí)驗(yàn)要求。
1.實(shí)驗(yàn)內(nèi)容1的程序:CODExxxx
ASSUME
CS:CODE
STARTPROC
CALL
DECBIN
MOV
DL,0DH
MOV
AH,2
INT
21H
CALL
xxxx
MOV
AH,4CH
INT
21H
STARTENDP
DECBINPROC
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
DECBINENDP
xxxxPROC
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
xxxxENDP
DEC_DIVPROC
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_DIVENDP
CODEENDS
END
START
(2)運(yùn)行結(jié)果:
輸入11111后,程序顯示如圖所示:
2.實(shí)驗(yàn)內(nèi)容2(1)實(shí)驗(yàn)內(nèi)容2的程序:STACKxxxxDB20DUP(?)STACKENDSCODExxxx
ASSUME
CS:CODE,SS:STACK
STARTPROC
MOVAX,STACK
MOVSS,AX
CALL
DECBIN
CALL
XIANSH
MOV
DL,0AH
MOV
AH,2
INT
21H
MOV
CH,4
CALL
ROTATE
MOV
AH,4CH
INT
21H
STARTENDP
xxxxPROC
NEAR
PUSHBX
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
POPBX
RET
xxxxENDP
DEC_DIVPROC
NEAR
MOV
AX,BX
MOV
DX,0
DIV
CX
MOV
BX,DX
MOV
DL,AL
DECBINPROC
NEARADD
DL,30HMOV
AH,2INT
21HRET
DEC_DIVENDP
MOV
MOV
LOP1:MOV
INT
CMP
JL
CMP
JG
SUB
MOV
XCHG
MUL
ADD
JMP
EXIT:
RET
DECBINENDPROTATEPROC
LOP2:MOV
ROL
MOV
AND
ADD
CMP
JL
ADD
OUTPUT:MOV
INT
DEC
JNE
MOV
MOV
INT
RET
CX,10BX,0AH,121HAL,30HEXITAL,39HEXITAL,30HAH,00HAX,BXCXBX,AXLOP1CL,4BX,CLDL,BLDL,0FH
DL,30HDL,3AH
OUTPUT;小于轉(zhuǎn)移DL,7AH,221HCHLOP2DL,\\"H\\"AH,221H
ROTATEENDP
CODEENDS
END
START
(2)運(yùn)行結(jié)果:
輸入00010,顯示結(jié)果如圖3-4所示:
五、心得體會(huì)
在寫實(shí)驗(yàn)二的時(shí)候,調(diào)用子程序的地方比較多,可是調(diào)用子程序的時(shí)候,沒(méi)有對(duì)寄存器的數(shù)據(jù)進(jìn)行保護(hù),導(dǎo)致程序的執(zhí)行結(jié)果不正確,后來(lái)用壓棧會(huì)保護(hù)寄存器里的數(shù)據(jù),并用出棧來(lái)恢復(fù)寄存器的數(shù)據(jù),使程序的執(zhí)行結(jié)果正確。
六、思考題
1.請(qǐng)總結(jié)從鍵盤上輸入字符的方法。
從鍵盤上輸入一個(gè)十進(jìn)制數(shù)(0~65535),轉(zhuǎn)換成二進(jìn)制數(shù)并放入寄存器BX中。對(duì)于輸入的字符,先判斷它是不是1~9的數(shù)字字符,若不是,直接跳出循環(huán),若是的話,將ASCⅡ碼轉(zhuǎn)化成對(duì)應(yīng)數(shù)值并存到AX中,對(duì)于下一個(gè)輸入的數(shù)值,判斷完成后,通過(guò)將AX和BX內(nèi)容交換并將AX中的數(shù)*10,再累加實(shí)現(xiàn)。
2.請(qǐng)總結(jié)將二進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù)并顯示的方法。
16位的二進(jìn)制數(shù),4位一組可以顯示為4位十六進(jìn)制數(shù),從高到低依次取出4位二進(jìn)制數(shù)變成ASCⅡ碼輸出即可,可以用循環(huán)左移的指令POL,循環(huán)左移四位,并提取這四位。
3.修改源程序,改變屏幕顯示的內(nèi)容。
實(shí)驗(yàn)內(nèi)容1:輸入22222,顯示
實(shí)驗(yàn)內(nèi)容2:輸入12,顯示
實(shí)驗(yàn)四
字符串的顯示實(shí)驗(yàn)
一、實(shí)驗(yàn)?zāi)康?掌握字符串的顯示方法。
二、實(shí)驗(yàn)內(nèi)容:1.在內(nèi)存中存有一個(gè)字符串,以0為結(jié)尾,程序開(kāi)始輸出“HELLO”然后等待從鍵盤輸入一個(gè)字符,在字符串中尋找該字符,若找到,輸出“yes”;若找不到,輸出“no”,然后再輸入下一個(gè)字符。
2.實(shí)驗(yàn)內(nèi)容1的程序是一個(gè)無(wú)限循環(huán)的程序,若按“ESC”鍵,讓程序推出循環(huán),使系統(tǒng)返回DOS。已知“ESC”鍵的鍵值是1BH。按照上面的要求對(duì)實(shí)驗(yàn)內(nèi)容1的程序進(jìn)行修改,然后再重新匯編、鏈接和運(yùn)行。
三、實(shí)驗(yàn)設(shè)備:PC機(jī)一臺(tái)、masm匯編程序
四、實(shí)驗(yàn)步驟:
1.實(shí)驗(yàn)內(nèi)容1(1)實(shí)驗(yàn)內(nèi)容1程序:DATA
xxxx
STR1DB
\\"HELLO\\",0DH,0AH,\\"$\\"
STR2DB
20H,\\"YES\\",0DH,0AH,\\"$\\"
STR3DB
20H,\\"NO\\",0DH,0AH,\\"$\\"
STR4DB
\\"123045ABa=!?\\",00H
DATA
ENDS
CODExxxx
ASSUME
CS:CODE,DS:DATA
STARTPROC
FAR
MOV
AX,DATA
MOV
DS,AX
MOV
DX,OFFSETSTR1
MOV
AH,9
INT
21H
LOOP1:MOV
AH,1
INT
21H
MOV
BX,OFFSETSTR4
GON:MOV
AH,[BX]
CMP
AH,0
JZ
NO
INC
BX
CMP
AH,AL
JNZ
GON
M
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 江西省吉安市2025-2026學(xué)年第一學(xué)期小學(xué)六年級(jí)語(yǔ)文期末試卷(含答案)
- 河北省張家口市橋東區(qū)2025-2026學(xué)年七年級(jí)上學(xué)期1月期末考試地理試卷(無(wú)答案)
- 飛秒激光直寫技術(shù)解讀
- “十五五”深度研究系列報(bào)告:如何推動(dòng)進(jìn)出口平衡發(fā)展
- 飛機(jī)科普教學(xué)課件
- 2026湖南長(zhǎng)沙市芙蓉區(qū)東湖街道社區(qū)衛(wèi)生服務(wù)中心招聘考試參考題庫(kù)及答案解析
- 市場(chǎng)調(diào)查及咨詢服務(wù)公司安全管理責(zé)任制度
- 2026紹興市越城區(qū)城市運(yùn)營(yíng)服務(wù)有限公司市場(chǎng)化用工招聘4人備考考試題庫(kù)及答案解析
- 2026山東事業(yè)單位統(tǒng)考菏澤市鄆城縣招聘?jìng)淇伎荚囋囶}及答案解析
- 特殊類藥品授權(quán)管理制度(3篇)
- 北京市東城區(qū)2025-2026學(xué)年高三上學(xué)期期末考試英語(yǔ) 有答案
- 酸馬奶加工技術(shù)
- 浦發(fā)銀行租賃合同模板
- 2026年及未來(lái)5年市場(chǎng)數(shù)據(jù)中國(guó)激光干涉儀行業(yè)發(fā)展監(jiān)測(cè)及投資戰(zhàn)略規(guī)劃研究報(bào)告
- 人工智能技術(shù)在小學(xué)語(yǔ)文閱讀教學(xué)中的實(shí)踐應(yīng)用課題報(bào)告教學(xué)研究課題報(bào)告
- 國(guó)家電投集團(tuán)江蘇公司招聘筆試題庫(kù)2026
- 2025人教版八年級(jí)英語(yǔ)上冊(cè)期末綜合檢測(cè)卷(含答案及聽(tīng)力原文無(wú)聽(tīng)力音頻)
- (一診)成都市2023級(jí)高三高中畢業(yè)班第一次診斷性檢測(cè)物理試卷(含官方答案)
- 兒童口腔科主任解析兒童口腔保健
- 西南交通大學(xué)本科畢業(yè)設(shè)計(jì)(論文)撰寫規(guī)范
- 七上歷史期中??夹≌撐挠^點(diǎn)+范文
評(píng)論
0/150
提交評(píng)論