diff lib/kreiderclib/popen.as @ 2824:1647f1874cdf lwtools-port

Added Kreidier C library
author Boisy Pitre <boisy.pitre@nuance.com>
date Thu, 23 May 2013 05:49:13 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lib/kreiderclib/popen.as	Thu May 23 05:49:13 2013 -0500
@@ -0,0 +1,254 @@
+* Disassembly by Os9disasm of popen.r
+
+* class D external label equates
+
+D0000 equ $0000 
+D000d equ $000d 
+
+ section bss
+
+* Uninitialized data (class B)
+B0000 rmb 32 
+* Initialized Data (class G)
+
+ endsect  
+
+ section code
+
+popen: pshs  u 
+ leas  -14,s 
+ ldu   18,s 
+ ldb   [20,s] 
+ cmpb  #$77 
+ bne   L0012 
+ clra   
+ clrb   
+ bra   L0015 
+L0012 ldd   #1 
+L0015 std   6,s 
+ ldd   #3 
+ pshs  d 
+ leax  L01fb,pcr 
+ pshs  x 
+ lbsr  open 
+ leas  4,s 
+ std   4,s 
+ cmpd  #-1 
+ lbeq  L019d 
+ ldd   4,s 
+ std   2,s 
+ ldd   6,s 
+ pshs  d 
+ lbsr  dup 
+ leas  2,s 
+ std   ,s 
+ cmpd  #-1 
+ beq   L0070 
+ ldd   6,s 
+ pshs  d 
+ lbsr  close 
+ leas  2,s 
+ ldd   4,s 
+ pshs  d 
+ lbsr  dup 
+ leas  2,s 
+ cmpd  #-1 
+ bne   L0080 
+ ldd   ,s 
+ pshs  d 
+ lbsr  dup 
+ leas  2,s 
+ ldd   ,s 
+ pshs  d 
+ lbsr  close 
+ leas  2,s 
+L0070 ldd   4,s 
+ pshs  d 
+ lbsr  close 
+ leas  2,s 
+ lbra  L019d 
+ bra   L0080 
+L007e leau  1,u 
+L0080 ldb   ,u 
+ cmpb  #$20 
+ beq   L008a 
+ ldb   ,u 
+ bne   L007e 
+L008a ldb   ,u 
+ cmpb  #$20 
+ bne   L0092 
+ leau  1,u 
+L0092 pshs  u 
+ lbsr  strlen 
+ leas  2,s 
+ std   8,s 
+ addd  #2 
+ pshs  d 
+ lbsr  malloc 
+ leas  2,s 
+ std   12,s 
+ pshs  u 
+ ldd   14,s 
+ pshs  d 
+ lbsr  strcpy 
+ leas  4,s 
+ leax  L0201,pcr 
+ pshs  x 
+ ldd   14,s 
+ pshs  d 
+ lbsr  strcat 
+ leas  4,s 
+ ldd   2,s 
+ lslb   
+ rola   
+ leax  B0000,y 
+ leax  d,x 
+ pshs  x 
+ clra   
+ clrb   
+ pshs  d 
+ ldd   #1 
+ pshs  d 
+ ldd   #1 
+ pshs  d 
+ ldd   20,s 
+ pshs  d 
+ ldd   18,s 
+ addd  #1 
+ pshs  d 
+ ldd   30,s 
+ pshs  d 
+ lbsr  os9fork 
+ leas  12,s 
+ std   [,s++] 
+ cmpd  #-1 
+ bne   L012a 
+ ldd   12,s 
+ pshs  d 
+ lbsr  free 
+ leas  2,s 
+ ldd   6,s 
+ pshs  d 
+ lbsr  close 
+ leas  2,s 
+ ldd   ,s 
+ pshs  d 
+ lbsr  dup 
+ leas  2,s 
+ ldd   ,s 
+ pshs  d 
+ lbsr  close 
+ leas  2,s 
+ ldd   4,s 
+ pshs  d 
+ lbsr  close 
+ leas  2,s 
+ lbra  L018f 
+L012a ldd   12,s 
+ pshs  d 
+ lbsr  free 
+ leas  2,s 
+ ldd   6,s 
+ pshs  d 
+ lbsr  close 
+ leas  2,s 
+ ldd   ,s 
+ pshs  d 
+ lbsr  dup 
+ leas  2,s 
+ ldd   ,s 
+ pshs  d 
+ lbsr  close 
+ leas  2,s 
+ ldd   20,s 
+ pshs  d 
+ ldd   6,s 
+ pshs  d 
+ lbsr  fdopen 
+ leas  4,s 
+ std   10,s 
+ bne   L01a1 
+ ldd   4,s 
+ pshs  d 
+ lbsr  close 
+ leas  2,s 
+L0169 clra   
+ clrb   
+ pshs  d 
+ lbsr  wait 
+ leas  2,s 
+ std   8,s 
+ pshs  d 
+ ldd   4,s 
+ lslb   
+ rola   
+ leax  B0000,y 
+ leax  d,x 
+ ldd   ,x 
+ cmpd  ,s++ 
+ beq   L018f 
+ ldd   8,s 
+ cmpd  #-1 
+ bne   L0169 
+L018f ldd   2,s 
+ lslb   
+ rola   
+ leax  B0000,y 
+ leax  d,x 
+ clra   
+ clrb   
+ std   ,x 
+L019d clra   
+ clrb   
+ bra   L01a3 
+L01a1 ldd   10,s 
+L01a3 leas  14,s 
+ puls  u,pc 
+pclose: pshs  d,x,u 
+ ldx   8,s 
+ ldd   8,x 
+ std   2,s 
+ ldd   8,s 
+ pshs  d 
+ lbsr  fclose 
+ leas  2,s 
+L01b8 leax  ,s 
+ pshs  x 
+ lbsr  wait 
+ leas  2,s 
+ tfr   d,u 
+ pshs  u 
+ ldd   4,s 
+ lslb   
+ rola   
+ leax  B0000,y 
+ leax  d,x 
+ ldd   ,x 
+ cmpd  ,s++ 
+ beq   L01dc 
+ cmpu  #-1 
+ bne   L01b8 
+L01dc ldd   2,s 
+ lslb   
+ rola   
+ leax  B0000,y 
+ leax  d,x 
+ clra   
+ clrb   
+ std   ,x 
+ cmpu  #-1 
+ bne   L01f5 
+ ldd   #-1 
+ bra   L01f7 
+L01f5 ldd   ,s 
+L01f7 leas  4,s 
+ puls  u,pc 
+*L01fb ble   L026d 
+* rol   -16,s 
+* fcb $65 
+* neg   D000d 
+*L0201 equ *-1
+* fcb $00 
+
+ endsect  
+