匯編語言程序設計46~68節(jié)_第1頁
匯編語言程序設計46~68節(jié)_第2頁
匯編語言程序設計46~68節(jié)_第3頁
匯編語言程序設計46~68節(jié)_第4頁
匯編語言程序設計46~68節(jié)_第5頁
已閱讀5頁,還剩69頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

4.6.1順序結構程序設計順序結構程序也稱為簡單程序,這種結構的程序是按順序執(zhí)行下來的,程序本身的邏輯很簡單,只要能正確安排有關語句的順序,即可解決問題。4.6匯編語言程序設計在匯編語言程序中,主要有四種結構:順序程序、分支程序、循環(huán)程序、子程序。順序程序分支程序循環(huán)程序子程序圖4-3四種基本程序結構的示意圖例4-10編程實現(xiàn)123*456→M MDD? MOVAX,123 MOVBX,456 MULBX MOVM,AX MOVM+2,DX4.6.1順序結構程序設計例4-11從鍵盤上鍵入0至9中任一個自然數(shù),求其立方值。數(shù)據(jù)段定義如下:DATASEGMENTINPUTDB‘PLEASEINPUTX(0~9):$’TABDW0,1,8,27,64,125,216,343,512,729XDB?XXXDW?DATAENDS4.6.1順序結構程序設計程序段如下:

INT 21H;用9號功能顯示字符串MOV AH,1INT 21H;從鍵盤輸入一個字符ALAND AL,0FHMOV X,AL;將ASCII碼轉換成真值

ADD AL,ALMOV BL,ALMOV BH,0;計算在表中的偏移量送BXMOV AX,TAB[BX];查表獲得立方值

MOV XXX,AX;將立方值保存在XXX單元

4.6.1順序結構程序設計4.6.2分支結構程序設計N分支1YNY分支2條件

1.利用比較與條件轉移實現(xiàn)分支

例4-13求兩個無符號數(shù)差的絕對值,結果存放在D1單元中。DATASEGMENT

D1 DB?

D2 DB0F5H,68HDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXLEA BX,D2MOV AL,[BX];取第1個數(shù)

INC BX4.6.2分支結構程序設計MOV CL,[BX];取第2個數(shù)CMP AL,CL;兩個數(shù)比較JAE BIGR;大于等于,則轉BIGRSUB CL,AL;否則,第2個數(shù)減第1個數(shù)MOV D1,CL;兩數(shù)差的絕對值存D1單元JMP RSTBIGR:SUB AL,CL;第1個數(shù)減去第2個數(shù)MOV D1,ALRST:MOV AH,4CHINT 21HCODEENDSEND START4.6.2分支結構程序設計例4-14設在A、B、C字型變量中存放著3個數(shù),若3個數(shù)均不為0,則求出它們的和(不考慮溢出)存入D單元。DATASEGMENTA DW108B DW0C DW45D DW?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AX4.6.2分支結構程序設計MOV BH,0;BH淸0MOV D,0;變量D淸0CMP A,0;判斷變量A是否為0JNE NT1;A非0則轉去判斷變量BINC BH;A為0則BH加1NT1:CMPB,0 ;判斷變量B是否為0JNE NT2;B非0則轉去判斷變量CINC BH;B為0則BH加1NT2:CMPC,0;判斷變量C是否為0JNE NT3;C非0則轉去判斷寄存器

INCBH4.6.2分支結構程序設計NT3:CMPBH,0;判斷寄存器BH是否為0JNE EXIT;BH非0則程序結束

MOV AX,A;BH為0則求和并存入D單元

ADD AX,BADD AX,CMOV D,AXEXIT:MOVAH,4CHINT 21HCODEENDSENDSTART4.6.2分支結構程序設計2利用跳轉表實現(xiàn)分支

條件分支1分支2分支n……例4-15某工廠有n+1種產(chǎn)品R0、R1、R2、...、Rn的加工程序,分別存放在PR0、PR1、PR2、...PRn為首地址的內(nèi)存區(qū)域中。而這n+1個首地址的偏移量連續(xù)存放在以BASE為基地址的跳轉表中。已知產(chǎn)品編號存放在NUM單元中,要求編寫程序,能夠根據(jù)產(chǎn)品編號轉至相應的處理程序。DATASEGMENTBASEDWPR0,PR1,PR2,...,PRn

