アセンブリ変数、関数、構造体の定義と使用

835 ワード


.386
.model flat,stdcall
option casemap:none
include msvcrt.inc
includelib msvcrt.lib
.const 
IDD_DIALOG equ 101;      
.data
formatstr db "%02x",0;       
code db 5
.data?
hInstance dd ?;        
.data
wHour db 'c'
wminute dw ?
whwnd dd ?
buffer dw 100 dup(1,2)
szbuffer dd 1024 dup(?)
money real4 ?
num real8 ?
 
.data

   Mystruct struct
   	m_name byte 30 dup(0)
   	m_code dword ?
   	m_sex dword ?
   Mystruct ends 
    
   mystruct Mystruct <>;     
   
  
.code

fun proc arg1:dword,arg2:dword   ;    
	
	mov eax,arg1
	add eax,arg2
	ret

fun endp

;   
main:
    ;    
    mov ebx,mystruct.m_sex
    
    ;          
    mov esi,offset mystruct
    mov eax,[esi+Mystruct.m_code]
    
    ;       
    mov eax,offset whwnd
    
    ;    
    invoke fun,100,100
    
end main
end