Portal | Manuals | References | Downloads | Info | Programs | JCLs | Mainframe wiki | Quick Ref

Author Message
janishyathi bonam

New User

Joined: 05 May 2020
Posts: 2
Location: USA

 Posted: Tue May 05, 2020 8:17 am    Post subject: LA instruction in assembler Hi! I'm trying to LA R1,5000 and it says invalid displacement. Is there a limit to the value of the second operand? How can I achieve this?

steve-myers

Active Member

Joined: 30 Nov 2013
Posts: 813
Location: The Universe

Posted: Tue May 05, 2020 9:52 am    Post subject:

Yes, there is a limit: 4095. There are at least three ways to achieve your goal.
• Two LA instructions, for example
 Code: LA    R1,2500          LA    R1,2500(,R1)

Dinosaurs like me would use this solution. The actual immediate values can be anything that adds to 5000; they do not have be 2500.
• LHI instruction  Code: LHI   R1,5000

This solution uses just 4 bytes.
• LGFI instruction  Code: LGFI  1,5000

This is hidden in Principles of Operation, but the sign of the immediate value is extended to bits 0 through 31 of the register. This solution uses 6 bytes.
janishyathi bonam

New User

Joined: 05 May 2020
Posts: 2
Location: USA

 Posted: Tue May 05, 2020 9:56 am    Post subject: Thank you!!
Ravi GA

New User

Joined: 20 Mar 2020
Posts: 7
Location: India

Posted: Tue May 05, 2020 10:47 am    Post subject: Re: LA instruction in assembler

 janishyathi bonam wrote: Hi! I'm trying to LA R1,5000 and it says invalid displacement. Is there a limit to the value of the second operand? How can I achieve this?

LAY R1,5000 is one more way to load values greater than 4095.
steve-myers

Active Member

Joined: 30 Nov 2013
Posts: 813
Location: The Universe

Posted: Tue May 05, 2020 11:43 am    Post subject: Re: LA instruction in assembler

 Ravi GA wrote: ... LAY R1,5000 is one more way to load values greater than 4095.
Yes, indeed. I had forgotten about LAY. I would suggest you read Principles of Operation very carefully before using it.
 All times are GMT + 6 Hours
 Page 1 of 1

Search our Forum:

 Topic Author Forum Replies Posted Similar Topics Mainframe ASSEMBLER LEARNING MANUAL w... upendrasri PL/I & Assembler 2 Tue May 05, 2020 11:42 am Debug set up for COBOL module but ope... elixir1986 IBM Tools 1 Sun Dec 22, 2019 12:05 am The Test under Mask (TM) Instruction steve-myers PL/I & Assembler 7 Sat Jan 05, 2019 2:36 pm mapping PLI structure to assembler co... Pedro PL/I & Assembler 3 Fri Jun 01, 2018 2:53 am Code Coverage and static analysis too... Aditya.Srivastava PL/I & Assembler 2 Fri May 25, 2018 12:48 pm

 © 2003-2020 IBM MAINFRAME Software Support Division
 Job Vacancies | Forum Rules | Bookmarks | Subscriptions | FAQ | Polls | Contact Us