Hello.I wrote a simple ASM-code in Keil Uvision. MCU ST10F273. Procedure calls in different addresses.If the procedure call is within the same page, then "warning 62" does not occur.There is a problem with "warning 62" when you jump from one page (AT code 0x4000) to another (AT code 0x20000).
I am finding the setup of the IDE difficult despite reading instructions.How to solve this problem? What is the best way to write code that calls a procedure from one page from another.
a00.asm (18) warning A62: VALUE TRUNCATIONProgram Size: data=0(near=0) const=0(near=0) code=30creating hex file from "a00"..."c" - 0 Error(s), 1 Warning(s).
$MOD167 $CASE $NOMACRO ;====================================== ;page 00 seg00 section CODE AT 0x0 RESET proc RESET_0: jmps 0, loc_4000 RESET endp seg00 ends seg4000 section CODE AT 0x4000 _loc_4000 proc loc_4000: jmps 2, sub_20000 ;warning A62: VALUE TRUNCATION _loc_4000 endp seg4000 ends seg2AA section CODE AT 0x02AA _srvwdt_loc_2AA proc srvwdt_loc_2AA: srvwdt ; -- perezapusk storozhevoi timer jmpr cc_UC, srvwdt_loc_2AA _srvwdt_loc_2AA endp seg2AA ends ;============== end page 00 ================================ ; page 02 seg2 section CODE AT 0x020000 _sub_20000 proc sub_20000: mov R1, DPP3:3DFEh cmp r1, #0A585h jmpr cc_Z, reset_WDT_loc_2007E mov r12, #0 reset_WDT_loc_2007E: jmps 0, srvwdt_loc_2AA _sub_20000 endp seg2 ends END
Thanks to all who answered :)
jmps 2, SOF sub_20000