Лучше всего это делать в вызывающей программе сразу после возврата управления из процедуры;
2) откорректировать регистр указателя стека sp на величину 2*n, например, командой
add sp,NN, где NN=2*n, и n – количество аргументов.
Лучше делать в вызывающей программе;
3) используя машинную команду ret n в качестве последней исполняемой команды в процедуре, где n – количество байт, на которое нужно увеличить содержимое регистра esp/sp после того, как со стека будут сняты составляющие адреса возврата. Этот способ аналогичен предыдущему, но выполняется автоматически микропроцессором.
Таким образом, если необходимо работать с процедурой типа near, то для доступа к arg_n достаточно сместиться от содержимого bp на 4, а для доступа к arg_{n-1} – на 6 байт и т. д.
Для far процедур, из за того, что при вызове процедуры дальнего типа в стек записывается полный адрес возврата, то есть содержимое регистров cs и ip для доступа к arg_n команда будет выглядеть так: mov ax,[bp+6], а для arg_{n-1}, соответственно mov ax,[bp+8] и т.д.