From: SourceForge.net <no...@so...> - 2008-01-10 16:37:19
|
Bugs item #1865114, was opened at 2008-01-06 16:02 Message generated for change (Settings changed) made by maartenbrock You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1865114&group_id=599 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: assembler Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Laszlo BORTEL (bortel) >Assigned to: Maarten Brock (maartenbrock) Summary: Relative jump calculation with dot offset Initial Comment: When using the dot symbol to generate relative jump without a label, the assembler produces strange result. Assembly source: sjmp .+3 sjmp .+2 sjmp .+1 sjmp . sjmp .-1 sjmp .-2 sjmp .-3 sjmp .-4 sjmp .-5 lbl1: sjmp lbl1 sjmp lbl2 lbl2: Command to assemble: asx8051 -glos BugReport17.asm Assembled result: ASxxxx Assembler V01.70 + NoICE + SDCC mods + Flat24 Feb-1999 (Intel 8051), page 1. 0000 80 02 1 sjmp .+3 0002 80 01 2 sjmp .+2 0004 80 00 3 sjmp .+1 0006 80 FE 4 sjmp . 0008 80 FE 5 sjmp .-1 000A 80 FD 6 sjmp .-2 000C 80 FC 7 sjmp .-3 000E 80 FB 8 sjmp .-4 0010 80 FA 9 sjmp .-5 0012 10 lbl1: 0012 80 FE 11 sjmp lbl1 0014 80 00 12 sjmp lbl2 0016 13 lbl2: It is strange that 'sjmp .' and 'sjmp .-1' produce the same offset. Instead of the result above I would expect the following: 0000 80 01 1 sjmp .+3 0002 80 00 2 sjmp .+2 0004 80 FF 3 sjmp .+1 0006 80 FE 4 sjmp . 0008 80 FD 5 sjmp .-1 000A 80 FC 6 sjmp .-2 000C 80 FB 7 sjmp .-3 000E 80 FA 8 sjmp .-4 0010 80 F9 9 sjmp .-5 0012 10 lbl1: 0012 80 FE 11 sjmp lbl1 0014 80 00 12 sjmp lbl2 0016 13 lbl2: Is this special behaviour intentional or a bug? If it is intentional, what is the rationale behind? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=100599&aid=1865114&group_id=599 |