On 8 September 2010 15:09, Tom Marchant<[email protected]>  wrote:

 I'm surprised that this would assemble.
     ....
 0008 4130 2FFC           FFFFFC    25          LA    R3,-4(,R2)
      ...
 I don't understand why the instruction at line 25 assembles
 as 4130 2FFC.  As far as I can see, it should generate an error.

Me too.  A comparison:

Assembler H:

                                                                                
                               PAGE    2
  LOC  OBJECT CODE    ADDR1 ADDR2  STMT   SOURCE STATEMENT                      
               ASM H V 02 10.13 09/09/10
000000                                1 NEGDISP  CSECT
                         FFFFF000     2          USING -4096,R1
000000 4132 1FFC           FFFFFC     3          LA    R3,-4(R2)
                                      4 *
000004 0000 0000            00000     5          LA    R3,-4(,R2)
   IEV034  *** ERROR ***  ADDRESSABILITY ERROR
                                      6 *
                                      7          YREGS

HLASM:

                                                                                
                               Page    3
  Active Usings: None
  Loc  Object Code    Addr1 Addr2  Stmt   Source Statement                      
            HLASM R6.0  2010/09/09 10.14
000000                00000 00008     1 NEGDISP  CSECT
                 R:1 FFF000           2          USING -4096,R1
000000 4132 1FFC           FFFFFC     3          LA    R3,-4(R2)
                                      4 *
000004 4130 2FFC           FFFFFC     5          LA    R3,-4(,R2)
                                      6 *
                                      7          YREGS

Tachyon:

                                                                                
                               PAGE    5
  Active USINGs: None

  Loc  Object Code    Addr1 Addr2  Stmt   Source Statement                      
           X390 2.3.05  2010/09/09 10.11

000000                00000 00008     1 NEGDISP  CSECT
000000                                2          USING -4096,R1
** TXA111E Operand 1 is invalid.
** TXA301I Record 2 in .m1/src_Rolltest/NEGDISP.s
000000                      FFFFC     3          LA    R3,-4(R2)
** TXA317E Addressability error in operand 2.
** TXA301I Record 3 in .m1/src_Rolltest/NEGDISP.s
                                      4 *
000004                      FFFFC     5          LA    R3,-4(,R2)
** TXA316E Invalid displacement in operand 2.
** TXA301I Record 5 in .m1/src_Rolltest/NEGDISP.s
                                      6 *
                                      7          YREGS

In my view, the only correct one is Assembler H.

-- gil

Reply via email to