I use a newer Merlin 3.51 on the GS, but IIRC, the obj-save syntax is the same.
Your DSK & SAV pseudo-ops look correct. I use them all the time on my programs with no problem (SAV for small obj, DSK for large obj).
I did a quick test:
dsk /ram5/dsksave
org $300
lda #"H"
jmp $fded
assembling results in a 5 byte obj file: /ram5/dsksave
Then I tried:
org $300
lda #"H"
jmp $fded
sav /ram5/objsave
assembled and got a write confirmation msg at the end of the asm listing:
Object saved as /ram5/objsave,A$0300,L$0005,BIN
A catalog of /ram5 shows both BIN files on the volume.
I'm not sure why you are getting the VOLUME FULL error messages when Merlin tries to save. I would try using a full prodos path, make sure your destination disk is named uniquely (you might be getting a volume name conflict), and reformat your blank disk to make sure the directory structure is not damaged (and is empty).
Hope that helps,
-JB
@JBrooksBSI