You could not code an executed relative instruction otherwise.

Or at least, if otherwise, the assembler would have to know the one place it 
was executed from. 

Charles

-----Original Message-----
From: IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU> On Behalf 
Of Paul Gilmartin
Sent: Thursday, February 27, 2025 9:05 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: Re: BCTG Instruction

On 2/26/25 20:54, Robert Raicer wrote:
> An important correction to the information provided by Jon Perryman 
> regarding how the branch address in the BRCT, BRCTG and BRCTH 
> instructions is computed.
> 
> The RI field is a signed binary integer value which represents the 
> number of halfwords which is added to the address of the instruction 
> itself, NOT the address field of the PSW, to generate the branch 
> address.  This type of address computation is the same for all 
> Relative Addressing instructions, not just for branching instructions, 
> when operand(s) locations are expressed using Relative Addressing (for 
> example, the second operand of the LOAD RELATIVE LONG instruction).
> 
> In the general (common) case of instruction sequencing and execution, 
> the address field of the PSW and the address of the instruction itself 
> are the same.  However, in the case of the EXECUTE instruction, the 
> address field of the PSW refers to the location of the EXECUTE 
> instruction, NOT the location of the instruction to be EXECUTEd (i.e., 
> the EXECUTE "target" address).
>  .
How useful is that?

--
gil

Reply via email to