![]() ![]() ![]() ![]() ![]() |
|
увеличить - не изменять - уменьшить, вперед - стой - назад,
выигрывает А - ничья - выигрывает В,
избыток - норма - недостаток,
дружественный - нейтральный - враждебный,
рано - своевременно - поздно,
влево - прямо - вправо
и т. п.
START, | CLA CLL TAD А AND MASK TAD В SZL JMP BTHNEG RAL SZL CLA JMP OPPSGN JMP BTHPOS |
/Ас: =0; Lk: =0; /Ас: =Ac+A; /Ас (1, 11): = 0; /Ас: =Ac+B; /if Lk=0 /then gо to BTHNEG; /LkAc: =AcLk; /Ас: =0; if Lk=0 /then go to OPPSGN /else go to BTHPOS; |
OPPSGN, | TAD А TAD В DCA SUM HLT |
/Ас: =Ac+A; /Ас: =Ac+B; /SUM: =Ac; Ас: =0; /STOP; |
ВТНNEG, | CLA CLL TAD А TAD В SMA JMP NEGERR DCA SUM HLT |
/Ас: =0; Lk: =0; /Ас: = Ac+A; /Ас: =Ac+B; /if not(Ac<0) /then go to NEGERR; /SUM: =Ас; Ас: =0; /STOP; |
BTHPOS, | TAD А TAD В SPA JMP POSERR DCA SUM HLT |
/Ас: =Ac+A; /Ас: =Ac+B; /if not(Ас>=0) /then go to POSERR; /SUM: =Ас; Ас: =0; /STOP |
MASK, SUM, А, В, POSERR, |
4000 0 nnnn nnnn ... ... |
|
NEGERR, | ... ... |
START, | CLA CLL TAD А TAD В SLS JMP NEGERR JMP POSERR DCA SUM HLT |
/Ас: =0; Lk: =0; /Ас: =Ac+A; /Ac: =Ac+B; /if Lk= - 1 /then go to NEGERR; if Lk= 1 /then go to POSERR; /SUM: =Ac; Ас: =0; /STOP; |
START, | CLA CLL TAD А TAD В SZLS JMP OVRFLW DCA SUM HLT |
/Ас: =0; Lk: =0; /Ас: =Ac+A; /Ас: =Ac+B; /if Lk=0 /then go to OVRFLW; /SUM: =Ac; Ас: =0; /STOP; |
![]() |