"% 연산자는 절대 표현이 필요합니다"실패 다음가스 altmacro 매크로는 내가 좋아하는 매크로를 만들려면
assert_eq $1
assert_eq $1, %eax
:
.altmacro
.macro assert_eq a, b=%eax
LOCAL ok
#...
.endm
는 다음과 같이 사용하기
LOCAL
의 경우 .altmacro
을 원합니다 (\@
을 사용하는 다른 가능성이 있지만, LOCAL
을 원합니다). 나는이 컴파일 할 때
는하지만 얻을 : Expression results as strings, 이후 .altmacro
을하지 않고 :
Error: % operator needs absolute expression
나는이 문제가 b=%eax
가 .altmacro
에 의해 활성화 된 또 다른 기능을 사용하려고한다는 사실에 의해 만들어진 것으로 추측하고있다 나는 문제없이 이것을 쓸 수 있었다.
이것이 사실이라면 매크로가 작동하도록하려면 어떻게해야합니까? 그렇지 않다면, 내 코드에 어떤 문제가 있습니까?
보너스 : 사용 방법 %
?
가스 버전 : 2.23.52
감탄 부호'!'로 어떤 효과도 볼 수 없었습니다 (제외하고 :-)), 예를들 수 있습니까? –