;定義跳轉表NUM DB4DATAENDS4.6.2分支結構程序設計CODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXXORAX,AX;清AXMOVAL,NUM;取加工的產(chǎn)品編號iADDAX,AX;2*i,獲得偏移量

MOVBX,OFFSETBASE;獲得跳轉表首地址

ADDBX,AX;獲得對應的單元地址

JMPBX;轉入相應的加工子程序

MOVAH,4CH;程序結束

INT21H4.6.2分支結構程序設計PROPROC NEAR;加工子程序

...PR0ENDP

;PR1PROC NEAR...PR1ENDP

...PRnPROC NEAR...PRnENDPCODEENDSEND START4.6.2分支結構程序設計PR0BASEPR0PRnPR1PR2PRn….…4.6.2分支結構程序設計

圖4-5例4-15的跳轉表

4.6.3循環(huán)結構程序設計1.循環(huán)程序結構可分為五個部分。(1)初始化部分設置循環(huán)的初始值,是循環(huán)的準備部分。(2)循環(huán)體部分這是循環(huán)程序的主體,用來完成主要的計算任務和操作。(3)循環(huán)修改部分修改循環(huán)工作部分的變量地址等,為下一次循環(huán)作準備。(4)循環(huán)控制部分修改循環(huán)次數(shù)計數(shù)器并判斷結束條件。(5)結束部分循環(huán)結束后,用于分析和存放結果。4.6.3循環(huán)結構程序設計2循環(huán)的控制方法

(1)計數(shù)控制用于循環(huán)次數(shù)已知的情況。通常采用CX寄存器為循環(huán)計數(shù)器。循環(huán)計數(shù)控制一般用LOOP指令實現(xiàn)。(2)條件控制用于循環(huán)次數(shù)未知,但卻已知一些循環(huán)或不循環(huán)的條件。(3)邏輯尺控制這是匯編語言循環(huán)程序設計獨有的方式。所謂邏輯尺,是指具有一定長度的一串二進制數(shù)。該方式按照邏輯尺的指示,決定對循環(huán)體中某一部分的執(zhí)行或不執(zhí)行。

4.6.3循環(huán)結構程序設計3.循環(huán)程序設計舉例

例4-16編程計算Y=a1+a2+…+a100。(其中ai為16位二進制整數(shù),設和值不大于16位二進制整數(shù)表數(shù)范圍)

DATASEGMENTTAB DWa1,a2,...,a100Y DW?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AX

4.6.3循環(huán)結構程序設計XOR AX,AX;初始化部分,累加和清0LEA BX,TAB ;BX指向加數(shù)首地址

MOV CX,100 ;設置減計數(shù)初值LP:ADD AX,[BX];循環(huán)體開始,累加

INC BX;修改部分,修改BX

INC BXLOOP LP;控制部分,CX減計數(shù)

MOV Y,AX;結束部分,存放結果

MOV AH,4CHINT 21HCODEENDSEND START4.6.3循環(huán)結構程序設計例4-17寫一個把字符串中的所有大寫字母改寫為小寫字母的程序。設字符串以‘$’結尾。DATASEGMENTSTRINGDB‘IamAStudent!’,’$’DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV SI,OFFSETSTRING;取串首地址AGAIN:MOV AL,[SI];取一字符

CMP AL,‘$’;是否到字符串尾4.6.3循環(huán)結構程序設計JEOK;到字符串尾,跳出循環(huán)

CMPAL,‘A’;否則,判斷是否為大寫字母

JB NEXT;否,轉繼續(xù)

CMPAL,‘Z’JA NEXT;否,轉繼續(xù)

ORAL,20H;是大寫字母,改為小寫字母NEXT:INCSI;調(diào)整指針

JMPAGAIN;繼續(xù)循環(huán)OK:MOVAH,4CH;結束

INT21HCODEENDSENDSTART4.6.3循環(huán)結構程序設計例4-18設計一個程序判斷無符號字型數(shù)組BUFFER的若干個元素中是否含有數(shù)字0,如有則把第一個0元素所在存儲單元的偏移地址送字型變量ADDR,如沒有則將該變量的值置為0FFFFH。數(shù)據(jù)段定義如下:DATASEGMENTBUFFERDW23,65,89,……COUNTEQU$-BUFFER;元素個數(shù)

