0
例如,我想寫點東西像'a'
,而不是像0x61
我可以在C.如何在GNU GAS中使用字符文字來替換數字?
手冊在提到他們:https://sourceware.org/binutils/docs/as/Chars.html但沒有一個例子,我不知道我的理解。
例如,我想寫點東西像'a'
,而不是像0x61
我可以在C.如何在GNU GAS中使用字符文字來替換數字?
手冊在提到他們:https://sourceware.org/binutils/docs/as/Chars.html但沒有一個例子,我不知道我的理解。
/* Immediate. Without the `$`, does a memory access, and segfaults! */
mov $'a, %al
/* al == 0x61 */
/* Memory. */
mov c, %al
/* al == 0x62 */
c: .byte 'b
/* Space character works. */
mov $' , %al
/* al == 0x20 */
/* Backslash escapes work. */
mov $'\n , %al
/* al == 0x0A */
有竟是一個例子:https://sourceware.org/binutils/docs-2.25/as/Characters.html:
.byte 74, 0112, 092, 0x4A, 0X4a, 'J, '\J # All the same value.
我不喜歡這種語法,原因如下:
MACRO($'a)
失敗的原因CPP像char字符一樣對待'
。$'
,這是很難觀察
如果任何人都可以解釋downvote,讓我知道這樣我就可以學習和提高的信息;-) –