Create a file: Difference between revisions

no edit summary
(→‎{{header|BQN}}: Point out working directory versus script path issue)
No edit summary
Line 2,238:
process::exit(code)
}</lang>
 
=={{header|S-BASIC}}==
CP/M (the only operating system supported by S-BASIC) does not have named directories or a
 
tree-structured file system. The closest thing to a "root" directory would be user area 0 on
 
drive A:, which on a stock system will be the logged in directory on a cold boot. The "call"
 
statement, which normally serves to invoke an assembly language routine, is here used to
 
call upon the BDOS to switch to the desired directory.
<lang BASIC>
rem -- Set the logged drive ('A' to 'P')
procedure setdrive (drive = char)
var hl, de, bc, a_psw = integer
rem -- ensure drive letter is upper case
if drive >= 'a' then drive = drive - 32
hl = 0
de = drive - 65
bc = 0EH rem BDOS set drive function
a_psw = 0
rem - call BDOS with drive number in DE
call (5H,hl,de,bc,a_psw)
end
 
rem -- Set the CP/M user area (0 to 15)
procedure setuser (user = integer)
var hl, bc, a_psw = integer
hl = 0
bc = 20H rem BDOS set user function
a_psw = 0
rem - call BDOS with user number in DE
call (5H,hl,user,bc,a_psw)
end
 
comment
create empty file "output.txt" in current directory and in
startup directory (drive A:, user 0)
end
 
create "OUTPUT.TXT"
setdrive 'A'
setuser 0
create "OUTPUT.TXT"
 
end
</lang>
 
 
=={{header|Scala}}==
211

edits