The September 1981 University Computing Center Newsletter at the University of Southern California included this recipe for “Famous Rum Cake,” written in Assembler by a systems programmer for the IBM 360:
RUMCAKE CSECT
* THIS INTRODUCES SOME NEW MNEMONICS
* MX MIX
* MXL MIX UNTIL LIGHT
* BSOP BEAT UNTIL SOFT PEAKS
* BSTP BEAT UNTIL STIFF PEAKS
* BKE BAKE (SECOND OPERAND IS NUMBER OF MINUTES)
PREHEAT BALR 12,0 350 DEGREES
USING *,12
BOWL1 L 3,FLOUR
A 3,BAKPOW
A 3,SALT
A 3,BSODA
BOWL2 L 4,BUTTER
MXL 4
A 4,SUGAR1
MX 4
A 4,ORIND
AR 4,3
A 4,MIXTURE
MX 4
A 4,EXTRACTS
BOWL3 L 5,WHITES
BSOP 5
A 5,SUGAR2
BSTP 5
AR 5,4
S 5,PANS
BKE PANS,=M'25'
SVC 3
*
* TYPES OF CONSTANTS ARE ALSO INTRODUCED:
* T TEASPOON
B TABLESPOON
C CUP
*
* NON-INTEGER LENGTHS ARE ALSO INTRODUCED
*
FLOUR DS CL2
BAKPOW DS TL2 BAKING POWDER
SALT DS TL.25
BSODA DS TL.25 BAKING SODA
BUTTER DS CL.5 NOT MARGARINE
SUGAR1 DS CL.75 GRANULATED
EGGS DS OF
WHITES DS HL2
YOLKS DS HL2
ORIND DS TL1 GRATED ORANGE RIND
MIXTURE DS 0CL.5
RUM DS BL3
OJ DS CL.5 ORANGE JUICE
EXTRACTS DS 0T
ALMOND DS TL.25
VANILLA DS TL.25
SUGAR2 DS CL.25
WALNUTS DS CL.5
PANS DC 2C'9INCH' GREASED AND LINED
END RUMCAKE COOL FOR TEN MINUTES, THEN ENJOY
The programmer who sent me this offered a translation:
Here are some definitions I found in an IBM Assembler book, which may help: L = load, A = add, DS = define storage, S = store, SVC = supervisor call (SVC 3 probably means “execute”), AR = add register (AR 5,4 means “add the contents of register 4 to those of register 5 and store the result in register 5”).
Notice that the program never refers to the egg yolks and the walnuts! I fed the egg yolks to my cat, and chopped the walnuts and threw them in at the end.
Rum Cake
2 cups flour
2 teaspoons baking powder
1/4 teaspoon salt
1/4 teaspoon baking soda
1/2 cup butter, not margarine
3/4 cup granulated sugar
2 eggs, separated
1 teaspoon grated orange rind
3 tablespoons rum
1/2 cup orange juice
1/4 teaspoon almond extract
1/4 teaspoon vanilla extract
1/4 cup granulated sugar
1/2 cup chopped walnuts
Preheat oven to 350 degrees. Grease two 9-inch cake pans, and line with waxed paper. Sift together the flour, baking powder, salt and baking soda. In another mixing bowl, cream the butter until light, add the 3/4 cup of sugar and mix well. Add the orange rind to the creamed mixture. Stir the orange juice and rum together, and add to the creamed mixture alternately with the dry ingredients. Add the almond and vanilla extracts and the walnuts. In a separate bowl, beat the egg whites until they form soft peaks. Add the 1/4 cup of sugar and beat until stiff peaks are formed. Fold the egg whites into the batter, pour into pans and bake for 25 minutes. Cool 10 minutes, then remove from the pans.
Notes: I used the peel from 1 whole orange, and juiced it to get the 1/2 cup of juice. There was no frosting recipe, so I made a half-recipe of this Cream Cheese Icing: cream together 8 ounces of softened cream cheese and 1/2 cup (1 cube) of softened butter of margarine. Sift a 16-ounce box of powdered sugar and add to the creamed mixture. Beat until light. Stir in 1 teaspoon of vanilla. Makes enough icing for a 3-layer cake. (This cake needed only 4 ounces cream cheese, 1/4 cup butter, 8 ounces of sugar, 1/2 teaspoon of vanilla.)
(Thanks, Dorothy.)