Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision | |||
| en:manual:contrib:developer_collection [2024/03/02 01:26] throgh [Assembler instructions] | en:manual:contrib:developer_collection [2024/03/02 01:31] (current) throgh [Assembler instructions] | ||
|---|---|---|---|
| Line 121: | Line 121: | ||
| ! cmp $r12, %r11;\\ je label; | ! cmp $r12, %r11;\\ je label; | ||
| |- | |- | ||
| - | ! idiv | + | ! jg | 
| - | ! int acc = 4;\\ acc /= val; | + | ! if (val > res)\\ goto label; | 
| - | ! movl $4, %rax;\\ idivl %r11; | + | ! cmpl $r11, %r12;\\ jg label; | 
| - | ! mov rax, 4;\\ idiv r11; | + | ! cmp $r12, %r11;\\ jg label; | 
| |- | |- | ||
| - | ! mul | + | ! jge | 
| - | ! uint acc = 4;\\ acc *= val; | + | ! if (val >= res)\\ goto label; | 
| - | ! movl $4, %rax;\\ mull %r11; | + | ! cmpl $r11, %r12;\\ jge label; | 
| - | ! mov rax, 4;\\ mul r11; | + | ! cmp $r12, %r11;\\ jge label; | 
| |- | |- | ||
| - | ! imul | + | ! jl | 
| - | ! int acc = 4;\\ acc *= val; | + | ! if (val < res)\\ goto label; | 
| - | ! movl $4, %rax;\\ imull %r11; | + | ! cmpl $r11, %r12;\\ jl label; | 
| - | ! mov rax, 4;\\ imul r11; | + | ! cmp $r12, %r11;\\ jl label; | 
| + | |- | ||
| + | ! jle | ||
| + | ! if (val <= res)\\ goto label; | ||
| + | ! cmpl $r11, %r12;\\ jle label; | ||
| + | ! cmp $r12, %r11;\\ jle label; | ||
| + | |- | ||
| + | ! jne | ||
| + | ! if (val != res)\\ goto label; | ||
| + | ! cmpl $r11, %r12;\\ jne label; | ||
| + | ! cmpl $r12, %r11;\\ jne label; | ||
| + | |- | ||
| + | ! jz | ||
| + | ! if (val == res)\\ goto label; | ||
| + | ! cmpl $r11, %r12;\\ jz label; | ||
| + | ! cmpl $r12, %r11;\\ jz label; | ||
| |- | |- | ||
| |} | |} | ||