0
Birisi aşağıdaki montaj kod benim anlayış doğrulamak umuyordum
: Buradaanlama Lea ve montaj
test %esi,%esi
js 17 <build+0x17>
cmp $0x8,%esi
ja 1d <build+0x1d>
lea (&rsi,2),%ecx
shl $0x2,%rdi
mov %rdi,%rax
retq
mov $0x0,%eax //17
retq
mov $0x0,%eax //1d
retq
ben kod yapar düşünüyorum ne:
- esi & esi negatif getiri öğesi ise esi 8 üzerinde ise adresinde 0
- , * 2 ecx içine adreste RSI 0
- Else mağaza adresini öğeyi iade
- Sonra sağ shift rdi rax için
- Kopya rdi 2 bit sağa ve dönüş o
Return 0, gerisi doğru mu adresinde 0 –
bir şey döndürmez? – Keyadun
"lea (& rsi, 8),% ecx" satırı muhtemelen "lea (,% rsi, 8),% ecx" ve "ECX = RSI * 8" anlamına gelir ve "rsi" adresi olmamalıdır. Gerisi iyi görünüyor. – zx485