Browse Prior Art Database

Early Resolution of BXLE and BXH Instructions Without Addition

IP.com Disclosure Number: IPCOM000060004D
Original Publication Date: 1986-Feb-01
Included in the Prior Art Database: 2005-Mar-08
Document File: 1 page(s) / 13K

Publishing Venue

IBM

Related People

Emma, PG: AUTHOR [+4]

Abstract

BXLE and BXH are branch instructions of the form BXLE r1,r3,d2(b2) where the target address is determined by d2(b2), and the action is determined as follows: (1) An increment value (specified by r3) is added to an index value (specified by r1). (2) This sum is compared to a comparand value. (a) For BXLE, the branch is taken if the sum is less than or equal to the comparand value. (b) For BXH, the branch is taken if the sum is greater than the comparand value. (3) The comparand value is the contents of the odd register of the even/odd register pair specified by r3. That is, if the field r3 is odd, then r3 specifies the comparand; otherwise, the comparand is specified by r3 + 1.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 51% of the total text.

Page 1 of 1

Early Resolution of BXLE and BXH Instructions Without Addition

BXLE and BXH are branch instructions of the form BXLE r1,r3,d2(b2) where the target address is determined by d2(b2), and the action is determined as follows:
(1) An increment value (specified by r3) is added to an index value (specified by r1). (2) This sum is compared to a comparand value. (a) For BXLE, the branch is taken if the sum is less than or equal to the comparand value. (b) For BXH, the branch is taken if the sum is greater than the comparand value. (3) The comparand value is the contents of the odd register of the even/odd register pair specified by r3. That is, if the field r3 is odd, then r3 specifies the comparand; otherwise, the comparand is specified by r3 + 1. It is demonstrated below that for certain combinations of specifiers, r1 and r3, the branch action can be determined by a simple comparison prior to the time that the actual sum is formed. As outlined above, branch action is determined by three quantities, namely, index (IX), increment (INC), and comparand (COMP). Based on the specifiers r1 and r3, there are five implicit relationships that these three quantities can have relative to each other, and in four of these relationships, the branch action can be determined by a simple comparison. The five cases are enumerated below. Case 1: IX = INC, IX = COMP, INC = COMP, e.g., BXLE 2,4,d2(b2) This is the most general case in which the branch is taken if IX + INC <- COMP. No reduction is possible in this case, and the addition must be performed to determine branch outcome. Case 2: IX = INC, INC = COMP, e.g., BXLE 2,3,d2(b2) In this case, the branch is taken if IX + INC <-INC, or more simply, if IX < 0. Thus, the branch outcome can be determined merely by testing the contents of r1. Case 3: IX = INC, IX = COMP, e.g., BXLE 3,2,d2,(b2) In t...