![匯編語(yǔ)言程序設(shè)計(jì)(自學(xué))_第1頁(yè)](http://file4.renrendoc.com/view15/M02/0C/13/wKhkGWeL0fuAXEyWAAFDYNXKpsQ458.jpg)
![匯編語(yǔ)言程序設(shè)計(jì)(自學(xué))_第2頁(yè)](http://file4.renrendoc.com/view15/M02/0C/13/wKhkGWeL0fuAXEyWAAFDYNXKpsQ4582.jpg)
![匯編語(yǔ)言程序設(shè)計(jì)(自學(xué))_第3頁(yè)](http://file4.renrendoc.com/view15/M02/0C/13/wKhkGWeL0fuAXEyWAAFDYNXKpsQ4583.jpg)
![匯編語(yǔ)言程序設(shè)計(jì)(自學(xué))_第4頁(yè)](http://file4.renrendoc.com/view15/M02/0C/13/wKhkGWeL0fuAXEyWAAFDYNXKpsQ4584.jpg)
![匯編語(yǔ)言程序設(shè)計(jì)(自學(xué))_第5頁(yè)](http://file4.renrendoc.com/view15/M02/0C/13/wKhkGWeL0fuAXEyWAAFDYNXKpsQ4585.jpg)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
匯編語(yǔ)言程序設(shè)計(jì)(自學(xué))一、設(shè)置自學(xué)型課程的目的二、自學(xué)型課程的教學(xué)形式及教師的作用三、本課程教學(xué)目標(biāo)及學(xué)習(xí)方法四、本課程教學(xué)內(nèi)容及要求五、課程考核方法一、設(shè)置自學(xué)型課程的目的培養(yǎng)獨(dú)立學(xué)習(xí)新知識(shí)、新技能,發(fā)現(xiàn)問(wèn)題、分析問(wèn)題、解決問(wèn)題的自主學(xué)習(xí)能力,適應(yīng)科學(xué)技術(shù)和社會(huì)發(fā)展的要求。二、自學(xué)型課程的教學(xué)形式及教師的作用不進(jìn)行課堂講授,對(duì)自學(xué)課程提出學(xué)習(xí)要求,列出教材和參考書(shū)目,布置和批改課程作業(yè),進(jìn)行輔導(dǎo)、答疑、質(zhì)疑,組織學(xué)生討論,分析總結(jié)和組織課程考核等工作。本課程討論采用網(wǎng)上(教育在線)和指定教室兩種方式進(jìn)行答疑輔導(dǎo)上機(jī)時(shí)間:12-16周周二7-815周周一5-8節(jié)地點(diǎn):信北5071、沈美明、溫冬嬋。IBM-PC匯編語(yǔ)言程序設(shè)計(jì)(第二版),清華大學(xué)出版社,北京,2001.2、卜艷萍、周偉。匯編語(yǔ)言程序設(shè)計(jì)教程(第二版),清華大學(xué)出版社,北京,20073、沈美明、溫冬嬋編著,80x86匯編語(yǔ)言程序設(shè)計(jì)教程,清華大學(xué)出版社,北京,20014、葛洪偉、姜浩偉、趙雅群、黃蓓。Intel匯編語(yǔ)言程序設(shè)計(jì),中國(guó)電力出版社,北京,2007。參考書(shū)通過(guò)本課程的學(xué)習(xí),掌握匯編語(yǔ)言指令系統(tǒng)的功能、格式及尋址方式等基本概念的基礎(chǔ)上,通過(guò)自修及老師的指導(dǎo),學(xué)習(xí)利用匯編語(yǔ)言進(jìn)行程序設(shè)計(jì),為后續(xù)的微型計(jì)算機(jī)接口技術(shù)等相關(guān)課程的學(xué)習(xí)提供扎實(shí)的基礎(chǔ)。通過(guò)仔細(xì)閱讀教材及參考書(shū),掌握匯編語(yǔ)言進(jìn)行程序設(shè)計(jì)的方法,同時(shí)采用上機(jī)編程的形式對(duì)所學(xué)內(nèi)容進(jìn)行練習(xí),即采用理論與實(shí)踐相結(jié)合的方法學(xué)習(xí)。三、本課程教學(xué)目標(biāo)及學(xué)習(xí)方法四、本課程教學(xué)內(nèi)容及要求
1、匯編語(yǔ)言程序的開(kāi)發(fā)過(guò)程2、順序程序設(shè)計(jì)3、分支程序設(shè)計(jì)4、循環(huán)程序設(shè)計(jì)5、子程序設(shè)計(jì)6、系統(tǒng)功能子程序調(diào)用7、匯編語(yǔ)言程序的調(diào)試1、匯編語(yǔ)言程序的開(kāi)發(fā)過(guò)程程序設(shè)計(jì)步驟1、分析問(wèn)題,確定算法。2、選擇程序設(shè)計(jì)語(yǔ)言。3、編制程序流程。4、正確、合理使用存儲(chǔ)器和寄存器。5、編寫(xiě)程序。6、調(diào)試程序。2、順序程序設(shè)計(jì)要求:掌握一個(gè)完整的匯編語(yǔ)言程序的結(jié)構(gòu)框架。指令1指令2指令n指令n+1:例9-1設(shè)在數(shù)據(jù)段中定義有三個(gè)變量X,Y,Z, 請(qǐng)利用算術(shù)移位指令編寫(xiě)程序,計(jì)算出下式的值:Z=10*(X+Y)源程序:;設(shè)置數(shù)據(jù)段DATASEGMENTXDW20H;變量XYDW12H;變量YZDW?;變量ZDATAENDS;設(shè)置堆棧段STACK1SEGMENTPARASTACKDB10HDUP(0)STACK1ENDS;設(shè)置代碼段CODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAX,XADDAX,YSALAX,1MOVBX,AXMOVCL,2SALAX,CLADDAX,BXMOVY,AXMOVAH,4CHINT21HCODEENDSENDSTART3、分支程序設(shè)計(jì)條件滿足?語(yǔ)句1語(yǔ)句2YN條件滿足?語(yǔ)句YN條件滿足?分支程序的基本概念。利用比較/測(cè)試分支結(jié)構(gòu)實(shí)現(xiàn)程序設(shè)計(jì)。利用分支表結(jié)構(gòu)實(shí)現(xiàn)程序設(shè)計(jì)。重點(diǎn):掌握分支程序的設(shè)計(jì)方法。難點(diǎn):利用地址表、跳轉(zhuǎn)表法實(shí)現(xiàn)分支程序設(shè)計(jì)。3、分支程序設(shè)計(jì)學(xué)習(xí)程序設(shè)計(jì)過(guò)程中需要注意掌握轉(zhuǎn)移指令的運(yùn)用。
分支程序主要包括:兩分支程序設(shè)計(jì)
多分支程序設(shè)計(jì)條件轉(zhuǎn)移法地址表法跳轉(zhuǎn)表法程序如下: TEST DA1, 01H JE NEXT INCDA1NEXT:………測(cè)試DA1的第0位(DA1)0=0?DA1<=(DA1)+1
Y
N(b)程序段流程試編制一程序段,把DA1字節(jié)單元中數(shù)據(jù)變?yōu)榕紨?shù)。分支結(jié)構(gòu)——比較/測(cè)試
MOVAL,X CMPAL,0 JGEL1 MOVAL,0FFH JMPEXITL1: JEEXIT MOVAL,1EXIT:MOVY,AL求符號(hào)函數(shù): -1 X<0Y(X)= 0 X=0 1 X>0分支結(jié)構(gòu)——比較/測(cè)試:SUB1-L表首址SUB1-H:SUB3-HSUB4-LSUB4-HSUB5-LSUB5-HSUB2-LSUB2-HSUB3-L由跳轉(zhuǎn)的入口地址組成由入口地址構(gòu)造跳轉(zhuǎn)表的多路分支程序設(shè)計(jì)。分支結(jié)構(gòu)——地址表
TITLEEXAMPLEOFJUMPTABLE-1DATA SEGMENTJUMP_TABLE DWSUB1,SUB2,SUB3,SUB4,SUB5PARAM DB 3DATA ENDSSTACK1 SEGMENTPARASTACK DW 20H DUP(0)STACK1 ENDSCOSEG SEGMENT ASSUMECS:COSEG,DS:DATABEING: MOV AX,DATA MOV DS,AX : MOV AH,0 MOV AL,PARAM DEC AL SHL AL,1 MOV BX,OFFSETJUM_TABLE
ADD BX,AX MOV AX,[BX] JMP AX SUB1: ……… : JMP ENDO SUB2: ……… : JMP ENDO SUB3: ……… : JMP ENDO SUB4: ……… : JMP ENDO SUB5: ……… : ENDO: MOV AH,4CH INT 21H COSEG ENDS END BEING
MOVAL,X ADDAL,AL MOVAH,0 MOVBX,OFFSETTAB ADDBX,AX MOVAX,[BX] JMPAXSUB1: ... JMPOKSUB2: ... JMPOK利用地址表實(shí)現(xiàn)分支 分支結(jié)構(gòu)——地址表由轉(zhuǎn)移指令構(gòu)造跳轉(zhuǎn)表的多路分支程序設(shè)計(jì)。::表首址JMPSUB1JMPSUB2JMPSUB3JMPSUB4由跳轉(zhuǎn)指令組成分支結(jié)構(gòu)——跳轉(zhuǎn)表 TITLE EXAMPLEOFJUMPTABLE-2DATA SEGMENTPARAM DW4DATA ENDSSTACK1 SEGMENT PARA STACK DW 20H DUP(0)STACK1 ENDSCOSEG SEGMENT ASSUMECS:COSEG,DS:DATABEING: MOV AX,DATA MOV DS,AX : MOV BH,0 MOV BL,PARAM DEC BL MOV AL,BL SHL BL,1 ADD BL,AL ADD BX,OFFSETJUMP_TABLE
JMP BXJUM_TABLE: JMP SUB1 JMP SUB2 JMP SUB3 JMP SUB4 JMP SUB5SUB1: ……… : JMP ENDOSUB2: ……… : JMP ENDOSUB3: ……… : JMP ENDOSUB4: ……… : JMP ENDOSUB5: ……… :ENDO: MOV AH,4CH INT 21HCOSEG ENDS END BEING 4、循環(huán)程序設(shè)計(jì)循環(huán)程序的基本結(jié)構(gòu)循環(huán)程序的控制方法多重循環(huán)程序設(shè)計(jì)重點(diǎn):掌握循環(huán)程序的設(shè)計(jì)方法。難點(diǎn):循環(huán)程序的控制方法:
計(jì)數(shù)控制法和條件控制法;多重循環(huán)程序設(shè)計(jì)。循環(huán)程序結(jié)構(gòu)初始化部分工作部分修改部分循環(huán)結(jié)束結(jié)束處理部分YN循環(huán)結(jié)束工作部分修改部分結(jié)束處理部分初始化部分初始化部分Y控制部分控制部分N循環(huán)程序結(jié)構(gòu)1、初始化部分設(shè)置地址指針、計(jì)數(shù)器初值2、工作部分3、修改部分4、控制部分用計(jì)數(shù)控制循環(huán)用條件控制循環(huán)5、結(jié)束處理部分循環(huán)控制方法1、用計(jì)數(shù)控制循環(huán)使用計(jì)數(shù)器,達(dá)到計(jì)數(shù)器預(yù)定值,循環(huán)結(jié)束。要求循環(huán)次數(shù)已知。計(jì)數(shù)器可以遞增、遞減可以選用寄存器、也可用存儲(chǔ)單元2、用條件控制循環(huán)找出一個(gè)終止循環(huán)的條件,每循環(huán)一次,對(duì)條件進(jìn)行一次檢測(cè)。滿足終止循環(huán)的條件,退出循環(huán),否則繼續(xù)。通常選用條件轉(zhuǎn)移指令來(lái)控制循環(huán)是否結(jié)束。分清內(nèi)外循環(huán)的任務(wù)和要求,劃分內(nèi)外循環(huán)中有規(guī)律變化的參數(shù):地址指針、計(jì)數(shù)器確定內(nèi)外循環(huán)的控制方法和具體實(shí)施。3、多重循環(huán)程序設(shè)計(jì)循環(huán)控制方法5、子程序設(shè)計(jì)子程序設(shè)計(jì)方法子程序的參數(shù)傳遞子程序的嵌套與遞歸
重點(diǎn):掌握子程序的設(shè)計(jì)方法;主程序現(xiàn)場(chǎng)的保護(hù)與恢復(fù)。
難點(diǎn):主程序和子程序之間的參數(shù)傳遞方法:寄存器傳遞參數(shù)法、存儲(chǔ)器傳遞參數(shù)法、地址表傳遞參數(shù)法和堆棧傳遞參數(shù)法;子程序的嵌套與遞歸。程序基本結(jié)構(gòu)主調(diào)過(guò)程(主程序)被調(diào)過(guò)程(子程序)查找程序字符輸入串輸入查找結(jié)果輸出5、子程序設(shè)計(jì)過(guò)程定義過(guò)程調(diào)用過(guò)程返回需要掌握子程序設(shè)計(jì)方法1、適度地劃分并確定子程序功能具有獨(dú)立功能的程序作為一個(gè)模塊多次出現(xiàn)的程序段獨(dú)立出來(lái)2、選擇適當(dāng)?shù)膮⒘總鬟f途徑寄存器傳遞、參數(shù)表傳遞、地址表傳遞、堆棧傳遞3、信息的保存在主程序中保存信息在子程序中保存信息4、編寫(xiě)子程序的文字說(shuō)明(1)在調(diào)用程序中保存信息
:PUSHPUSHPUSHCALLPOPPOPPOP:AXBXCXSUB_PROCCXBXAX;保存信息;調(diào)用子程序;恢復(fù)信息信息的保存(2)在子程序中保存信息SUB_PTOC1SUB_PROC1PROCPUSHBXPUSHCXPUSHSIPUSHBP::POPBPPOPSIPOPCXPOPBXRETENDP子程序功能的指令序列信息的保存過(guò)程調(diào)用——參數(shù)傳遞用寄存器傳遞—適合參數(shù)較少情況用參數(shù)表傳遞—適合參數(shù)較多情況用堆棧傳遞—適合參數(shù)多情況UPTOLWPROCPUSHFCMPAL,‘A’JBUP1CMPAL,‘Z’JAUP1ADDAL,‘a(chǎn)’-‘A’UP1:POPFRETUPTOLWENDP把大寫(xiě)字母改為小寫(xiě)字母;子程序名:UPTOLW;功能:大寫(xiě)轉(zhuǎn)換小寫(xiě);入口參數(shù):AL=待轉(zhuǎn)字符;出口參數(shù):AL中放轉(zhuǎn)換完字符MOVAL,‘R’CALLUPTOLWMOVDL,AL過(guò)程調(diào)用——寄存器傳遞ARYDW-86,420,7,…,40COUNTDW100SUMDW?TABDW3DUP(?)MOVTAB,OFFSETARYMOVTAB+2,OFFSETCOUNTMOVTAB+4,OFFSETSUMLEABX,TABCALLPADDMOVDX,SUM …...PADDPROCMOVSI,[BX]MOVDI,[BX+2]MOVCX,[DI]MOVDI,[BX+4]XORAX,AXL:ADDAX,[SI]ADDSI,2LOOPLMOV[DI],AXRETPADDENDP過(guò)程調(diào)用——參數(shù)表傳遞過(guò)程調(diào)用——用棧傳遞參數(shù)在主調(diào)程序中壓入?yún)?shù)參數(shù)和返回地址在棧中的位置在被調(diào)過(guò)程中讀取參數(shù)在主調(diào)程序中讀取返回的參數(shù)利用堆棧傳遞參數(shù),實(shí)現(xiàn)數(shù)組ARRAY單元的累加。
DATASEGMENTARRAYDW21,22,23,24,25,26,27COUNTDW($-ARRAY)/2RESULTDW?DATAENDSSTACK1SEGMENTPARASTACKDW20HDUP(0)STACK1ENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVAX,OFFSETARRAY;將ARRAY的地址入棧
PUSHAXMOVAX,COUNT;將COUNT入棧
PUSHAXMOVAX,OFFSETRESULT;將RESULT的地址入棧
PUSHAX
CALLSUM_PROCMOVAH,4CHINT21HCODEENDSENDSTARTSUM_PROCPROCPUSHAX;將子程序中用到的寄存器入棧保護(hù)
PUSHSIPUSHDIPUSHBP
MOVBP,SPMOVSI,[BP+14];將ARRAY的地址取出,存入SIMOVCX,[BP+12];將COUNT的內(nèi)容取出,存入CX
MOVDI,[BP+10];將RESULT的地址取出,存入DIXORAX,AX;AX寄存器初始化
LOP:ADDAX,[SI];累加
ADDSI,2;修改指針,移到下一單元
LOOPLOPMOV[DI],AX;將結(jié)果保存到RESULT中
POPBPPOPDI;恢復(fù)寄存器
POPSIPOPAXRET6ENDP用棧傳遞參數(shù)處理要點(diǎn)壓入?yún)?shù)CALL 從棧中彈出壓入的參數(shù)用BP間址方式取出參數(shù)處理RET主調(diào)程序被調(diào)過(guò)程參數(shù)壓入順序與取出順序相反參數(shù)的個(gè)數(shù)和類型按事先約定存取調(diào)用結(jié)束時(shí),從棧中清除壓入的參數(shù)6、系統(tǒng)功能調(diào)用系統(tǒng)功能調(diào)用——由OS提供的一組實(shí)現(xiàn)特殊功能的子程序供程序員在程序中調(diào)用,以減輕編程工作量。系統(tǒng)功能調(diào)用有兩種,一種稱為DOS功能調(diào)用,另一種稱為BIOS功能調(diào)用。應(yīng)用程序外設(shè)硬件接口BIOSDOS系統(tǒng)功能調(diào)用采用軟中斷指令
INTn(其中:n為中斷類型碼)(1)PUSHF,TF、IF清0,CS、IP入棧(2)按中斷類型碼n,從中斷向量表對(duì)應(yīng)位置取出將要調(diào)用的功能子程序的入口地址CS,IP(3)功能子程序返回:IRETDOS功能調(diào)用調(diào)用方法:入口參數(shù)子程序編號(hào)送AHINT21HDOS功能調(diào)用基本I/O功能調(diào)用
功能入口參數(shù)出口參數(shù)說(shuō)明鍵盤(pán)輸入AH=1 AL=字符ASCII碼 字符顯示控制臺(tái)輸入AH=8 同1號(hào) 無(wú)顯示顯示輸出AH=2 DL=字符ASCII碼打印輸出AH=5 DL=字符ASCII碼直接控制臺(tái)AH=6,7 ZF=0,AL=字符ASCII碼 輸入/輸出DL=0FFH/字符碼 ZF=1無(wú)鍵按下 字符串輸出AH=9 字符串須以‘$’結(jié)束
DS:DX=串首址字符串輸入AH=0AH 首先定義緩沖區(qū)(1)從鍵盤(pán)輸入一個(gè)字符(功能號(hào)=1)
MOVAH,1;等待按鍵INT21H;字符回顯<AL中有鍵入的字符>
(2)從鍵盤(pán)輸入一個(gè)字符,無(wú)顯示(功能號(hào)=8)
MOVAH,8INT21H<AL中有鍵入的字符>DOS功能調(diào)用
例:程序中有時(shí)需要用戶對(duì)提示做出應(yīng)答
GET_KEY:MOVAH,1
;等待鍵入字符
INT21H
;結(jié)果在AL中
CMPAL,’Y’ ;是’Y’?JZYES ;是,轉(zhuǎn)YESCMPAL,’N’ ;是’N’?JZNO ;是,轉(zhuǎn)NOJMPGET_KEY;否則繼續(xù)等待輸入YES: …
…NO: …(3)在顯示器上顯示一個(gè)字符(功能號(hào)=2)
MOVDL,<要顯示的字符>MOVAH,2INT21H例:在顯示器上顯示一個(gè)字符‘A’MOVDL,’A’;或MOVDL,
41HMOVAH,2INT21HDOS功能調(diào)用(4)MOVDL,0FFH ;鍵盤(pán)輸入MOVAH,6INT21HMOVDL,24H ;屏幕輸出MOVAH,6INT21HDOS功能調(diào)用(5)顯示字符串(功能號(hào)=9)
LEADX,<字符串>
MOVAH,9 INT21H注意:被顯示的字符串必須以’$’結(jié)束。DOS功能調(diào)用DATASEGMENTBUFDB‘HOWDOYOUDO?$’...DATAENDS...MOVAX,DATAMOVDS,AX...MOVDX,OFFSETBUFMOVAH,9INT21H...
例:顯示一字符串(6)輸入字符串(功能號(hào)=0AH)此功能調(diào)用從鍵盤(pán)輸入一串字符并把它存入用戶指定的緩沖區(qū)中。LEADX,<字符串緩沖區(qū)首地址>MOVAH,
0AHINT21H
DOS功能調(diào)用(預(yù)留的N1個(gè)字節(jié)的存儲(chǔ)單元)
0DHN2N1N1:緩沖區(qū)長(zhǎng)度(最大鍵入字符數(shù))N2:實(shí)際鍵入的字符數(shù)(不包括回車符)用戶定義的輸入字符串的緩沖區(qū)格式DATASEGMENTBUFDB10 ;緩沖區(qū)長(zhǎng)度
DB? ;實(shí)際輸入個(gè)數(shù)
DB10DUP(?) ;存儲(chǔ)空間DATAENDS...MOVAX,DATAMOVDS,AX...LEADX,BUFMOVAH,10INT21H...
例:輸入字符串DOS功能調(diào)用基本I/O功能調(diào)用
功能入口參數(shù)出口參數(shù)說(shuō)明設(shè)置日期AH=2BH AL=0或AL=0FFH 均為二進(jìn)制數(shù)
CX=年號(hào)
DH=月,DL=日讀取日期AH=2AH CX=年號(hào) 均為二進(jìn)制數(shù)
DH=月,DL=日設(shè)置時(shí)間AH=2DH CH=小時(shí),CL=分 AL=0或AL=0FFH 均為二進(jìn)制數(shù)
DH=秒,DL=毫秒讀取時(shí)間AH=2CH CH=小時(shí),CL=分 均為二進(jìn)制數(shù) DH=秒,DL=毫秒MOVCX,1999MOVDH,5MOVDL,20MOVAH,2BH ;設(shè)置日期INT21H ;1999.5.20MOVAH,2AH ;取得日期INT21H ;cx:dx=1999.5.20MOVYEAR,CXMOVMONTH,DHMOVDAY,DLDOS功能調(diào)用(7)設(shè)置/讀出日期MOVCX,090FHMOVDX,0200HMOVAH,2DH ;設(shè)置時(shí)間INT21H ;9點(diǎn)15分2秒MOVAH,2CH ;取得時(shí)間INT21H ;cx:dxMOVHOURS,CXMOVMINUTES,DHMOVSECOND,DLDOS功能調(diào)用(8)設(shè)置/讀出時(shí)間BIOS功能調(diào)用BIOS調(diào)用通過(guò)多個(gè)軟中斷提供,調(diào)用方法為:
MOVAH,<功能號(hào)>
<設(shè)置入口參數(shù),一般將參數(shù)放在寄存器中> INT <中斷類型>
BIOS中的幾個(gè)主要中斷類型如下:
INT10H——屏幕顯示
INT13H——磁盤(pán)操作
INT14H——串行口操作
INT16H——鍵盤(pán)操作 INT17H——打印機(jī)操作 每類中斷由包含許多子功能,調(diào)用時(shí)通過(guò)功能號(hào)指定。BIOS功能調(diào)用鍵盤(pán)輸入——16H號(hào)功能調(diào)用 功能 出口參數(shù) 說(shuō)明AH=0 AL=字符的ASCII碼從鍵盤(pán)讀一個(gè)字符 AH=1 ZF=1表示無(wú)鍵可讀判鍵盤(pán)是否有鍵可讀ZF=0表示有鍵可讀AH=2 AL=功能鍵狀態(tài)字節(jié)取特殊功能鍵當(dāng)前狀態(tài)BIOS功能調(diào)用打印輸出——17H號(hào)功能調(diào)用
功能入口參數(shù)出口參數(shù)說(shuō)明AH=0 AL=字符代碼 打印一個(gè)字符DX=打印機(jī)號(hào) AH=1 DX=打印機(jī)號(hào) 初始化打印機(jī) AH=2 DX=打印機(jī)號(hào) AL=狀態(tài)字節(jié)取打印機(jī)狀態(tài)BIOS功能調(diào)用顯示輸出——10H號(hào)功能調(diào)用功能入口參數(shù)出口參數(shù)說(shuō)明AH=0 AL=方式號(hào)設(shè)置顯示方式AH=1 CH=光標(biāo)開(kāi)始行號(hào)置光標(biāo)類型 CL=光標(biāo)結(jié)束行號(hào)AH=2 DH=行號(hào),DL=列號(hào)置光標(biāo)位置 BH=頁(yè)號(hào)AH=3 BH=頁(yè)號(hào)
DH=行號(hào),DL=列號(hào)讀光標(biāo)位置 CX=當(dāng)前光標(biāo)大小AH=5 AL=頁(yè)號(hào)選擇當(dāng)前顯示頁(yè)BIOS功能調(diào)用顯示輸出——10H號(hào)功能調(diào)用功能入口參數(shù)出口參數(shù)說(shuō)明向上滾屏 AH=6,AL=上滾行數(shù),BH=空行屬性
CH、CL=滾動(dòng)左上角行列號(hào)
DH、DL=滾動(dòng)右下角行列號(hào)向下滾屏 AH=7
其余同6讀光標(biāo)處 AH=8 AL=字符字符和屬性 BH=頁(yè)號(hào) AH=屬性將字符和屬性AH=9,AL=字符寫(xiě)到光標(biāo)處BH=頁(yè)號(hào),CX=個(gè)數(shù)
BL=字符屬性/顏色將字符寫(xiě)到 AH=0AH 屬性不變光標(biāo)位置 其余同9編輯程序源程序文件宏匯編程序MASM目標(biāo)程序文件語(yǔ)法有錯(cuò)?N鏈接程序LINKYAB.ASM.OBJ.LST可執(zhí)行文件調(diào)試程序DEBUG有錯(cuò)嗎?N結(jié)束YAB.EXE.MAP7、匯編語(yǔ)言程序的調(diào)試1、編輯源程序用DOS下的文本編輯器EDIT編寫(xiě)程序。C:\>EDITFibonacci.ASM
(回車)2、產(chǎn)生目標(biāo)文件對(duì)已經(jīng)編輯好的.ASM文件,可以用宏匯編程序MASM進(jìn)行匯編,匯編后生成二進(jìn)制代碼的目標(biāo)程序。C:\>MASMFibonacci.ASM(回車)MASM在匯編源程序時(shí),產(chǎn)生三個(gè)文件。目標(biāo)文件、列表文件、交叉引用符號(hào)表文件(CRF文件)3、連接產(chǎn)生可執(zhí)行文件匯編程序生成的目標(biāo)文件,必須經(jīng)過(guò)連接程序連接后,才可以得到在計(jì)算機(jī)上運(yùn)行的可執(zhí)行程序。C:\>LINKFibonacci(回車)連接程序連接后,可以產(chǎn)生三個(gè)文件??蓤?zhí)行文件,清單文件、需要連接的庫(kù)文件
4、運(yùn)行程序C:\>Fibonacci(回車)DOS下使用DEBUG調(diào)試1、進(jìn)入與退出命令DEBUG文件名[參數(shù)表]如果需要退出DEBUG狀態(tài),返回操作系統(tǒng),可以使用退出命令Q。2、顯示命令顯示寄存器內(nèi)容——R命令顯示存儲(chǔ)器內(nèi)容——D命令反匯編命令——U命令3、修改命令匯編指令——A命令修改寄存器內(nèi)容——R
溫馨提示
- 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-2030全球5C超快充電池行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)火藥量器行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025融資買賣合同范文
- 酒水購(gòu)銷合同模板
- 分期付款買賣合同參考范文
- 2025太原市購(gòu)房合同范本范文
- 水果長(zhǎng)期供應(yīng)購(gòu)銷合同范本
- 2025廚房設(shè)備購(gòu)買合同樣本
- 燈具購(gòu)銷合同書(shū)范本
- 探索未知世界主題班會(huì)
- 2024年中考語(yǔ)文 (湖北專用)專題一 字音、字形課件
- T-ACEF 095-2023 揮發(fā)性有機(jī)物泄漏檢測(cè)紅外成像儀(OGI)技術(shù)要求及監(jiān)測(cè)規(guī)范
- 2023年全國(guó)高考乙卷歷史真題試卷及答案
- 骨科手術(shù)的術(shù)后飲食和營(yíng)養(yǎng)指導(dǎo)
- 旅游定制師入行培訓(xùn)方案
- 2024年中國(guó)南方航空股份有限公司招聘筆試參考題庫(kù)含答案解析
- 六年級(jí)上冊(cè)數(shù)學(xué)應(yīng)用題100題
- 個(gè)人代賣協(xié)議
- 賞析小說(shuō)語(yǔ)言(二)
- 【立高食品公司的償債能力現(xiàn)狀及問(wèn)題分析(論文9000字)】
- 10.《運(yùn)動(dòng)技能學(xué)習(xí)與控制》李強(qiáng)
評(píng)論
0/150
提交評(píng)論