I have a C program that calls a two procedures from my assembly file, the procedures are defined like this `extern int myfunc(int a,int b)` and `myfunc2(int c,int d)` ,now after `myfunc` call in C, i can access the parameters in assembly like this: **b** is at `[BP+6]` and **a** is at `[BP+4]` this is in the SMALL MODEL.
Now i want to call `myfunc2(int c,int d)` but from my assembly file while i'm in my `myfunc`.
How do i set up the stack for `myfunc2` and pass it parameters?
And will it mess up the current stack for `myfunc` ,if yes how do i deal with that?
**MY Assembly file:**

```
.MODEL SMALL
.STACK 100h
.DATA
.CODE
PUBLIC _myfunc
PUBLIC _myfunc2
_myfunc PROC NEAR
.386
PUSH BP
MOV BP,SP
;here i need to do myfun2(1,2)
POP BP
RET
_myfunc ENDP

_myfunc2 PROC NEAR
.386
PUSH BP
MOV BP,SP
MOV DX,[BP+6];get d
MOV AX,[BP+4];get c
ADD AX,DX;add them up
;the return value will be in AX
POP BP
RET
_myfunc2 ENDP

END

```

**MY C file:**

```
#include <stdio.h> 
#include <stdlib.h> 

extern int myfunc(int a,int b);
extern int myfunc2(int c,int d);
int main()
{
    int res;
    res=myfunc(int a,int b);
}

```