www.pudn.com > HEC-win32.zip > filemgmt.asm
.PB main .PV filename1 -16 .PV filename2 -32 .PV dirname -40 .PV buffer -512 #allocate local storage PUSHQ $FP MOV $FP,$SP LQI $R7,512 SUB $SP,$SP,$R7 #populate local dirName = C:\ LAI $R10,$FP,dirname MOV $R14,$R10 LBI $R2,1 LBI $R1,'C' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,':' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,'\' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,'_' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,'a' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,0 SB $R1,$R10 #populate local filename1 = C:\_a\t.txt LAI $R10,$FP,filename1 MOV $R11,$R10 LBI $R2,1 LBI $R1,'C' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,':' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,'\' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,'_' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,'a' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,'\' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,'t' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,'.' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,'t' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,'x' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,'t' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,0 SB $R1,$R10 #populate local filename2 = C:\_a\w.txt LAI $R10,$FP,filename2 MOV $R12,$R10 LBI $R2,1 LBI $R1,'C' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,':' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,'\' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,'_' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,'a' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,'\' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,'w' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,'.' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,'t' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,'x' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,'t' SB $R1,$R10 ADD $R10,$R10,$R2 LBI $R1,0 SB $R1,$R10 #check to see if file exists and print return code LBI $R1,0 MOV $R2,$R11 INT 1 MOV $R2,$R3 LBI $R1,20 INT 0 LQI $R2,10 LQI $R1,16 INT 0 LQI $R2,13 LQI $R1,16 INT 0 #check to see if filename1 is a directory MOV $R2,$R11 LBI $R1,1 INT 1 MOV $R2,$R3 LBI $R1,20 INT 0 LQI $R2,10 LQI $R1,16 INT 0 LQI $R2,13 LQI $R1,16 INT 0 #check to see if can read file LBI $R1,2 MOV $R2,$R11 INT 1 MOV $R2,$R3 LBI $R1,20 INT 0 LQI $R2,10 LQI $R1,16 INT 0 LQI $R2,13 LQI $R1,16 INT 0 #check to see if can write to file LBI $R1,3 MOV $R2,$R11 INT 1 MOV $R2,$R3 LBI $R1,20 INT 0 LQI $R2,10 LQI $R1,16 INT 0 LQI $R2,13 LQI $R1,16 INT 0 #get size of a file in bytes LBI $R1,4 MOV $R2,$R11 INT 1 MOV $R2,$R3 LBI $R1,20 INT 0 LQI $R2,10 LQI $R1,16 INT 0 LQI $R2,13 LQI $R1,16 INT 0 #get time of last modification of file LBI $R1,5 MOV $R2,$R11 INT 1 MOV $R2,$R3 LBI $R1,20 INT 0 LQI $R2,10 LQI $R1,16 INT 0 LQI $R2,13 LQI $R1,16 INT 0 #delete a file LBI $R1,6 MOV $R2,$R11 INT 1 MOV $R2,$R3 LBI $R1,20 INT 0 LQI $R2,10 LQI $R1,16 INT 0 LQI $R2,13 LQI $R1,16 INT 0 #create a directory LBI $R1,7 MOV $R2,$R12 INT 1 MOV $R2,$R3 LBI $R1,20 INT 0 LQI $R2,10 LQI $R1,16 INT 0 LQI $R2,13 LQI $R1,16 INT 0 #delete a directory LBI $R1,8 MOV $R2,$R12 INT 1 MOV $R2,$R3 LBI $R1,20 INT 0 LQI $R2,10 LQI $R1,16 INT 0 LQI $R2,13 LQI $R1,16 INT 0 #obtain the full path of file LBI $R1,9 LAI $R3,$FP,buffer MOV $R13,$R3 MOV $R2,$R12 INT 1 MOV $R2,$R13 LBI $R1,18 INT 0 LQI $R2,10 LQI $R1,16 INT 0 LQI $R2,13 LQI $R1,16 INT 0 #get the maximum path length LBI $R1,10 INT 1 LBI $R1,20 INT 0 LQI $R2,10 LQI $R1,16 INT 0 LQI $R2,13 LQI $R1,16 INT 0 #get the contents of C:\_a LBI $R1,11 MOV $R2,$R14 LBI $R3,0 MOV $R4,$R13 INT 1 MOV $R2,$R13 LBI $R1,18 INT 0 LQI $R2,10 LQI $R1,16 INT 0 LQI $R2,13 LQI $R1,16 INT 0 #rename w.txt to t.txt LBI $R1,12 MOV $R2,$R12 MOV $R3,$R11 INT 1 #reclaim local storage MOV $SP,$FP POPQ $FP HALT .PE