ADDDRDW?DATAENDS4.6.3循環(huán)結構程序設計程序段如下:

MOVBX,OFFSETBUFFER;數(shù)組地址到BXMOVCX,COUNT;置循環(huán)最大次數(shù)AGAIN:MOVAX,[BX];取一元素

CMPAX,0;與0比較

JZYES;相等則跳出循環(huán)

ADDBX,2;修改地址指針

LOOPAGAIN;循環(huán)控制

MOVADDR,0FFFFH;沒找到

JMPEXITYES:MOV ADDR,BX;找到EXIT:......;結束4.6.3循環(huán)結構程序設計例4-19設字型數(shù)組X、Y分別有12個元素,試形成一個Z數(shù)組,使該數(shù)組的各元素滿足以下關系:Z0=X0+Y0Z1=X1+Y1Z2=X2-Y2Z3=X3+Y3Z4=X4+Y4Z5=X5+Y5Z6=X6+Y6Z7=X7-Y7Z8=X8-Y8Z9=X9+Y9Z10=X10+Y10Z11=X11-Y11邏輯尺的定義:用0表示加運算,用1表示減運算,則12個式子的運算操作按Z11,Z10,Z9,…,Z0的順序可表示為二進制數(shù)100110000100。為存放這個二進制數(shù),可在內(nèi)存中定義一個字變量,將二進制數(shù)作為該變量的低12位,變量的高4位無意義。

4.6.3循環(huán)結構程序設計數(shù)據(jù)段定義如下:DATASEGMENTXDW3,65,96,45,86,8,50,7,76,45,75,5YDW9,45,23,6,74,8,21,45,12,4,64,87ZDW12DUP(?)RULERDW0000100110000100BDATAENDS主要程序段如下:……

MOV BX,0;置地址指針

MOV CX,12;置循環(huán)次數(shù)

MOVDX,RULER4.6.3循環(huán)結構程序設計AGAIN:MOVAX,X[BX];取數(shù)組X一元素

SHRDX,1;邏輯尺右移一位

JCSUBS;移出位為1則相減

ADDAX,Y[BX];否則相加

JMPNEXTSUBS:SUBAX,Y[BX]NEXT:MOVZ[BX],AX;將結果存入Z數(shù)組

ADDBX,2;修改地址指針

LOOPAGAIN;循環(huán)控制EXIT:MOV ......;結束4.6.3循環(huán)結構程序設計例4-20用冒泡排序法對有符號字型數(shù)組ARY按升序排列。下面是對有7個元素的無序表進行冒泡排序:表的初始狀態(tài):[36486698751328]第一遍比較之后:[364866751328]98第二遍比較之后:[3648661328]7598第三遍比較之后:[36481328]667598第四遍比較之后:[361328]48667598第五遍比較之后:[1328]3648667598第六遍比較之后:132836486675984.6.3循環(huán)結構程序設計數(shù)據(jù)段定義如下:DATASEGMENTARY DW n1,n2,n3,……N EQU ($-ARY)/2;數(shù)組元素個數(shù)DATAENDS主要程序段定義如下:……MOVCX,N-1;置外循環(huán)次數(shù)LOOP1:PUSHCX;保存外循環(huán)計數(shù)器的值MOVBX,0;置地址指針4.6.3循環(huán)結構程序設計LOOP2:MOVAX,ARY[BX];取前面元素到AXCMPAX,ARY[BX+2];與后面元素比較

JLEOK;次序正確則轉到下一步

XCHGAX,ARY[BX+2];否則,交換位置

MOVARY[BX],AXOK:ADD BX,2;修改地址指針

LOOPLOOP2;內(nèi)循環(huán)控制

POPCX;將CX恢復為外循環(huán)計數(shù)器值

LOOPLOOP1;外循環(huán)控制……4.6.3循環(huán)結構程序設計

4.6.4子程序設計

1.子程序的調(diào)用和返回

SP返回地址偏移CSIP返回地址偏移IPCSSP返回地址段值返回地址段值CALL指令執(zhí)行后RET指令執(zhí)行后要實現(xiàn)子程序的正確調(diào)用返回,必須注意:(1)正確定義子程序的類型。(2)CALL和RET指令必須成對出現(xiàn)。(3)正確使用堆棧。

