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