Mercurial > repos > blastem
comparison runtime.S @ 145:15b8dce19cf4
Implement m68k_modified_ret_addr
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Mon, 31 Dec 2012 19:17:01 -0800 |
parents | aa3e1bb338c9 |
children | 139e5dcd6aa3 |
comparison
equal
deleted
inserted
replaced
144:177ba1a5af9c | 145:15b8dce19cf4 |
---|---|
408 /* deal with byte swapping */ | 408 /* deal with byte swapping */ |
409 xor $1, %ecx | 409 xor $1, %ecx |
410 mov (%r8, %rcx), %cl | 410 mov (%r8, %rcx), %cl |
411 ret | 411 ret |
412 | 412 |
413 ret_addr_msg: | |
414 .asciz "Program modified return address on stack: found %X, expected %X\n" | |
415 | |
416 .global m68k_modified_ret_addr | 413 .global m68k_modified_ret_addr |
417 m68k_modified_ret_addr: | 414 m68k_modified_ret_addr: |
418 lea ret_addr_msg(%rip), %rdi | 415 add $16, %rsp |
419 mov %rcx, %rsi | 416 call m68k_native_addr |
420 mov 8(%rsp), %rdx | 417 jmp *%rcx |
421 xor %rax, %rax | |
422 call printf | |
423 mov $1, %rdi | |
424 call exit | |
425 | 418 |
426 dyn_addr_msg: | 419 dyn_addr_msg: |
427 .asciz "Program needs dynamically calculated native address\n" | 420 .asciz "Program needs dynamically calculated native address\n" |
428 | 421 |
429 .global m68k_native_addr_and_sync | 422 .global m68k_native_addr_and_sync |