版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
微機原理實驗報告班級:級電子科學與技術卓工班姓名:黃中一學號:36460273序號:評閱分數(shù):實驗一一、實驗目1、學會如何建立匯編源文獻ASM2、學會調用MASM宏匯編程序對源文獻進行匯編,獲得目的程序OBJ及LST列表文獻3、學會調用LINK連接程序匯編后目的文獻OBJ連接成可執(zhí)行文獻EXE4、學會使用DEBUG調試程序把可執(zhí)行文獻裝入內存并調試運營,用D命令顯示目的程序,用U命令對可執(zhí)行文獻反匯編,用G命令運營調試。二、實驗設備裝有MASM軟件IBMPC機三、實驗內容1、匯編程序對源程序進行編譯,生成擴展名為OBJ目的文獻;連接程序是將目的程序和庫文獻進行連接、定位,生成擴展名為EXE可執(zhí)行文獻;調試程序是對目的文獻進行調試,驗證它對的性。2、DEBUG程序各種命令用法功能命令格式使用闡明顯示內存單元內容D地址從指定地址開始顯示40H個字節(jié)或80H個字節(jié)修改內存單元內容E地址先顯示地址和單元內容等待輸入修改內容檢查和修改寄存器內容R顯示所有寄存器和標志位及下條指令單元十六進制數(shù)碼和反匯編格式反匯編U地址從指定地址開始反匯編16個或32個字節(jié)匯編A地址從指定地址直接輸入語句并從指定指定匯編裝入內存跟蹤T=地址從指定地址開始逐條跟蹤指令運營G=地址無斷點,執(zhí)行正在調試指令退出Q退出DEBUG返回DOS3、實驗過程①、在edit環(huán)境,寫字板,記事本等中輸入源程序?;螂p擊屏幕上“將來匯編”快捷方式進入編輯環(huán)境輸入源程序。②、保存,輸入文獻名如A1.asm,并將其與MASM三個可執(zhí)行文獻放在同一目錄下。③、在DOS環(huán)境下(可用windows下命令提示符進入),用MASM生成目的文獻A1.OBJ進入DOS環(huán)境,將當前目錄設立為存儲MASM途徑.如圖所示:如果MASM軟件放在C:\TOOLS\WJYL則先要進入到該子目錄下,進入該子目錄辦法為,cdc:\退到c盤根目錄下,cdtoolscdWJYL則如上所述進入該目錄下,然后輸入MASM,可見屏幕上有四個提問,按如下格式回答:Sourcefilename[.ASM]:a1↙Objectfilename[A1.OBJ]:↙Sourcelisting[NUL.LST]:a1↙Cross-reference[NUL.CRF]:a1↙④、鍵入DIR/W可見目的文獻A1.OBJ和列表文獻A1.LST。⑤、在DOS環(huán)境下,用連接文獻LINK連接程序生成可執(zhí)行文獻A1.EXE輸入LINK,可見屏幕有四個提問,按如下格式回答:ObjectModules[.OBJ]:A1↙RUNFile[A1.EXE]:↙ListFile[NUL.MAP]:↙Libraries[.LIB]:A1↙用DIR命令,查看生成各文獻⑥、用TYPEA1.LST↙命令觀看列表文獻⑦、在DOS環(huán)境下,用DEBUG跟蹤程序來安裝運營A1.EXE程序1)輸入DEBUGA1.EXE↙可見有提示符“—”2)輸入-R↙可見CPU內所有寄存器內容和標志位狀態(tài)如下:AX=0000BX=0000CX=0100DX=0000SP=0028BP=0000SI=0000DI=0000DS=1112ES=1112SS=1126CS=1129IP=0000NVUPDIPLNZNAPONC1129:0000B82211MOVAX,11223)輸入-U,可看到11行指令,再用U命令可看到余下各指令。4)輸入運營命令-G=0028可見程序執(zhí)行到INT21H句便停下來,屏幕展示此刻各寄存器內容如下:AX=4C00BX=0007CX=0001DX=0000SP=0028BP=0000SI=0000DI=0000DS=1122ES=1112SS=1126CS=1129IP=0028NVUPDIPLZRACPECY1129:0028CD21INT215)輸入-RIP可修改指令指針6)輸入-T↙可看到執(zhí)行第一條指令成果輸入-T=03↙可看到3條指令執(zhí)行過程7)輸入-Q↙退出DEBUG,回到DOS狀態(tài)。注:如果masm過程中浮現(xiàn)錯誤,可參看錯誤提示,在相應行和列去尋找錯誤??芍苯釉赿os環(huán)境下鍵入edit進入編輯環(huán)境。附:標志寄存器相應含義NVOF=0NVOF=0OVOF=1UPDF=0DNDF=1DIIF=0EIIF=1PLSF=0NGSF=1NZZF=0ZRZF=1NAAF=0ACAF=1P0PF=0PEPF=1NCCF=0CYCF=1實驗例程1:DATASEGMENTARRAY1DB2,5,0,3,-4,5,0,0AH,0FHARRAY2DB3,5,4,-2,0,8,3,-0AH,20HCOUNTDB$-ARRAY2LENDB?SUMDB20HDUP(0)DATAENDSSTACK1SEGMENTPARASTACK'STACK'DW20HDUP(0)STACK1ENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK1START:MOVAX,DATAMOVDS,AXMOVBX,-1MOVCX,0MOVCL,COUNTNOZERO:INCBXMOVAL,ARRAY1[BX]ADDAL,ARRAY2[BX]MOVSUM[BX],ALLOOPNENOZEROJEENDOINCBLENDO:MOVLEN,BLMOVAH,4CHINT21HCODEENDSENDSTART實驗例程2:顯示字符串;SAMPLEPROGRAMDISPLAYMESSAGE;注釋行STACKSEGMENTPARASTACK‘STACK’;定義堆棧段DB1024DUP(0);在存儲器某個區(qū)域建立一種堆棧區(qū)STACKENDSDATASEGMENT;定義數(shù)據(jù)段MESSAGEDB‘THISISASAMPLEPROGRAM.$’;在存儲器中存儲供顯示數(shù)據(jù)DATAENDS;數(shù)據(jù)段結束CODESEGMENT;定義代碼段ASSUMECS:CODE,DS:DATA,SS:STACK;告訴匯編程序段范疇START:PROCFAR;將程序定義為遠過程PUSHDSMOVAX,0;可用XORAX,AXPUSHAX;原則序,以便返回DOS操作系統(tǒng)MOVAX,DATAMOVDS,AX;初始化DSLEADX,MESSAGE;MESSAGE地址偏移量給BXMOVAH,9INT21H;調用DOS9號中斷功能顯示字符串。RET;返回DOS操作系統(tǒng)STARTENDP;過程結束CODEENDS;代碼段結束ENDSTART;整個程序匯編結束例3人機交互:DATASEGMENTBUFDB100;緩沖區(qū)長度DB?;預留用來存儲實際長度DB100DUP(?);接受來自鍵盤輸入下信息MESGDB‘WHATISYOURNAME?$’DATAENDSCODESEGMENTASSUMEDS:DATA,CS:CODESTART:MOVAX,DATAMOVDS,AXMOVDXOFFSETMESGMOVAH,09H;屏幕顯示提示信息INT21HMOVDXOFFSETBUFMOVAH,0AH;接受鍵盤輸入INT21HMOVAH,4CHINT21HCODEENDSENDSTART實驗二數(shù)碼轉碼編程及程序調試一.實驗目1.掌握不同進程數(shù)及編碼互相轉換程序設計辦法,加深對數(shù)碼轉換理解;2.進一步熟悉鍵盤用法;3.進一步熟悉調試程序辦法。二.實驗設備裝有匯編軟件IBMPC機一臺三.實驗內容及環(huán)節(jié)計算機輸入設備輸入信息普通ASCii碼或BCD碼表達數(shù)據(jù)或字符,CPU解決信息普通均用二進制數(shù)進行計算或其他解決,解決成果輸出外設有必要一外設規(guī)定變?yōu)锳SCII碼,BCD碼或七段顯示碼等。因而,在應用軟件中各累數(shù)制轉換和代碼轉換是必不可少。計算機于外設間數(shù)碼轉換關系如圖2-1所示,數(shù)碼相應關系如表2-1所示。一.將ASCII碼表達十進制數(shù)轉換為二進制數(shù)1.程序流程十進制數(shù)可表達為:代表十進制1,2,3,···9,0;由式(2)可歸納十進制數(shù)轉換為二進制數(shù)辦法:從十進制最高位Dn開始作乘10加次位操作,將成果再乘10再加下一種次位,如此重復,則可求出二進制數(shù)成果來。程序流程圖如圖2-2。這里咱們規(guī)定:被轉換ASCII碼十進制數(shù)存儲在3500h~3504h單位中。而轉換成果在3510~3511單位中。2.實驗環(huán)節(jié)輸入程序并檢查無誤。在3500~3504h單元存入十進制12ASCII碼,即e3500,并輸入。g=,運營程序,并用CTR+C來中斷程序返回監(jiān)控態(tài)。用d3510查當作果,應為35100C00重復試幾組數(shù),考查程序對的性。流程圖如下:代碼如下:地址(H)助記符注釋MOVSI,3500;源地址MOVDI,3510;成果地址MOVBX,000A;乘數(shù)10MOVCX,0004;計數(shù)200CMOVAH,00;AH清零200EMOVAL,[SI];取被轉換數(shù)SUBAL,30;ASCII碼變十進制數(shù)IMULBX;高位(AX)*(BX)送AXADDAL,[SI+01];取下一位1017SUBAL,30;ASCII碼減30變十進制數(shù)INCSI;源地址指針+1201ALOOP;CX-1,若CX不等于零則繼續(xù)201CMOV[DI],AX;若CX不等于零則存成果201EINT3運營成果截圖:二.將十進制數(shù)ASCII碼轉換為BCD碼1.程序流程將從鍵盤輸入五位十進制數(shù)ASCII碼已存在3500起始內存單元中。把它轉換成BCD碼后,再按位分別存入350A起始內存單元內。若輸入不是十進制ASCII碼,則顯示FF.2.實驗環(huán)節(jié)輸入程序并檢查無誤。在3500H——3504H單元中存入五位十進制數(shù)ASCII碼,即E3500↙,并輸入31,32,33,34,35。G=↙,運營以上程序。D350A↙,顯示成果為:0000:350A0102030405CC…重復試幾組數(shù),考查程序對的性。流程圖如下:代碼如下:地址(H)助記符注釋MOVCX,0005;循環(huán)計數(shù)器賦初值MOVDI,3500;ASCII碼首址MOVBL,F(xiàn)F;錯誤標志送BLMOVAL,[DI];送ASCII碼至AL200ACMPAL,3A;比較AL與3AH200CJNB;不低于3A則轉200ESUBAL,30;低于3A則取ASCII碼低四位JB;低于30則轉MOVBL,AL;否則AL內容送BL,取代FFMOVAL,BL;成果或錯誤標志送ALMOV[DI+0A],ALINCDI201ALOOP201CINT3運營成果截圖:將十六位二進制數(shù)轉換為ASCII碼表達十進制數(shù)程序及其流程十六位二進制數(shù)值域為0——65535,最大可轉換為五位十進制數(shù)。算法:五位十進制數(shù)可表達為:(Di:表達十進制數(shù)0——9。)因而,將十六位二進制數(shù)轉換為五位ASCII碼表達表達十進制數(shù),就是求D1——D4,并將它化為ASCII碼。程序流程圖如圖1-3所示,設源數(shù)據(jù)存于3500——3501H單元中,成果數(shù)存于3510——3514H單元中。2.實驗環(huán)節(jié)輸入程序并檢查無誤。在3500——3501H單元中存儲0C00,運營程序并檢查成果,應看到3510——3514H單元中數(shù)依次為。重復試幾組數(shù),并運營程序、觀測成果。流程圖如下:代碼如下:地址(H)助記符注釋MOVDX,[3500];取二進制數(shù)MOVSI,3515;目的首址在3510DECSIMOVAX,DX200AMOVDX,0000200DMOVCX,000ADIVCX;;除10XCHGAX,DXADDAL,30MOV[SI],ALCMPDX,0000201BJNE201DCMPSI,3510;填余下高位為02021JZ202A;2023DECSI2024MOVAL,302026MOV[SI],AL2028JMP201D202AINT3運營成果截圖:四.十六進制數(shù)轉換為ASCII碼1.程序及其流程通過CPU解決后十六進制數(shù)存儲在起始地址為3500H內存單元中,把它們轉換成ASCII碼之后,再分別存入起始地址為350AH內存單元中。從表2-1中可知,十六進制數(shù)加30H即可得到0H——9HASCII碼,而要得到AH——FHASCII碼,則需再加7H。程序流程圖及參照程序如圖1-4所示。2.實驗環(huán)節(jié)輸入程序并檢查無誤。在3500——3501H單元中存入四位十六進制數(shù)203B,即E3500↙,并輸入3B,20。G=↙,運營以上程序D350A↙,顯示成果為:0000:350A42333032CC…輸入數(shù)據(jù)與成果ASCII碼相應順序相反。重復試幾組數(shù)。考查程序對的性。流程圖如下:代碼如下:地址(H)助記符注釋MOVCX,0004MOVDI,3500MOVDX,[DI]MOVAX,DX200AANDAX,000F;取低四位值200DCMPAL,0A;;判與否“0”-“9”200FJB;是“0”-“9”轉ADDAL,07;是“A”-“F”,加7ADDAL,30;轉換為ASCII碼MOV[DI+0A],ALINCDIPUSHCX;保護循環(huán)計數(shù)器內容201AMOVCL,04;移位次數(shù)送CL201CSHRDX,CL201EPOPCX201FLOOP2021INT3運營成果截圖:五.BCD碼轉換為二進制數(shù)1.程序及其流程設四個二位十進制數(shù)BCD碼存儲在起始地址為3500H,單元中,轉換出二進制數(shù)碼存入起始地址為3510H內存單元中,程序流程圖及參照程序如圖1-5所示。2.實驗環(huán)節(jié)輸入程序并檢查無誤。在3500——3507單元中存入四個十進制數(shù)(12,34,56,78)BCD碼,即E3500↙輸入01,02,03,04,05,06,07,08。G=↙,運營以上程序。D3510↙,顯示成果為35100C00220038004E00重復試幾組數(shù),考查程序對的性。流程圖如下:代碼如下:地址(H)助記符注釋MOVCX,0004MOVDI,3500MOVAL,[DI]ADDAL,AL;乘2200AMOVBL,AL200CADDAL,AL;乘2200EADDAL,AL;乘2ADDAL,BL;乘10INCDIMOVAH,00ADDAL,[DI];BCD碼十位與個位加MOV[DI+0F],AX;存成果圖1-5201AINCDI201BLOOP201DINT3運營成果截圖:實驗三分支和循環(huán)程序設計實驗一、分支程序設計實驗1.實驗目1.掌握分支程序構造。2掌握分支程序設計、調試辦法。2.實驗設備微機一臺3.內容設計一數(shù)據(jù)塊間搬移程序設計思想:程序規(guī)定把內存中一數(shù)據(jù)區(qū)(稱為源數(shù)據(jù)塊)傳送到另一存貯區(qū)(稱為目數(shù)據(jù)塊)。源數(shù)據(jù)塊和目數(shù)據(jù)塊在存貯中也許有三種狀況。對于兩個數(shù)據(jù)塊分離狀況,數(shù)據(jù)傳送從數(shù)據(jù)塊首址開始,或者從數(shù)據(jù)塊末址開始均可,但對于有某些重疊狀況,則要加以分析,否則重疊某些會因“搬移”而遭破壞??梢缘贸鋈缦陆Y論:當源數(shù)據(jù)塊首址〉目塊首址時,從數(shù)據(jù)塊首址開始傳送數(shù)據(jù)。當源數(shù)據(jù)塊首址〈目塊首址時,從數(shù)據(jù)塊末地址開始傳送數(shù)據(jù)。流程圖如下:代碼如下:DATASEGMENTMDB01H,02H,03H,04H,05H,06H,07H,08H,09H,10H,11H,12H,13H,14H,15H,16H,24DUP(?)N=M+10Z=N+17CODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATA MOVDS,AX MOVBX,OFFSETZSECOND:MOVAX,OFFSETMMOVDX,OFFSETN ADDAX,15 CMPAX,BX JCFIRST MOVCX,0016 ADDDX,15 MOVSI,AX MOVDI,DXBEGIN2:MOVBL,[SI]MOV[DI],BL DECSI DECDI LOOPBEGIN2 JMPCOMPLETEFIRST:MOVCX,0016SUBAX,15 MOVSI,AX MOVDI,BXBEGIN1:MOVDL,[SI]MOV[DI],DLINCSIINCDI LOOPBEGIN1 MOVBX,0000 JMPSECONDCOMPLETE:MOVAH,4CHINT21HCODEENDSENDSTART運營成果截圖:在源數(shù)據(jù)塊中存入6個數(shù),分別使SI不不大于、等于、不大于DI均發(fā)現(xiàn)數(shù)據(jù)對的傳送。程序對的。二、循環(huán)程序設計實驗1.實驗目(1)加深對循環(huán)構造理解。(2)掌握循環(huán)構造程序設計辦法。(3)純熟掌握調試循環(huán)程序辦法。2.實驗設備TDS-MD微機一臺3.內容(1)編制程序使S=1+2*3+3*4+4*5+……N(N+1),直到N(N+1)項不不大于200為止。流程圖如下: NYNY開始1→DX,2→BLBL→ALBL+1AL*BL→AXDX+AX→DX結束AX>200代碼如下:STACK1SEGMENTSTACKDW64DUP(?)STACK1ENDSCODESEGMENTASSUMECS:CODESTART: MOVDX,0001HMOVBL,02HA1: MOVAL,BLINCBLMULBLADDDX,AXCMPAX,00C8HJNAA1A2: INT03HCODEENDSENDSTART運營成果截圖:運營成果為45FH,與實際相符,程序對的。(2)求某個數(shù)據(jù)區(qū)內負數(shù)個數(shù)設數(shù)據(jù)區(qū)第一單元存儲區(qū)內數(shù)據(jù)個數(shù),從第二單元開始存儲數(shù)據(jù),在區(qū)內最后一種單元存儲成果。為記錄數(shù)據(jù)區(qū)內負數(shù)個數(shù),需要逐個判斷區(qū)內每一種數(shù)據(jù),然后將所有數(shù)據(jù)中凡是符號位為1數(shù)據(jù)個數(shù)累加起來,即得區(qū)內所包括負數(shù)個數(shù)。流程圖如下:代碼如下:STACK1SEGMENTSTACKDW64DUP(?)STACK1ENDSCODESEGMENTASSUMECS:CODESTART: MOVDI,3000HMOVCL,[DI]XORCH,CHMOVBL,CHINCDIA1:MOVAL,[DI]TESTAL,80HJEA2INCBLA2:INCDILOOPA1MOV[DI],BLA3:JMPA3CODEENDSENDSTART運營成果截圖:輸入數(shù)據(jù)個數(shù)為6輸入12、88、82、90、22、33得成果03成果與實際相符,程序對的。實驗四子程序設計實驗目1、學習子程序定義和調用辦法。2、掌握子程序、子程序嵌套構造。3、掌握子程序程序設計、編制及調試辦法。實驗內容程序采用菜單式選取,可接受顧客輸入命令(1~5),各命令如下:按1鍵完畢字符串小寫字母變大寫字母顧客輸入一由英文大小寫字母或數(shù)字0~9構成字符串(以回車結束),程序逐個檢查字符串中各字符,將原串中小寫字母變成大寫字母,其他字符不變,并在屏幕上顯示。顧客按任一鍵,重做,按ESC鍵,返回主菜單。按2鍵完畢找最大值(二選一)1、接受顧客輸入可顯示字符串(以回車結束),程序將其中ASCII碼值最大字符顯示出來。2、接受顧客輸入若干無符號8位數(shù)(以空格或逗號為分隔符,以回車結束),程序將其中最大數(shù)顯示出來。顧客按任一鍵,重做,按ESC鍵,返回主菜單。按3鍵完畢排序(二選一)1、接受顧客輸入可顯示字符串,以回車結束。程序按ASCII碼值大小由大到小排序并輸出顯示。2、接受顧客輸入若干個有符號8位數(shù)(以空格逗號為分隔符,以回車結束)。程序將其中最大數(shù)顯示出來。顧客按任一鍵,重做,按ESC鍵,返回主菜單。按4鍵顯示時間一方面提示顧客對時,即顧客輸入時,分,秒(以空格或冒號分隔,以回車結束),然后,在屏幕上不斷顯示時間,格式為:××(時):××(分):××(秒),最佳定點顯示。顧客按任一鍵,重新對時,按ESC鍵,返回主菜單。按5鍵,結束程序運營,返回系統(tǒng)提示符。流程圖如下:主程序流程子程序一流程子程序二流程子程序三流程子程序四流程代碼如下:DATASEGMENTORG9999HMENUDB0DH,0AH,'ProgramedbyXueChengdaiClassfourGrade11',0DH,0AH,;菜單DB'Pleaseinput1~5tochooseservice',0DH,0AH,DB'1:Inputanstring.Thenconvertthesmalllettertobigletter.',0DH,0AH,DB'2:FindthecharacterwhoseASCIIcodeisbiggest',0DH,0AH,DB'3:SortthecharacterbyASCIIcodebydecreasingorder.',0DH,0AH,DB'4:Displaythetickingtime',0DH,0AH,DB'5:Endtheprogram$'MEG0DB'Pleasechoosefunction$';提示信息MEG0~MEG8MEG1DB'Youhavechoosethefunction1.',0DH,0AH,'Pleaseinputthecharacterstringyouwanttoconvert:$'MEG2DB'Youhavechoosethefunction2.',0DH,0AH,'Pleaseinputthecharacterstring:$'MEG3DB'Youhavechoosethefunction3.',0DH,0AH,'Pleaseinputthecharacterstringyouwanttosort$'MEG4DB'Youhavechoosethefunction4.',0DH,0AH,'Pleaseinputthetimeyouwanttosetinformatlike:xx:xx:xx$'MEG5DB'Theprogramisend$'MEG6DB'Sorry.youhavechosenaundefinedfunction.Pleaseinputacorrectfunctionnumber$'MEG7DB'Failtosettime$'MEG8DB'PressanykeytodoagainorpresstheESCkeytoreturntothemainmenu$'FLAGDB-1;冒泡排序中使用標志DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATAstart:MAINPROCNEAR;主程序MOVAX,DATAMOVDS,AXCIN:LEADX,MENU;輸出提示信息MOVAH,09HINT21HCALLENT;輸出回車換行LEADX,MEG0MOVAH,09HINT21HCALLENTMOVAH,01HINT21HCMPAL,30H;判斷功能號JLEEORCMPAL,31HJEF1CMPAL,32HJEF2CMPAL,33HJEF3CMPAL,34HJEF4CMPAL,35HJEF5EOR:CALLENTLEADX,MEG6;輸出出錯信息MOVAH,09HINT21HJMPCINF1:CALLENT;功能1LEADX,MEG1MOVAH,09HINT21HCALLENTCALLFUN1;調用子程序1MOVAH,01HINT21HCMPAL,1BHJNEF1JMPCINF2:CALLENT;功能2LEADX,MEG2MOVAH,09HINT21HCALLENTCALLFUN2;調用子程序2MOVAH,01HINT21HCMPAL,1BHJNEF2JMPCINF3:CALLENT;功能3LEADX,MEG3MOVAH,09HINT21HCALLENTCALLFUN3;調用子程序3MOVAH,01HINT21HCMPAL,1BHJNEF3JMPCINF4:CALLENT;功能4LEADX,MEG4MOVAH,09HINT21HCALLENTCALLFUN4;調用子程序4MOVAH,01HINT21HCMPAL,1BHJNEF4JMPCINF5:MOVAH,4CH;功能5,終結程序INT21HFUN1PROCNEAR;子程序1PUSHAXPUSHCXPUSHDXPUSHSIMOVAH,0AH;字符串輸入INT21HCALLENTMOVSI,DXINCSIMOVCL,[SI];設定循環(huán)次數(shù)MOVCH,0JIK:INCSIMOVAL,[SI]CMPAL,0DH;判斷字符ASCII碼JEKLCMPAL,61HJBJKCMPAL,7AHJAJKSUBAL,20H;小寫轉大寫JK:MOVDL,AL;輸出字符MOVAH,02HINT21HLOOPJIKCALLENTLEADX,MEG8MOVAH,09HINT21HKL:POPSIPOPDXPOPCXPOPAXRETFUN1ENDPFUN2PROCNEAR;子程序2PUSHAXPUSHCXPUSHDXPUSHSIMOVAH,0AHINT21HCALLENTMOVSI,DXINCSIMOVCL,[SI]MOVCH,0INCSIMOVAL,[SI]FH:INCSI;循環(huán)比較CMPAL,[SI]JAFGMOVAL,[SI]FG:LOOPFHMOVDL,ALMOVAH,02HINT21HCALLENTLEADX,MEG8MOVAH,09HINT21HPOPSIPOPDXPOPCXPOPAXRETFUN2ENDPFUN3PROCNEAR;子程序3PUSHAXPUSHBXPUSHCXPUSHDXPUSHSIPUSHDIMOVAH,0AHINT21HCALLENTMOVSI,DXINCSIMOVBL,[SI]MOVBH,0INCSIMOVDI,SILP1:CMPFLAG,0;依照標志判斷JELP3DECBX;檢查循環(huán)次數(shù)CMPBX,0JELP3MOVCX,BXMOVSI,DIMOVFLAG,0LP2:MOVAL,[SI];先后比較CMPAL,[SI+1]JLENEXTXCHGAL,[SI+1]MOV[SI],ALMOVFLAG,0FFHNEXT:INCSILOOPLP2;內循環(huán)繼續(xù)JMPLP1;退出內循環(huán)LP3:DECDI;重新設定循環(huán)次數(shù)MOVCL,[DI]MOVCH,0LP4:INCDI;循環(huán)輸出字符MOVDL,[DI]MOVAH,02HINT21HLOOPLP4CALLENTLEADX,MEG8MOVAH,09HINT21HPOPDIPOPSIPOPDXPOPCXPOPBXPOPAXRETFUN3ENDPFUN4PROCNEAR;子程序4PUSHAXPUSHBXPUSHCXPUSHDXCALLCROT;調用子程序CROTMOVCH,AL;裝入入口參數(shù)MOVAH,01HINT21HCALLCROTMOVCL,ALMOVAH,01HINT21HCALLCROTMOVDH,ALMOVDL,0CALLENTMOVAH,2DH;調DOS中斷置時間INT21HCMPAL,0FFHJEFALPRT:PUSHDX;輸出時間MOVAL,CHMOVAH,0MOVBL,0AHDIVBLADDAL,30HADDAH,30HMOVDL,ALMOVDH,AHM
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版大型酒店集團客房布草集中采購合作協(xié)議3篇
- 二零二五年度醫(yī)療健康產業(yè)投資合作協(xié)議3篇
- 二零二五版海洋風味連鎖加盟店合作協(xié)議3篇
- 二零二五版國際貿易結算付款擔保協(xié)議書3篇
- 2025年度甲方與乙方共建研發(fā)中心的合作協(xié)議6篇
- 定制衣柜合同協(xié)議書范本
- 無償車輛租賃協(xié)議
- 汽車庫租賃協(xié)議
- 工程施工項目合作協(xié)議書(雙方現(xiàn)用)
- 2024承包食堂合同
- 2025年湖北武漢工程大學招聘6人歷年高頻重點提升(共500題)附帶答案詳解
- 【數(shù) 學】2024-2025學年北師大版數(shù)學七年級上冊期末能力提升卷
- GB/T 26846-2024電動自行車用電動機和控制器的引出線及接插件
- 陜西省咸陽市各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細及行政區(qū)劃代碼
- 綠城物業(yè)室內公共區(qū)域清潔作業(yè)規(guī)程
- 封條模板A4直接打印版
- 危險貨物道路運輸企業(yè)安全檢查通用清單
- 用友NC財務軟件操作手冊
- 眼內炎患者護理查房
- 電工維修培訓資料 維修電工技術學習 維修電工常識 電工培訓ppt課件
- 撲克牌24點練習題大全
評論
0/150
提交評論