MASM Version 5.00 Mixed-Language Example with FORTRAN

ID Number: Q40531

5.00

MS-DOS

Summary:

Below are the demonstration files FA.ASM and FAMAIN.FOR from the MASM

Version 5.00 Disk 1 mixed directory.

More Information:

The following is FA.ASM:

.MODEL large

.CODE

PUBLIC Power2

Power2 PROC

push bp ; Entry sequence - save old BP

mov bp,sp ; Set stack framepointer

les bx,[bp+10] ; Load Arg1 into

mov ax,[bx] ; AX

les bx,[bp+6] ; Load Arg2 into

mov cx,[bx] ; CX

shl ax,cl ; AX = AX * (2 to power of CX)

; Leave return value in AX

pop bp ; Restore old framepointer

ret 4 ; Exit, and restore 4 bytes of args

Power2 ENDP

END

The following is FAMAIN.FOR:

INTERFACE TO INTEGER*2 FUNCTION POWER2(A,B)

INTEGER*2 A,B

END

C

INTEGER*2 POWER2

INTEGER*2 A,B

A = 3

B = 5

WRITE (*,*) '3 times 2 to the power of 5 is ',POWER2(A,B)

END