Embedded Lab/linux, x86
[NASM과 MASM]
cyj4369
2012. 6. 2. 08:20
->NASM : 프리웨어로 윈도우와 리눅스에서 어셈블리어를 확인할수있다.
->MASM : 마이크로사의 어셈블러 로써 윈도우즈에서만 사용가능하다.
명렁어의 차이 (1)
주소 지정 방식의 차이
MASM에서는…
- Mov AX, offset defined_data
defined_data 의 주소를 AX에 저장
- Mov AX, defined_data
defined_data 의 값을 AX에 저장
NASM에서는…
- Mov AX, defined_data
defined_data 의 주소를 AX에 저장
- Mov AX, [defined_data]
defined_data 의 값을 AX에 저장
명렁어의 차이 (2)
피 연산자 사용의 차이
MASM에서는…
용도에 따라서, @, $, %, %% 등이 사용됨
약간 복잡한 방식
NASM에서는…
주소를 나타내는 [ ] 외에는 달리 사용되는 특수문자가 없음
프로그래머에게 단순한 사용 방식을 제공
기타 차이점 (1)
MASM 과 NASM의 사용 시, DB 혹은 DW 등을 이용하여 변수를 선언 시에 약간 다를 수 있다.
스트링 선언 방식의 차이 등…
times, resb, resw 등의 약간의 차이점이 있음
이들 어셈블러는 해당 버전마다 약간씩 사용법이 다를 수 있다.
추가된 새로운 지시어/피연산자 사용 법
매크로의 사용방법 등…
나머지는 NASM Manual 문서를 찾아보도록 하자