MOVE.l a3,a1 * copy the file name pointer tst.l d1 * did the user hit open BEQ.s do_NoOpenFile * if not do no file exit

MOVE.l #52,d0 TRAP #15

MOVE.l d1,(outFileID) * save the file ID RTS

do_NoOpenFile MOVE.l #-1,d1 * clear the file id rts

do_FileNameLengthToA4 * WILL BE CALLED RIGHT AFTER THE USER SELECTS A FILE WITH THE OPEN DIALOG Move.l #0,a4do_CountFileAgain Move.b filename(a4),d4 cmp #0,D4 beq do_doneFileNameLength add #1,a4 bra do_CountFileAgaindo_doneFileNameLength *a4 now contains length of filename RTS

do_ProcessChars cmp d7,D2 BEQ do_ExitConvert * 1.5 Using successive characters in the ID, encode/decode the file with the new value at a position given by "Old value - value of digit at position -10" move.b (a4),d6

Same as above, but for "encrypted" and "txtFile". You've used DS already, so I apparently you know how to define variables. If a name doesn't show up in the symbol table at the end of the assembly listing (.L68 file), it's not defined.

Code:

Line 591 WARNING: END directive missing, starting address not set

See the help file under "Assembler Commands"/"Directives" for the DS and END commands. Then study the sample programs.