4.6.4子程序設計

2.保存和恢復寄存器

典型的保護和恢復寄存器編程舉例如下:子程序名PROCNEAR(或FAR)PUSHAX;保護現(xiàn)場PUSHBXPUSHCXPUSHDXPUSHF...

4.6.4子程序設計

...POPF;恢復現(xiàn)場POPDXPOPCXPOPBXPOPAXRET子程序名ENDP

4.6.4子程序設計

3.主程序和子程序之間的參數(shù)傳送方法

參數(shù)傳送的主要方法有以下幾種:(1)通用寄存器傳送參數(shù)。主程序調(diào)用子程序時,將要傳送的參數(shù)裝入某些指定寄存器;子程序返回時也將結果裝入指定的寄存器。(2)存儲單元傳送參數(shù)。指定某些存儲單元存放主程序與子程序之間要傳遞的參數(shù)。(3)堆棧傳送參數(shù)。主程序把參數(shù)或參數(shù)地址壓入堆棧,子程序通過訪問堆棧取得參數(shù)。

4.6.4子程序設計

4.子程序說明信息

子程序的說明信息至少應該包含下面幾個部分:;子程序名:‥‥‥‥‥‥;功能:‥‥‥‥‥‥;入口參數(shù):‥‥‥‥‥‥;出口參數(shù):‥‥‥‥‥‥;其它說明:‥‥‥‥‥‥

4.6.4子程序設計

例4-21編寫一個對字型數(shù)組各元素求和的子程序(不考慮進位),并在主程序中調(diào)用該子程序分別求字型數(shù)組A1和A2的各元素之和。(1)使用通用寄存器傳遞參數(shù)DATASEGMENTA1DW30H,20H,10,30H,6BHN1EQU($-A1)/2;獲得A1元素的個數(shù)

SUM1DW?;存放數(shù)組A1的和

A2DW45,12,-4,89,6CH,0DH,35N2EQU($-A2)/2;獲得A2元素的個數(shù)

SUM2DW?;存放數(shù)組A2的和DATAENDS

4.6.4子程序設計

主要程序如下:......LEABX,A1;傳送數(shù)組A1的地址到BXMOVCX,N1;傳送A1的元素個數(shù)到CXLEASI,SUM1;傳送SUM1的地址到SICALLARY_SUM;調(diào)用子程序對數(shù)組A1求和LEABX,A2;傳送數(shù)組A2的地址到BXMOVCX,N2;傳送A2的元素個數(shù)到CXLEASI,SUM2;傳送SUM2的地址到SICALLARY_SUM;調(diào)用子程序對數(shù)組A2求和MOVAH,4CHINT21H

4.6.4子程序設計

;子程序名:ARY_SUM;功能:求字型數(shù)組各元素之和。

;入口參數(shù):BX=數(shù)組地址;CX=數(shù)組元素個數(shù);SI=存和地址

;出口參數(shù):無ARY_SUMPROCNEARPUSHAXXORAX,AX;AX清零

4.6.4子程序設計

AGAIN:ADDAX,[BX];對數(shù)組求和

ADDBX,2LOOPAGAINMOV[SI],AX;存和

POPAXRETARY_SUMENDPCODEENDSENDSTART

4.6.4子程序設計

(2)使用存儲單元傳遞參數(shù)數(shù)據(jù)段定義如下:DATASEGMENTA1DW30H,20H,10,30H,6BHN1EQU($-A1)/2;獲得A1數(shù)組元素的個數(shù)

SUM1DW?A2DW45,12,-4,89,6CH,0DH,35N2EQU($-A2)/2;獲得A2數(shù)組元素的個數(shù)

SUM2DW?TABLEDW3DUP(?);定義參數(shù)表DATAENDS

4.6.4子程序設計

調(diào)用子程序對數(shù)組A1求和:LEABX,TABLE;將參數(shù)表地址傳送BXLEA AX,A1;將數(shù)組A1參數(shù)填入?yún)?shù)表

MOV [BX],AXMOV AX,N1MOV [BX+2],AXLEA AX,SUM1MOV [BX+4],AXCALLARY_SUM;調(diào)用子程序對數(shù)組A1求和

