(a)(1) Subject to paragraph (2), an officer who on September 15, 1981—“(A) holds the grade of lieutenant commander, commander, or captain in the Regular Navy or the grade of major, lieutenant colonel, or colonel in the Regular Marine Corps; or
“(B) is on a promotion list to any such grade,
shall be retired on the date provided under the laws in effect on September 14, 1981, except that an officer for whom no means can be established under the laws in effect on September 14, 1981, for computing creditable service in determining whether the officer is subject to involuntary retirement shall be retired under chapter 573 [now 843] of title 10, United States Code, as in effect on September 14, 1981, on the basis of the years of service of such officer as determined under regulations prescribed under section 624(b).
“(2) This subsection does not apply to an officer—“(A) removed from active duty under section 1184 of title 10, United States Code, as added by this Act;
“(B) promoted to a higher grade in the Regular Navy or Regular Marine Corps;
“(C) continued on active duty under section 637 of title 10, United States Code, as added by this Act; or
“(D) selected for early retirement under section 638 of title 10, United States Code.
“(b)(1) An officer of the Navy who on September 14, 1981—“(A) has the grade of rear admiral in the Regular Navy; or
“(B) was on a promotion list to such grade,
shall be continued on active duty or retired in accordance with the laws in effect on September 14, 1981.
“(2) An officer of the Marine Corps who on September 14, 1981—“(A) has the grade of brigadier general in the Regular Marine Corps; or
“(B) was on a promotion list to such grade,
shall be retired in accordance with the laws in effect on September 14, 1981.