Author: wmb Date: 2007-07-19 11:51:02 +0200 (Thu, 19 Jul 2007) New Revision: 474
Modified: cpu/i8051/assem.fth Log: 8051 assembler - Turn off jmp and call length optimizations for now.
Modified: cpu/i8051/assem.fth =================================================================== --- cpu/i8051/assem.fth 2007-07-19 04:18:00 UTC (rev 473) +++ cpu/i8051/assem.fth 2007-07-19 09:51:02 UTC (rev 474) @@ -88,7 +88,7 @@ ; : byte-offset? ( offset -- flag ) h# -80 h# 7f between ; : rel! ( to from -- ) - tuck - ( from offset ) + tuck 1+ - ( from offset ) dup byte-offset? 0= abort" Bad branch offset" swap asm8! ; @@ -317,11 +317,15 @@ : pop ( iram -- ) h# d0 asm8, iram, ;
: xjmp ( adr -- ) - dup here - byte-offset? if sjmp else ljmp then +\ Turn off this optimizations for now for simplicity +\ dup here - byte-offset? if sjmp else ljmp then + ljmp ; : xcall ( adr -- ) - dup here 2+ xor h# f800 and ( adr page-different? ) - if lcall else acall then ( adr ) +\ Turn off this optimizations for now for simplicity +\ dup here 2+ xor h# f800 and ( adr page-different? ) +\ if lcall else acall then ( adr ) + lcall ; : put-ljmp ( to from -- ) >r