4.6.4子程序設計

;子程序名:ARY_SUM;功能:求字型數(shù)組各元素之和。

;入口參數(shù):BX=參數(shù)表地址;;參數(shù)1=數(shù)組地址;參數(shù)2=元素個數(shù);參數(shù)3=存和地址

;出口參數(shù):無ARY_SUMPROCNEARPUSHAXPUSHCXPUSHSIMOVSI,[BX];取參數(shù)1到SIMOVCX,[BX+2];取參數(shù)2到CXXORAX,AX

4.6.4子程序設計

AGAIN:ADDAX,[SI];對數(shù)組求和

ADDSI,2LOOPAGAINMOVSI,[BX+4];取參數(shù)3到SIMOV[SI],AX;存和

POPSIPOPCXPOPAXRETARY_SUMENDPCODEENDSENDSTART

4.6.4子程序設計

(3)使用堆棧傳遞參數(shù)調(diào)用子程序對數(shù)組A1求和:LEAAX,A1;數(shù)組A1的相關參數(shù)入棧

PUSHAXMOVAX,N1PUSHAXLEAAX,SUM1PUSHAXCALLARY_SUM

4.6.4子程序設計

;子程序名:ARY_SUM;功能:求字型數(shù)組各元素之和。

;入口參數(shù):使用堆棧傳遞參數(shù)。;參數(shù)入棧順序:1.數(shù)組地址;2.數(shù)組元素個數(shù);3.存和地址

;出口參數(shù):無ARY_SUMPROCNEARPUSHAXPUSHCXPUSHSIPUSHBPMOVBP,SPMOVSI,[BP+10];取數(shù)組地址到SIMOVCX,[BP+12];取元素個數(shù)到CX

XORAX,AXAGAIN:ADDAX,[SI];用循環(huán)語句對數(shù)組求和

ADDSI,2LOOPAGAINMOVSI,[BP+14];取存和地址到SIMOV[SI],AX;將數(shù)組和存入指定地址

POPBPPOPSIPOPCXPOPAXRET6

4.6.4子程序設計

數(shù)組地址數(shù)組元素個數(shù)存和地址IPAXCXSIBP……SPBPBP+10BP+12BP+14圖4-8取得入口參數(shù)時堆棧的情形例4-22

基數(shù)轉換子程序。將寄存器AX中的16位無符號二進制數(shù)轉換為P進制數(shù),并將P進制數(shù)轉換成ASCII碼存放。;子程序名:RADIX;功能:將寄存器AX中的16位無符號二進制數(shù)轉換為P進制數(shù);入口參數(shù):AX=待轉換的數(shù),BX=數(shù)制基P,;SI=存放ASCII碼的字節(jié)數(shù)組地址;出口參數(shù):無4.7

實用程序設計舉例RADIXPROCFARPUSHCXPUSHDXMOVCX,0LOP1:MOVDX,0DIVBX;待轉換的數(shù)存放在AX,BX存放要轉換

PUSHDX;的數(shù)制基數(shù)P,(AX)除以P,余數(shù)入棧

INCCX;記錄余數(shù)個數(shù)

ORAX,AXJNELOP1;(AX)不等于0,轉LOP1LOP2:POPAX;從堆棧中彈出一位P進制數(shù)字

CMPAL,104.7

實用程序設計舉例JBL1ADDAL,7L1:ADDAL,30H;轉換成ASCII碼

MOV[SI],AL;保存

INCSIDECCXJNELOP2POPDXPOPCXRETRADIXENDP4.7

實用程序設計舉例例4-23有一個100個字節(jié)的數(shù)據(jù)表(有符號數(shù)),存放在數(shù)據(jù)段中,表內(nèi)各數(shù)已按升序排列好,現(xiàn)給定一元素,試編寫程序從表內(nèi)查找給定元素,若有則結束,否則將該元素順序插入表中,并修改表長。DATASEGMENTLTHDB100;表長

TABDB02H,12H,14H,...;100個字節(jié)的升序表

TEMDBX;給定元素DATAENDS4.7

