movea.l d1,a2 ; Very first byte of the config file moveq.l #0,d0 ; Clear d0 (usefull with a config file > 32767 bytes :o. But useless because in such a case... STACKOVERFLOW!!! :D) move.w (a2),d0 ; Read size. We don't care if it's odd, because we need less bytes that the real file size (TIOS header, file tag, etc) suba.l d0,sp ; Operations on sp automagically keep it even