
    .include "my-macro"	# подключение файла с макроопределениями

    .data

L:	.long	5    
L1:	.long	0
L2:	.long	0
L3:	.long	0
L4:	.long	100

Ad1:	.long 0
Ad2:	.long 0
Ad3:	.long 0
Ad4:	.long 0
Ad5:	.long 0

    .text
.global _start
_start:	
	nop

# 	Запись элементов в стек

	pushl $3  # непоср. операнд в стек
	pushl $2
	pushl L	  # операнд из ОП в стек
	pushl L4
	
# 	Многократный адресный доступ к элементам в стеке

	movl  0(%esp),%eax	# из вершины стека в ОП
	movl  %eax,Ad1	# из вершины стека в ОП
	
	movl  0(%esp),%eax	# из вершины в другой адр. ОП
	movl  %eax,Ad2	# из вершины в другой адр. ОП
	
	movl  4(%esp),%eax	# из элем ниже верщшины в ОП
	movl  %eax,Ad3	# из элем ниже верщшины в ОП
	
	movl  8(%esp),%eax	# из след. ниже в ОП
	movl  %eax,Ad4	# из след. ниже в ОП
	
	movl  12(%esp),%eax	# из самого нижнего в ОП
	movl  %eax,Ad5	# из самого нижнего в ОП

#	Чтение элементов из стека

	popl  L1   # из вершины стека в ОП
	popl  L2
	popl  L3	
	popl  %ecx # из вершины стека в регистр
	
#	Запись и чтение РОН

	movl 	$0x10,%eax	# для демонстрации
	pusha
	movl	$0x20,28(%esp)	# изменили образ %eax в стеке
	popa 	
	
	Finish	
        .end
	    