資源描述:
《最新微機(jī)原理實(shí)驗(yàn)教案.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、實(shí)驗(yàn)一排序程序的設(shè)計(jì)與實(shí)踐一、實(shí)驗(yàn)?zāi)康娜?、匯編過(guò)程圖示編寫并調(diào)試一個(gè)排序子程序,其方法為用冒泡排序法,將DATA數(shù)據(jù)段中的幾個(gè)單元字節(jié)中無(wú)符號(hào)的正整數(shù),按從大到小的順序重新排列。二、實(shí)驗(yàn)內(nèi)容1、熟悉8088指令系統(tǒng),掌握程序設(shè)計(jì)方法。2、學(xué)習(xí)在PC機(jī)上建立、匯編、鏈接、調(diào)試和運(yùn)行匯編語(yǔ)言的過(guò)程。3、了解并熟悉TD運(yùn)行環(huán)境,學(xué)會(huì)用TD調(diào)試程序的方法。四、程序框圖實(shí)驗(yàn)一排序程序的設(shè)計(jì)與實(shí)踐五、程序清單DATASEGMENTBUFDB21H,34H,0A6H,78H,0F8H,88H,0C9H,01H,33H,11HLENEQU$-BUFDATAENDSSTACKSEGM
2、ENTBUFSDB300DUP(?)LENSEQU$-BUFSSTACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVAX,STACKMOVSS,AXMOVSP,LENSS5:MOVCX,LENDECCXA53:MOVBX,OFFSETBUFPUSHCXA52:MOVAX,[BX]CMPAL,AHJCA51A54:INCBXLOOPA52POPCXLOOPA53MOVAH,4CHINT21HA51:XCHGAL,AHMOV[BX],AXJMPA54CODEENDSEND
3、START實(shí)驗(yàn)一排序程序的設(shè)計(jì)與實(shí)踐六、實(shí)驗(yàn)步驟及要求(1)、在EDIT環(huán)境下鍵入編寫程序,保存為*.asm;(2)、編譯、連接源程序*.asm,分別生成*.obj、*.lst和*.exe文件。(3)、在TD調(diào)試環(huán)境下,用連續(xù)單步方式調(diào)試*.exe,觀察排序時(shí)數(shù)據(jù)移動(dòng)變化情況。(4)、改程序?yàn)榘磸男〉酱笈判?。?shí)驗(yàn)一排序程序的設(shè)計(jì)與實(shí)踐七、實(shí)驗(yàn)報(bào)告要求(包含預(yù)習(xí)報(bào)告要求和最終報(bào)告要求)1.實(shí)驗(yàn)名稱:注意實(shí)驗(yàn)項(xiàng)目名稱應(yīng)與實(shí)驗(yàn)大綱中的實(shí)驗(yàn)項(xiàng)目名稱相符。2.實(shí)驗(yàn)?zāi)康?.實(shí)驗(yàn)內(nèi)容及要求預(yù)習(xí)最終4.程序設(shè)計(jì)(從大到?。﹫?bào)告要求報(bào)告要求包含流程圖和源程序,源程序必須加必要注釋。5
4、.實(shí)驗(yàn)結(jié)果及結(jié)果分析6.實(shí)驗(yàn)中出現(xiàn)的問(wèn)題及解決方法7.回答思考題(如何改為由小到大排序)實(shí)驗(yàn)一排序程序的設(shè)計(jì)與實(shí)踐實(shí)驗(yàn)一求最大值程序一、實(shí)驗(yàn)?zāi)康?.掌握條件判斷指令的用法。2.掌握循環(huán)程序的設(shè)計(jì)方法。3.學(xué)習(xí)在屏幕上顯示字符的方法。4.學(xué)習(xí)在PC機(jī)上建立、匯編、鏈接、調(diào)試和運(yùn)行匯編語(yǔ)言的過(guò)程。二、實(shí)驗(yàn)內(nèi)容在首地址為DATA1的數(shù)組中找出最大值,并在屏幕上顯示出來(lái)。DATA1DB35H,07H,0ABH,56H,12H,98H,0CDH,76H,0FAH,0BFH顯示結(jié)果如下圖所示:實(shí)驗(yàn)一求最大值程序三、程序框圖實(shí)驗(yàn)一求最大值程序四、實(shí)驗(yàn)步驟及要求(1)輸入程序,進(jìn)行
5、調(diào)試,運(yùn)行出求最大值程序的結(jié)果。(2)熟悉TD調(diào)試環(huán)境下,在TD環(huán)境下單步運(yùn)行本程序,以加深對(duì)程序指令的理解。(3)如何把程序改成求最小值的程序。(4)如果為有符號(hào)數(shù),其最大值、最小值怎么求取。實(shí)驗(yàn)一求最大值程序五、程序介紹要掌握這個(gè)程序,需要理解以下幾點(diǎn):1.程序完成的任務(wù)有:定義及初始化、求最值、顯示最值。2.怎么顯示字符?例如顯示“A”,利用INT21H的AH=02H號(hào)子功能,顯示DL的內(nèi)容,DL中的值為字符對(duì)應(yīng)的ASCII碼值。3.宏定義介紹DISXMACROXMOVDL,XMOVAH,02INT21HENDM4.如果結(jié)果最大值是FAH,存儲(chǔ)在AL中,如何顯
6、示?先AL暫存BL,對(duì)AL邏輯右移4位,再判斷是不是大于9,若大于9加37H,否則加30H,然后送去顯示。取出暫存的BL送AL,然后與0FH相與,再判斷是不是大于9,若大于9加37H,否則加30H,再送去顯示。5.返回DOS可用INT21H的AH=4CH號(hào)子功能。6.如何顯示字符串?利用INT21H的AH=09H號(hào)子功能,DX指向顯示字符串首地址。實(shí)驗(yàn)一求最大值程序六、實(shí)驗(yàn)程序DISXMACROXMOVDL,XMOVAH,02INT21HENDMSTACKSEGMENTSTADB512DUP(?)TOPEQULENGTHSTASTACKENDSDATASEGMENT
7、BUFDB'MAXNUMBER:',0DH,0AH,'$'DATA1DB35H,07H,0ABH,56H,12HDB98H,0CDH,76H,0FAH,0BFHBLOCKDB10DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,STACKMOVSS,AXMOVSP,TOPMOVAX,DATAMOVDS,AXMOVDX,OFFSETBUFMOVAH,09INT21HMOVSI,OFFSETBLOCKMOVCX,[SI]DECCXMOVSI,OFFSETDATA1MOVAL,[SI]MAX1:I