home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / programming / perl / perl_1 / Perl5001 / pl / Tests / TrySyscall < prev   
Encoding:
Text File  |  1996-02-29  |  627 b   |  24 lines

  1. use RiscosLib;
  2.  
  3. $buffer = ' ' x 255;
  4.  
  5. # Getting the SWI number
  6. $str="OS_SWINumberToString";
  7. $no = SWINumberFromString($str);
  8. print "Swi number for \'$str\' is $no\n";
  9.  
  10.  
  11. # Calculation of the register mask;
  12. @in = (0 .. 2);
  13. @out = (2);
  14. $mask = ®mask(\@in,\@out);
  15. print "The mask is $mask\n";
  16.  
  17. # Fudge to return integer values
  18. $len = ' 'x4;                    # Reserve space for an integer
  19. syscall($no,$mask,0x3C,$buffer,255,$len);    # Perl passes its address as a parameter
  20. $len = unpack("i",$len);            # Interpret the result as an integer
  21. $len -= 1;                    # We don't want the null
  22. $buffer = substr($buffer, 0, $len);
  23. print "Buffer is $buffer\n";
  24.