最好是拿紙筆把要用到的暫存器安排一下
寫起 code 來會比較順暢
昨天回家洗澡時就想到
part 1 的 example 做了一些很不必要的動作
也多用到一些不必要的暫存器
舉例來說
%ebx 存起的是 memory address
也是我存放要比較整數的 list (array)
原本 for loop 都會用 %edi 來當 index variable
但在這個 case 其實是不必要的
因為我們本來就可以對暫存器直接做加減
start_loop: incl %edi movl $4, %edx imull %edi, %edx addl %ebx, %edx
start_loop: addl $4, %ebx
沒有留言:
張貼留言