第5章(7)微機(jī)原理與接口技術(shù)_第1頁(yè)
第5章(7)微機(jī)原理與接口技術(shù)_第2頁(yè)
第5章(7)微機(jī)原理與接口技術(shù)_第3頁(yè)
第5章(7)微機(jī)原理與接口技術(shù)_第4頁(yè)
第5章(7)微機(jī)原理與接口技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

本講主要內(nèi)容匯編語(yǔ)言程序設(shè)計(jì)過(guò)程程序設(shè)計(jì)第5章

匯編語(yǔ)言程序設(shè)計(jì)

4.子程序設(shè)計(jì)子程序又稱為過(guò)程,它相當(dāng)于高級(jí)語(yǔ)言的過(guò)程或函數(shù),是一個(gè)獨(dú)立的程序段,能完成某些確定的功能,并能被其它程序調(diào)用。(1)過(guò)程的定義

過(guò)程名 PROC類型

RET

過(guò)程名 ENDP…第5章

匯編語(yǔ)言程序設(shè)計(jì)

(2)過(guò)程的調(diào)用

CALL過(guò)程名①段內(nèi)調(diào)用

CSEGSEGMENT

CALL

SUBT

MOVAH,4CH

INT21H

SUBTPROCNEAR

RET

SUBTENDP

CSEGENDS………第5章

匯編語(yǔ)言程序設(shè)計(jì)

②段間調(diào)用XSEGSEGMENT YSEGSEGMENT CALL

SUBT1

CALL

SUBT1 MOVAH,4CH YSEGENDS INT21H

SUBT1PROCFAR RET SUBT1ENDPXSEGENDS……………第5章

匯編語(yǔ)言程序設(shè)計(jì)

子程序一般是放在返回DOS語(yǔ)句和段結(jié)束語(yǔ)句之間的位置。因?yàn)樵谡G闆r下這個(gè)區(qū)域的程序是不會(huì)被執(zhí)行的。當(dāng)然,也可以放在主程序的最前面。這時(shí)要注意主程序的起始標(biāo)號(hào)要在子程序之后。(3)子程序在源程序中的位置XSEGSEGMENT CALL

SUBT1

MOVAH,4CH INT21H

SUBT1PROCFAR RET SUBT1ENDPXSEGENDS………XSEGSEGMENT

SUBT1PROCFAR RET SUBT1ENDP

STRAT: CALL

SUBT1

MOVAH,4CH INT21HXSEGENDSENDSTRAT………第5章

匯編語(yǔ)言程序設(shè)計(jì)

(4)宏指令與子程序(過(guò)程)①

空間開銷:子程序優(yōu)于宏指令。②

時(shí)間開銷:宏指令優(yōu)于子程序。

綜上,當(dāng)需多次訪問(wèn)的程序段較長(zhǎng),訪問(wèn)次數(shù)又不是太多時(shí),選用子程序結(jié)構(gòu)較好。

當(dāng)需多次訪問(wèn)的程序段較短,訪問(wèn)次數(shù)又很頻繁時(shí),選用宏指令結(jié)構(gòu)顯然要更好些。第5章

匯編語(yǔ)言程序設(shè)計(jì)

(5)子程序調(diào)用和宏調(diào)用使用的例子[例]在存儲(chǔ)器Hexdata單元中存放著4位十六進(jìn)制數(shù)4D7EH,試編寫程序?qū)⑦@4位十六進(jìn)制數(shù)分別轉(zhuǎn)換為相應(yīng)的ASCII碼,并依次存放到Result的4個(gè)單元中去,并依次在屏幕上顯示。要求轉(zhuǎn)換ASCII碼部分分別用子程序調(diào)用和宏調(diào)用的方法實(shí)現(xiàn)。第5章

匯編語(yǔ)言程序設(shè)計(jì)

DATASEGMENT

Hexdata DW4D7EH

Result DB

4

DUP(?)DATAENDSCODESEGMENT

ASSUMECS:CODE,DS:DATA

START:

MOV

AX,DATA

MOV

DS,AX

MOV

CX,4

LEA

DI,Result

MOV

BX,Hexdata

NEXT:

MOV

AX,BX

AND

AL,0FH

CALL HEXASC

;子程序調(diào)用

MOV

[DI],AL

INC

DI

PUSHCX

MOV

CL,4

SHR

BX,CL

POP

CX

LOOP

NEXT①

用子程序調(diào)用方法編程:

LEA SI,RESULT+3 MOV CX,4 STDLOOP1:

LODSB MOV DL,AL MOV AH,02H INT 21H LOOP LOOP1 MOV DL,'H' MOV AH,02H INT 21H MOV AH,4CH INT 21H;十六進(jìn)制轉(zhuǎn)換成ASCII碼子程序

HEXASCPROC

CMP

AL,0AH

JB

P30

ADD

AL,07H

P30:

ADD

AL,30H

RET

HEXASCENDP

CODE ENDSEND

START第5章

匯編語(yǔ)言程序設(shè)計(jì)

DATASEGMENT

Hexdata DW4D7EH

Result DB

4DUP(?)DATAENDSCODESEGMENT

ASSUMECS:CODE,DS:DATA

START:

MOV

AX,DATA

MOV

DS,AX;十六進(jìn)制轉(zhuǎn)換成ASCII碼宏定義

HEXASCMACRO

CMP

AL,0AH

JB

PLUS30

ADD

AL,07H

PLUS30:

ADD

AL,30H

ENDM

MOV

CX,4

LEA

DI,Result

MOV

BX,[SI]

NEXT:

MOV

AX,BX

AND AL,0FH②用宏調(diào)用方法編程

HEXASC ;宏調(diào)用 MOV [DI],AL INC DI PUSH CX MOV CL,4 SHR BX,CL POP CX LOOP

NEXT LEA SI,RESULT+3 MOV CX,4 STDLOOP1:

LODSB MOV DL,AL MOV AH,02H INT 21H LOOP LOOP1 MOV DL,'H' MOV AH,02H INT 21H MOV AH,4CH INT 21H

CODE ENDSEND

START第5章

匯編語(yǔ)言程序設(shè)計(jì)

START:

MOV

AX,DATA

MOV

DS,AX

MOV

CX,4

LEA

DI,Result

MOV

BX,[SI]

NEXT:

MOV

AX,BX

AND

AL,0FH

CMP

AL,0AH

JB

PLUS30

ADD

AL,07HPLUS30:

ADD

AL,30H

MOV [DI],AL

INC DI

PUSH CX

MOV CL,4

SHR BX,CL

POP CX

LOOP

NEXT

LEA SI,RESULT+3 MOV CX,4 STDLOOP1:

LODSB MOV DL,AL MOV AH,02H INT 21H LOOP LOOP1 MOV DL,'H' MOV AH,02H INT 21H MOV AH,4CH INT 21H

第5章

匯編語(yǔ)言程序設(shè)計(jì)

第5章匯編語(yǔ)言程序設(shè)計(jì)小結(jié)首先,我們學(xué)習(xí)了匯編語(yǔ)言源程序的分段結(jié)構(gòu)和語(yǔ)句分類及語(yǔ)句格式。其次,詳細(xì)學(xué)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論