오보에블로그

[WebAssembly] 기본 syntax 의미( semantic) 본문

STEADYSTUDY/넓고 얕게

[WebAssembly] 기본 syntax 의미( semantic)

(OBO) 2020. 7. 8. 17:54
728x90

 

int using_if(int a, int b)
{
	if(a > b)
    {
    	return a;
    }
    else
    {
    	return b;
    }
}

 

 

 

와 같은 c 언어로된 코드가 있을때 wat 파일로 변환하면 다음과 같다.

(module
 (table 0 anyfunc)
 (memory $0 1)
 (export "memory" (memory $0))
 (export "using_if" (func $using_if))
 (func $using_if (; 0 ;) (param $0 i32) (param $1 i32) (result i32)
  (select
   (get_local $0)
   (get_local $1)
   (i32.gt_s
    (get_local $0)
    (get_local $1)
   )
  )
 )
)
get_local $0 ;;0번째 인자의 값을 불러옵니다.

 

(select
	(true 일때 반환값)
	(false 일때 반환값)
	(조건문)
)
728x90