.


:




:

































 

 

 

 


, IF IFNDEF




9.1. -:

 

.286

TITLE MACRO7 (COM) IF IFNDEF

;--------------------------------------------

DIVIDE MACRO DIVIDEND,DIVISOR,QUOTIENT

LOCAL COMP

LOCAL OUT

CNTR = 0

; AX= = =

IFNDEF DIVIDEND

;

CNTR = CNTR +1

ENDIF

IFNDEF DIVISOR

;

CNTR = CNTR +1

ENDIF

IFNDEF QUOTIENT

;

CNTR = CNTR +1

ENDIF

IF CNTR

;

EXITM

ENDIF

MOV AX,DIVIDEND;

MOV BX,DIVISOR;

SUB CX,CX;

COMP: CMP AX,BX; < ?

JB OUT; -

SUB AX,BX; -

INC CX; + 1

JMP COMP

OUT: MOV QUOTIENT,CX;

ENDM;

;--------------------------------------------------

CSEG SEGMENT PARA 'Code'

ASSUME CS:CSEG,DS:CSEG,SS:CSEG,ES:CSEG

ORG 100H

BEGIN: JMP SHORT MAIN

;---------------------------------------------------

DIVDND DW 150;

DIVSOR DW 27;

QUOTNT DW?;

;---------------------------------------------------

MAIN PROC NEAR

.LALL

DIVIDE DIVDND,DIVSOR,QUOTNT

DIVIDE DIDND,DIVSOR,QUOT

RET

MAIN ENDP

CSEG ENDS

END BEGIN

 

DIVIDE, . : , , . IFNDEF . CNTR. .

CNTR.

CNTR , EXITM .

, . DIVIDE .

9.2. . .

 

, IFIDN.

10.1. string.asm ASMLIB. :

 

TITLE MACRO8 (EXE) IFIDN

 

:

 

MOVIF MACRO TAG

IFIDN <&TAG>,<B>

REP MOVSB

EXITM

ENDIF

IFIDN <&TAG>,<W>

REP MOVSW

ELSE

; W,

;---------------------------------------------------

REP MOVSB

ENDIF

ENDM

;----------------------------------------------------

REP MOVSB MOVIF B, REP MOVSW MOVIF W.

MOVIF, MOVSB MOVSW . ( ) W ( ).

 

:

1. .

2. .

 

:

1. : ) , ; ) , .

2. : ) MULTBY ; ) MULTWD .

.

 

:

1. ).SALL; ).XALL

 

2. ) MULTBY MACRO TPR,TCD

MOV AL,TCD

MUL TPR

ENDM

 

) MULTWD MACRO TPR,TCD

MOV AX,TCD

MUL TPR

ENDM

 





:


: 2015-10-01; !; : 442 |


:

:

, ; , .
==> ...

1563 - | 1358 -


© 2015-2024 lektsii.org - -

: 0.01 .