9
A
답변
12
%define
은 C 프리 프로세서와 비슷한 매크로를 수행하는 훨씬 더 강력한 방법입니다. 귀하의 단순한 경우에는 많은 차이가 없으며 x
을 소스 코드에 사용하면 상수가 3
으로 대체됩니다. equ
문은 매크로가 처음으로 읽혀질 때마다 평가되고 매크로에서 %define
매크로가 발견 될 때마다 평가된다는 점에서 미묘한 차이점이 있습니다.
당신은 두 개의 문 조각 사이에이 차이를 볼 수있다 :이 경우
addr equ $
%define addr $
, addr
코드에서 발생하는 경우, 다른 값을 가질 것이다. 첫 번째 경우 $
은 equ
이있는 위치에서 어셈블리 위치의 위치가됩니다. 다시 말해, 이 정의 된 곳입니다.
두 번째 경우에는 addr
이 인 곳에서 조립 위치로 평가됩니다. 당신이 당신의 매크로에 매개 변수를 전달할 수 있도록
%define ctrl(c) (c & 0x1F)
: :
mov al, ctrl('z')
(또는 훨씬 더 복잡한 일) 가능하지, 뭔가 :
%define thricexplusy(x,y) (3 * x + y)
또는 : %define
이 빛나는
같은 것을 함께 단순한 equ
.
관련 문제
- 1. MIPS에서 .word와 .equ의 차이점은 무엇입니까?
- 2. 사이트 정의와 웹 템플리트의 차이점은 무엇입니까?
- 3. nasm에서 mov 명령의 의미
- 4. web.config 끝점 정의와 global.asax 경로 등록 사이의 차이점은 무엇입니까?
- 5. 사이트 정의와 사이트 서식 파일의 주요 차이점은 무엇입니까?
- 6. EQU vs DC.B. 그 차이점은 무엇입니까?
- 7. 토큰 정의와 렉서 토큰의 차이점
- 8. 정의와 StackPanel의이
- 9. NASM에서 DLL 사용
- 10. nasm에서 sys_fork 예제 요청하기
- 11. NASM에서 섹션의 크기를 찾는 방법은 무엇입니까?
- 12. NASM에서 argv [0]를 출력하는 방법은 무엇입니까?
- 13. DropDownList와 DropDownListFor의 차이점은 무엇입니까?
- 14. NASM에서 사용자 입력을 얻으려면 어떻게해야합니까?
- 15. nasm에서 점프하지 않고 비교 결과 얻기
- 16. 변수 유형 정의와 다른 점은 무엇입니까?
- 17. 간단한 정의와 장점으로 3-tier는 무엇입니까?
- 18. @ SessionScoped의 정의와 실제적인 의미
- 19. 파이썬에서 클래스 정의와 구현을 분리한다.
- 20. nasm에서 어셈블리 g ++에서 오류가 발생했다는 이유는 무엇입니까?
- 21. nasm에서 정적 라이브러리를 만들고 gcc와 링크하려면 어떻게해야합니까?
- 22. NASM에서 "사례 테이블"은 어떻게 작동합니까?
- 23. nasm에서 printf를 사용하여 같은 줄에 인쇄
- 24. 정의와 형태로 오이를 사용하는 방법
- 25. changePage가 사용자 정의와 간섭을 받음
- 26. 봄 구성 파일에서 xmlns 정의와 어떤 차이가 있습니까?
- 27. MySQL이 나는이 정의와 MySQL의 5가 호스트 %
- 28. "컨테이너"와 "데이터 구조"의 차이점은 무엇입니까?
- 29. 조립 및 nasm에서 dw에 관한 두 번째 질문
- 30. HighCharts & MVC : JSON으로 전체 그래프 정의와 데이터를로드하는 방법은 무엇입니까?