как я могу осуществить данную передачу(значение из ax в переменную first):
mov first, ax
И потом обратно поместить значение first в ax (как я понимаю, здесь можно и обычное mov):
mov ax, first
[pfemidi@pfemidi ~]$ ldd /opt/VirtualBox/VirtualBox | grep opt
UICommon.so => /opt/VirtualBox/UICommon.so (0x00007fb06437a000)
VBoxRT.so => /opt/VirtualBox/VBoxRT.so (0x00007fb0639f2000)
VBoxXPCOM.so => /opt/VirtualBox/VBoxXPCOM.so (0x00007fb06358c000)
libQt5CoreVBox.so.5 => /opt/VirtualBox/libQt5CoreVBox.so.5 (0x00007fb062dda000)
libQt5GuiVBox.so.5 => /opt/VirtualBox/libQt5GuiVBox.so.5 (0x00007fb0625bd000)
libQt5WidgetsVBox.so.5 => /opt/VirtualBox/libQt5WidgetsVBox.so.5 (0x00007fb061d0b000)
libQt5PrintSupportVBox.so.5 => /opt/VirtualBox/libQt5PrintSupportVBox.so.5 (0x00007fb061aa8000)
libQt5OpenGLVBox.so.5 => /opt/VirtualBox/libQt5OpenGLVBox.so.5 (0x00007fb06184d000)
VBoxKeyboard.so => /opt/VirtualBox/VBoxKeyboard.so (0x00007fb061042000)
libQt5X11ExtrasVBox.so.5 => /opt/VirtualBox/libQt5X11ExtrasVBox.so.5 (0x00007fb060e3d000)
[pfemidi@pfemidi ~]$
this передается в метод через регистр ecx (есть такое соглашение, регистр уже заботливо переименован в листинге);