Re: [問題] 請問有人懂PowerPC ASM的嗎?
※ 引述《ccbruce (蛍雪時代にの僕)》之銘言:
: 對於此用法的邊際效用及實際機器碼轉譯我非常的清楚,我並不需要這種說明。
: 事實上,這種方式只要考慮^=的結合性,它是由右至左。考慮到較佳的作法,自然就要轉
: 譯為類似以下的x86機器碼(實際上也是),而非你講的另起變數:
: ...
: mov AX, varA
: mov BX, varB
: xor AX, BX
: xor BX, AX
: xor AX, BX
: mov varA, AX
: mov varB, BX
: ...
movl -24(%ebp), %ecx lwz 11,16(31)
movl -20(%ebp), %ebx lwz 10,20(31)
movl -24(%ebp), %edx lwz 9,16(31)
movl -20(%ebp), %eax lwz 0,20(31)
xorl %edx, %eax xor 0,9,0
movl %eax, -24(%ebp) stw 0,16(31)
movl -24(%ebp), %eax lwz 0,16(31)
xorl %ebx, %eax xor 0,10,0
movl %eax, -20(%ebp) stw 0,20(31)
movl -20(%ebp), %eax lwz 0,20(31)
xorl %ecx, %eax xor 0,11,0
movl %eax, -24(%ebp) stw 0,16(31)
...
.size main, .-main
.ident "GCC: (GNU) 4.1.2 (Gentoo 4.1.2)"
.section .note.GNU-stack,"",@progbits
我把 x86 上編譯過的 code 比對你貼的 code,似乎差不多?
: 我今天的問題,是因為硬體特性造成的。我所需要的,是有人說明為何PowerPC會造成
: 這樣的問題,而不是討論這種方法與未定義行為的關係。(實際上PowerPC下對兩個普通
: 變數作如此操作也完全正常,沒有你所說的問題出現)今天這種問題只出現在PowerPC
: 下間接定址,這才是我想問的問題,請勿離題。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.73.27.249
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):
ASM 近期熱門文章
PTT數位生活區 即時熱門文章