
include 'fasm.i'

rx__ equ ax

macro registers__ { ax,bx,cx,dx,cs,ds,es,fs,gs,ss,si,di }




macro read__ reg,[arg]
	{
	common 
		push bp
		mov bp,[bp]
		
	forward
		sub bp,2
		if arg in <registers__>
			mov arg,[bp]
		else
			if arg eq
			else
				mov reg,[bp]
				mov arg,reg
			end if
		end if
	common
		pop bp
	}


	org 100h

	push bp
	mov bp,sp
	
	mov ax,'a'
	push ax
	
	mov ax,'b'
	push ax

	push bp
	mov bp,sp
	
	read__ rx__,ax,bx
	
	push ax
	push dx

	; echo ax

	mov dl,al
	mov ah,2
	int 21h
	
	pop dx
	pop ax

	; exit

	mov ah,4ch
	int 21h
