view interps/clc-intercal/CLC-INTERCAL-Base-1.-94.-2/INTERCAL/Include/syscall.iasm @ 12202:57ddf08a8ca2 draft

<oerjan> slwd moon//s,$,.,
author HackEso <hackeso@esolangs.org>
date Thu, 28 Nov 2019 02:15:33 +0000
parents 859f9b4339e6
children
line wrap: on
line source

	DO NOTE: THIS LIBRARY ADDS SYSTEM CALL INTERFACE TO "SICK"

Copyright (c) 2006-2008 Claudio Calvelli, all rights reserved.

CLC-INTERCAL is copyrighted software. However, permission to use, modify,
and distribute it is granted provided that the conditions set out in the
licence agreement are met. See files README and COPYING in the distribution.

PERVERSION "CLC-INTERCAL INTERCAL/Include/syscall.iasm 1.-94.-2"

	[ FLA { #84 #89 #80 #69}
	      { #69 #88 #84 #69 #78 #83 #73 #79 #78 } ]
	[ STO #666 %OS ]

	PLEASE NOTE: SYSCALL #0 - NO OPERATION
	[ SYS #0 #0 ]
	
	PLEASE NOTE: SYSCALL #1 - (PER)VERSION NUMBER
	[ SYS #1 [
	  STO #11         TAI NUM OWN #1 %OS +
	  STO #95 SUB  #1 TAI NUM OWN #1 %OS +
	  STO #91 SUB  #2 TAI NUM OWN #1 %OS +
	  STO #87 SUB  #3 TAI NUM OWN #1 %OS +
	  STO #92 SUB  #4 TAI NUM OWN #1 %OS +
	  STO #67 SUB  #5 TAI NUM OWN #1 %OS +
	  STO #88 SUB  #6 TAI NUM OWN #1 %OS +
	  STO #74 SUB  #7 TAI NUM OWN #1 %OS +
	  STO #92 SUB  #8 TAI NUM OWN #1 %OS +
	  STO #67 SUB  #9 TAI NUM OWN #1 %OS +
	  STO #65 SUB #10 TAI NUM OWN #1 %OS +
	  STO  #0 SUB #11 TAI NUM OWN #1 %OS] ]

	PLEASE NOTE: SYSCALL #2 - INTERCAL DIALECT
	[ SYS #2 [
	  STO #17         TAI NUM OWN #1 %OS +
	  STO #91 SUB  #1 TAI NUM OWN #1 %OS +
	  STO #95 SUB  #2 TAI NUM OWN #1 %OS +
	  STO #78 SUB  #3 TAI NUM OWN #1 %OS +
	  STO #83 SUB  #4 TAI NUM OWN #1 %OS +
	  STO #78 SUB  #5 TAI NUM OWN #1 %OS +
	  STO #91 SUB  #6 TAI NUM OWN #1 %OS +
	  STO #67 SUB  #7 TAI NUM OWN #1 %OS +
	  STO #95 SUB  #8 TAI NUM OWN #1 %OS +
	  STO #70 SUB  #9 TAI NUM OWN #1 %OS +
	  STO #76 SUB #10 TAI NUM OWN #1 %OS +
	  STO #80 SUB #11 TAI NUM OWN #1 %OS +
	  STO #65 SUB #12 TAI NUM OWN #1 %OS +
	  STO #74 SUB #13 TAI NUM OWN #1 %OS +
	  STO #78 SUB #14 TAI NUM OWN #1 %OS +
	  STO #67 SUB #15 TAI NUM OWN #1 %OS +
	  STO #83 SUB #16 TAI NUM OWN #1 %OS +
	  STO  #0 SUB #17 TAI NUM OWN #1 %OS] ]

	PLEASE NOTE: SYSCALL #3 - OPEN FILE
	[ SYS #3 [
	  STO UNE MUL { #71 #101 #110 #101 #114 #105 #99 #73 #79 }
		  MUL { #110 #101 #119 }
		  [ MUL { #91 #95 #77 #70 #83 #65 } +
		    TSP NUM OWN #1 %OS +
		    TAI NUM OWN #1 %OS ]
	      WHP NUM OWN #1 %OS ] ]

	PLEASE NOTE: SYSCALL #4 - RESET FILE
	[ SYS #4 [
	  UNS MUL { #71 #101 #110 #101 #114 #105 #99 #73 #79 }
	      MUL { #114 #101 #115 #101 #116 }
	      [ WHP NUM OWN #1 %OS ] ] ]

	PLEASE NOTE: SYSCALL #5 - SEEK FILE (SEEK_SET ONLY)
	[ SYS #5 [
	  UNS MUL { #71 #101 #110 #101 #114 #105 #99 #73 #79 }
	      MUL { #115 #101 #101 #107 }
	      [ WHP NUM OWN #1 %OS +
		TSP NUM OWN #1 %OS ] ] ]

	PLEASE NOTE: SYSCALL #6 - OPEN TCP SOCKET
	[ SYS #6 [
	  STO UNE MUL { #71 #101 #110 #101 #114 #105 #99 #73 #79 }
		  MUL { #110 #101 #119 }
		  [ MUL { #91 #95 #80 #78 #86 } +
		    TSP NUM OWN #1 %OS +
		    TAI NUM OWN #1 %OS +
		    MUL { #91 #91 #80 #80 #95 #69 #65 #74 #94 #65 #74 #91 #91 #83 #83 } ]
	      WHP NUM OWN #1 %OS ] ]

	PLEASE NOTE: SYSCALL #7 - TOGGLE NEWLINE HANDLING
	[ SYS #7 [
	  UNS MUL {}
	      MUL { #95 #110 #101 #119 #108 #105 #110 #101 }
	      [ MUL { #91 #91 #80 #80 #95 #80 #86 #91 #91 #83 #83 } ] ] ]

	PLEASE NOTE: THAT'S IT FOR NOW
	[ GUP ]