BSA(Branch, Save,and Address) basically meant to branch a
subprogram. In this we will save the return address, that is
proceed and save at the operanad's effective address with a
subprogram that is started just before one later in memory.
Exmaple:
D6T3: M[AR] ← PC, AR ← AR + 1
ISZ(Increment and skiip if zero) skips the next instruction only if
the operand stored at the effective address that is 0.The PC value
will be incremented, which cannot be done directly.
Example :
D8T5:DR ←M[AR]
D9T6:DR ←DR + 1
D8T7:M[AR] ←DR, if (DR = 0) then (PC ←PC + 1),SC ←0
Below is the control logic design that is included both BSA and ISZ :
Design the control logic about BSA (Branch and Save Return Address), ISZ (Increment and Skip if...