Minor fixes
This commit is contained in:
parent
59a8f58fcd
commit
bd6a2a1254
|
|
@ -376,7 +376,7 @@ fn compile_identity(void) {
|
||||||
// ret
|
// ret
|
||||||
memory[i++] = 0xc3; // RET opcode
|
memory[i++] = 0xc3; // RET opcode
|
||||||
|
|
||||||
return (long(*)(long)) memory;
|
return (fn) memory;
|
||||||
}
|
}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
|
|
@ -384,7 +384,7 @@ int main() {
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < 10; ++i)
|
for (i = 0; i < 10; ++i)
|
||||||
printf("f(%d) = %ld\n", i, (*f)(i));
|
printf("f(%d) = %ld\n", i, (*f)(i));
|
||||||
munmap((void*) f, 4096);
|
munmap(f, 4096);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
|
||||||
|
|
@ -26,12 +26,12 @@ fn compile_identity(void) {
|
||||||
// mov %rdi, %rax
|
// mov %rdi, %rax
|
||||||
memory[i++] = 0x48; // REX.W prefix
|
memory[i++] = 0x48; // REX.W prefix
|
||||||
memory[i++] = 0x8b; // MOV opcode, register/register
|
memory[i++] = 0x8b; // MOV opcode, register/register
|
||||||
memory[i++] = 0xc7; // MOD/RM byte for %rsi -> %rax
|
memory[i++] = 0xc7; // MOD/RM byte for %rdi -> %rax
|
||||||
|
|
||||||
// ret
|
// ret
|
||||||
memory[i++] = 0xc3; // RET opcode
|
memory[i++] = 0xc3; // RET opcode
|
||||||
|
|
||||||
return (long(*)(long)) memory;
|
return (fn) memory;
|
||||||
}
|
}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
|
|
@ -39,6 +39,6 @@ int main() {
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < 10; ++i)
|
for (i = 0; i < 10; ++i)
|
||||||
printf("f(%d) = %ld\n", i, (*f)(i));
|
printf("f(%d) = %ld\n", i, (*f)(i));
|
||||||
munmap((void*) f, 4096);
|
munmap(f, 4096);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue