2016 Update

This commit is contained in:
Tina Müller 2016-12-05 22:15:40 +01:00
parent 948b86eafa
commit dcf5d15da3
7965 changed files with 139854 additions and 31002 deletions

View file

@ -0,0 +1,19 @@
* Do-While
DOWHILE CSECT
USING DOWHILE,12 set base register
LR 12,15 load base register
SR 6,6 v=0
LOOP LA 6,1(6) repeat; v=v+1
STC 6,WTOTXT v
OI WTOTXT,X'F0' make printable
WTO MF=(E,WTOMSG) display v
LR 4,6 v
SRDA 4,32 shift to reg 5
D 4,=F'6' v/6 so r4=remain & r5=quotient
LTR 4,4 until v mod 6=0
BNZ LOOP loop
ENDLOOP BR 14 return to caller
WTOMSG DS 0F full word alignment for wto
WTOLEN DC AL2(5),H'0' length of wto buffer (4+1)
WTOTXT DC C' ' wto text
END DOWHILE

View file

@ -0,0 +1,21 @@
* Do-While 27/06/2016
DOWHILE CSECT
USING DOWHILE,12 set base register
LR 12,15 init base register
SR 6,6 v=0
LA 4,1 init reg 4
DO UNTIL=(LTR,4,Z,4) do until v mod 6=0
LA 6,1(6) v=v+1
STC 6,WTOTXT v
OI WTOTXT,X'F0' make editable
WTO MF=(E,WTOMSG) display v
LR 4,6 v
SRDA 4,32 shift dividend to reg 5
D 4,=F'6' v/6 so r4=remain & r5=quotient
ENDDO , end do
BR 14 return to caller
WTOMSG DS 0F full word alignment for wto
WTOLEN DC AL2(L'WTOTXT+4) length of WTO buffer
DC H'0' must be zero
WTOTXT DS C one char
END DOWHILE

View file

@ -1,26 +0,0 @@
DOWHILE CSECT , -This program's control section
BAKR 14,0 -Caller's registers to linkage stack
LR 12,15 -load entry point address into Reg 12
USING DOWHILE,12 -tell assembler we use Reg 12 as base
XR 9,9 -clear Reg 9 - divident value
LA 6,6 -load divisor value 6 in Reg 6
LA 8,WTOLEN -address of WTO area in Reg 8
LOOP DS 0H
LA 9,1(,9) -add 1 to divident Reg 9
ST 9,FW2 -store it
LM 4,5,FDOUBLE -load into even/odd register pair
STH 9,WTOTXT -store divident in text area
MVI WTOTXT,X'F0' -first of two bytes zero
OI WTOTXT+1,X'F0' -make second byte printable
WTO TEXT=(8) -print it (Write To Operator macro)
DR 4,6 -divide Reg pair 4,5 by Reg 6
LTR 5,5 -test quotient (remainder in Reg 4)
BNZ RETURN -if one: 6 iterations, exit loop.
B LOOP -if zero: loop again.
RETURN PR , -return to caller.
FDOUBLE DC 0FD
DC F'0'
FW2 DC F'0'
WTOLEN DC H'2' -fixed WTO length of two
WTOTXT DC CL2' '
END DOWHILE