تعریف زیربرنامه
تعریف زیربرنامه باید در سگمنت کد انجام بگیرد. از دو راهنمای proc و endp برای تعیین بلاک زیربرنامه استفاده می شود.
ProcedureName PROC [NEAR|FAR]
…
RET
ProcedureName ENDP
Procedurename نام زیربرنامه است که قبل از راهنماهای proc و endp قرار می گیرد و باید یکسان باشد. عملوند near یا far اختیاری است. کلمه near به اسمبلر می گوید که زیربرنامه از نوع داخلی است. برای تعریف یک زیربرنامه خارجی از کلمه far به جای near استفاده می شود.
دستور ret باعث خروج از زیربرنامه و برگشت به فراخواننده می شود.
نکته. اگر عملوندی مقابل تعریف زیربرنامه قرار نگیرد از نوع near در نظر گرفته می شود.
نکته. اگرچه تعریف یک زیربرنامه که عملا داخلی است به صورت خارجی اشکالی ایجاد نمی کند ولی بهتر است این کار را نکنید.
مثال. زیربرنامه جمع دو عدد در AH و AL و نگهداری مجموع در ثبات BX.
Adding PROC near
mov BX, AL
add BX, AH
ret
Adding ENDP
مثال: زیربرنامه Putc برای نمایش کاراکتری که در ثبات al قرار دارد.
Putc PROC
mov DL,AL
mov AH,02
int 21h
ret
Putc ENDP