實用程序設計舉例CODESEGMENTASSUMECS:CODE,DS:DATASATRT:MOVAX,DATAMOVDS,AXLEABX,TABMOVAL,TEMMOVCX,LTHLOP:CMPAL,[BX];在表中查找

JESOP;找到則結束

JLINST;若給定元素小于表內(nèi)元素,轉INSTINCBX;大于則取下一個元素進行比較

LOOPLOPMOV[BX],AL;給定元素一直大于表內(nèi)元素

JMPJUST;插入表末INST:MOVAH,[BX];暫存表中元素暫存入AHMOV[BX],AL;表中插入給定元素

MOVAL,AHINCBXLOPI:MOVAH,[BX];暫存表中下一個元素

MOV[BX],AL;將前一個暫存的元素存入表中

MOVAL,AHINCBXDECCXJNZLOPIJUST:INCLTH;修改表長SOP:MOVAH,4CHINT21HCODEENDSENDSTART例4-24編程實現(xiàn):先接受一個字符串,然后分別統(tǒng)計其中數(shù)字字符和英文字符的個數(shù),最后用十進制數(shù)的形式顯示它們。

DATASEGMENTBUFFDB255;緩沖區(qū)長度

DB?;鍵入字符實際長度

DB255DUP(0)MESS0DB0DH,0AH,‘PLEASEINPUT:$’MESS1DB0DH,0AH,‘LENGTH=$’MESS2DB0DH,0AH,‘DIGITAL=$’MESS3DB0DH,0AH,‘CHARACT=$’DATAENDS4.7

實用程序設計舉例CODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,OFFSETMESS0;顯示提示信息0CALLDISPMESSMOVDX,OFFSETBUFF;接收一個字符串

MOVAH,10INT21HMOVBH,0;清數(shù)字計數(shù)器

MOVBL,0;清字符計數(shù)器

MOVCL,BUFF+1;取字符串長度4.7

實用程序設計舉例MOVCH,0JCXZCOK;若長度為0,不統(tǒng)計

MOVSI,OFFSETBUFF+2;指向字符串首址

AGAIN:MOVAL,[SI]INCSICMPAL,‘0’;判斷是否數(shù)字字符

JBNEXTCMPAL,‘9’JANODECINCBH;字符計數(shù)器加1JMPSHORTNEXT;提前結束本次循環(huán)4.7

實用程序設計舉例

NODEC:ORAL,20H;轉換為小寫

CMPAL,‘a(chǎn)’;判斷是否英文字母

JBNEXTCMPAL,‘z’JANEXTINCBL;字母計數(shù)器加1NEXT:LOOPAGAIN

COK:MOVDX,OFFSETMESS1;顯示字符串長度

CALLDISPMESSMOVAL,BUFF+1XORAH,AHCALLDISPL4.7

實用程序設計舉例MOVDX,OFFSETMESS2;顯示數(shù)字字符個數(shù)

CALLDISPMESSMOVAL,BHXORAH,AHCALLDISPLMOVDX,OFFSETMESS3;顯示字母個數(shù)

CALLDISPMESSMOVAL,BLXORAH,AHCALLDISPLMOVAH,4CH

INT21H4.7

實用程序設計舉例;子程序名:DISPL;功能:8位無符號二進制數(shù)轉換為十進制數(shù)并顯示;入口參數(shù):AL=待轉換的8位數(shù);出口參數(shù):無DISPLPROCPUSHDXPUSHCXMOVDL,10;置除數(shù)

MOVCX,0DISP1:XORAH,AHDIVDLPUSHAX;保存商和余數(shù)

INCCX;統(tǒng)計除10的次數(shù)4.7

實用程序設計舉例CMPAL,0JNZDISP1DISP2:POPAX;取商和余數(shù)到AXADDAH,30H;將余數(shù)轉換成字符并顯示

MOVDL,AHMOVAH,2INT21HLOOPDISP2POPCXPOPDXRETDISPLENDP4.7

實用程序設計舉例;子程序名:DISPMESS;功能:顯示提示信息;入口參數(shù):DX=提示信息地址;出口參數(shù):無

DISPMESSPROCPUSHAXMOVAH,9INT21HPOPAXRETCODEENDSENDSTART4.7

實用程序設計舉例4.8.1上機開發(fā)過程(1)建立匯編源程序文件(.ASM)用編輯程序,例如

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論