home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / club100 / ref / rcmap3.100 < prev    next >
Text File  |  2006-10-19  |  17KB  |  517 lines

  1.  
  2.  
  3.                      ------------------------
  4.                      | Model 100 System Map |
  5.                      ------------------------
  6. ROM: Part III
  7.                           Copyright 1985
  8.                      Revision Date: 09/30/85
  9.                    Compiled and Researched by:
  10.                        Robert D. Covington
  11.             Systems Information Management Consultants
  12.       [Not associated with The Covington Group, N. Y., N. Y.]
  13.  
  14.     This document may be duplicated and distributed free of
  15. charge to any individuals who desire it.  Any duplications of
  16. this document, however, must inluce all of the information
  17. contained here-in, with no deletions or changes.
  18.     The author and distributors of this document make no 
  19. expressed or implied warrantees as to the validity of the 
  20. information contained here in.
  21.  
  22.  
  23. 2943H -  LEN Function
  24.  
  25. 294FH -  ASC Function
  26.  
  27. 295FH -  CHR$ Function
  28.  
  29. 296DH -  STRING$ Function
  30.  
  31. 298EH -  SPACE$ Function
  32.  
  33. 29ABH -  LEFT$ Function
  34.  
  35. 29DCH -  RIGHT$ Function
  36.  
  37. 29E6H -  MID$ Function
  38.  
  39. 2A07H -  VAL Function
  40.  
  41. 2A37H -  INSTR Function
  42.  
  43. 2B4CH -  FRE Function
  44.  
  45. 2B69H -  Double precision subtract (FAC1=FAC1-FAC2).
  46.          Entry:
  47.              FAC1 - First double precision number
  48.              FAC2 - Second double precision number
  49.          Exit:
  50.              FAC1 - Result of operation
  51.                All other registers destroyed
  52.  
  53. 2B78H -  Double precision addition (FAC1=FAC1+FAC2).
  54.          Entry:
  55.              FAC1 - First double precision number
  56.              FAC2 - Second double precision number
  57.          Exit:
  58.              FAC1 - Result of operation
  59.                All other registers destroyed
  60.  
  61. 2C4FH -  Add the BCD number in the buffer pointed to by HL to the BCD 
  62.         number in the buffer pointed to by DE leaving the result in 
  63.         the buffer pointed to by DE.  Since no decimals are 
  64.         significant, numbers must be padded with zeros for place 
  65.         holders.  B contains the precision (number of bytes) of the 
  66.         numbers added.
  67.          Entry:
  68.                HL - Points to the end of the first BCD number buffer
  69.                DE - Points to the end of the second BCD number buffer
  70.                 B - Number of bytes to add (2 times the number of 
  71.                     digits added)
  72.          Exit:
  73.           HL & DE - Decremented past last byte of buffer
  74.                 B = 0
  75.                 A - Destroyed
  76.  
  77. 2CFFH -  Double precision multiply (FAC1=FAC1*FAC2)
  78.          Entry:
  79.              FAC1 - First double precision number
  80.              FAC2 - Second double precision number
  81.          Exit:
  82.              FAC1 - Result of operation
  83.                All other registers destroyed
  84.  
  85. 2DC7H -  Double precision divide (FAC1=FAC1/FAC2)
  86.          Entry:
  87.              FAC1 - Double precision numerator
  88.              FAC2 - Double precision denominator
  89.          Exit:
  90.              FAC1 - Result of operation
  91.                All other registers destroyed
  92.  
  93. 2EE6H -  Move the memory pointed to by HL to the memory pointed to by 
  94.         DE for C bytes.  HL and DE are decremented on each cycle of 
  95.         the move.
  96.          Entry:
  97.                HL - Points to end of source memory
  98.                DE - Points to end of destination memory
  99.                 C - Number of bytes to move
  100.          Exit:
  101.           HL & DE - Decremented past last byte moved
  102.                 A - Destroyed
  103.  
  104. 2EEFH -  COS Function
  105.          Entry:
  106.              FAC1 - Angle in radians
  107.          Exit:
  108.              FAC1 - Result of COSine
  109.  
  110. 2F09H -  SIN Function
  111.          Entry:
  112.              FAC1 - Angle in radians
  113.          Exit:
  114.              FAC1 - Result of SINe
  115.  
  116. 2F58H -  TAN Function
  117.          Entry:
  118.              FAC1 - Angle in radians
  119.          Exit:
  120.              FAC1 - Result of TANgent
  121.  
  122. 2F71H -  ATN Function
  123.          Entry:
  124.              FAC1 - TANgent value
  125.          Exit:
  126.              FAC1 - Angle in radians
  127.  
  128. 2FCFH -  LOG Function
  129.          Entry:
  130.              FAC1 - LOG value
  131.          Exit:
  132.              FAC1 - Result of LOG
  133.  
  134. 305AH -  SQR Function
  135.          Entry:
  136.              FAC1 - Number to find square root of
  137.          Exit:
  138.              FAC1 - Square root of number
  139.  
  140. 30A4H -  EXP Function
  141.          Entry:
  142.              FAC1 - Value for EXP
  143.          Exit:
  144.              FAC1 - Natural exponent result
  145.  
  146. 313EH -  RND Function
  147.  
  148. 31A0H -  Double precision square of FAC1 (FAC1=FAC1 squared)
  149.          Entry:
  150.            FAC1 - Double precision number to square
  151.          Exit:
  152.            FAC1 - Result of FAC1 squared
  153.                All other registers destroyed
  154.  
  155. 31B5H -  Move FAC1 to FAC2
  156.          Exit:
  157.                All registers destroyed
  158.  
  159. 31B8H -  Move the floating point buffer pointed to by HL to FAC2.
  160.          Entry:
  161.                HL - Points to 8 byte floating point buffer
  162.          Exit:
  163.                All registers destroyed
  164.  
  165. 31C1H -  Move FAC2 to FAC1
  166.          Exit:
  167.                All registers destroyed
  168.  
  169. 31C4H -  Move the 8 byte floating point accumulator pointed to by HL 
  170.         to FAC1
  171.          Entry:
  172.                HL - Points to start of source memory
  173.          Exit:
  174.                All registers destroyed
  175.  
  176. 31CAH -  Move FAC1 to the 8 byte floating point accumulator pointed to 
  177.         by HL.
  178.          Entry:
  179.                HL - Points to start of buffer for FAC1
  180.          Exit:
  181.                All registers destroyed
  182.  
  183. 322EH -  Push FAC2 on stack
  184.          Exit:
  185.                All registers destroyed
  186.  
  187. 3234H -  Push FAC1 on stack
  188.          Exit:
  189.                All registers destroyed
  190.  
  191. 3245H -  Pop FAC2 off stack
  192.         Exit:
  193.            FAC2 - Floating point value POPed off stack
  194.                All registers destroyed
  195.  
  196. 324BH -  Pop FAC1 off stack
  197.          Exit:
  198.            FAC1 - Floating point value POPed off stack
  199.                All registers destroyed
  200.  
  201. 33DCH -  RST 30H routine
  202.  
  203. 33F2H -  ABS Function
  204.  
  205. 3407H -  SGN Function
  206.  
  207. 3422H -  PUSH the single precision value in FAC1 onto the stack
  208.          Exit:
  209.                DE - Destroyed
  210.  
  211. 342FH -  Load the 4 byte number pointed to by HL into FAC1.  The 
  212.         buffer pointed to by HL reverses the two words prior to 
  213.         storing them into FAC1
  214.          Entry:
  215.                HL - 4 byte number that will be put in FAC1 in reverse 
  216.                     order
  217.          Exit:
  218.                HL - Incremented past last byte moved
  219.                All other registers destroyed
  220.  
  221. 3432H -  Load the single precision value in BCDE into FAC1
  222.          Entry:
  223.              BCDE - Single precision number
  224.          Exit:
  225.                BC & DE destroyed
  226.  
  227. 343DH -  Load the single precision value in FAC1 into BCDE
  228.          Exit:
  229.              BCDE - Single precision number from FAC1
  230.                HL - Destroyed
  231.  
  232. 3447H -  Load 4 byte single precision buffer pointed to by HL  into 
  233.         BCDE.
  234.          Entry:
  235.                HL - Points to the buffer containing the 4 byte single 
  236.                     precision number
  237.          Exit:
  238.              BCDE - Floating point number that is in the buffer 
  239.                     pointed to by HL
  240.  
  241. 3450H -  Load the 4 byte number pointed to by HL into DEBC (note 
  242.         reverse order!!).
  243.          Entry:
  244.                HL - Points to the buffer containing the 4 byte single 
  245.                     precision number
  246.          Exit:
  247.              DEBC - Floating point number that is in the buffer 
  248.                     pointed to by HL
  249.  
  250. 3459H -  Move the single precision floating point number in FAC1 to 
  251.         the buffer pointed to by HL.
  252.          Entry:
  253.                HL - Points to destination buffer for single precision 
  254.                     FAC1 (4 bytes)
  255.          Exit:
  256.                HL - Incremented past last byte moved
  257.                DE - Destroyed
  258.                 B - Destroyed
  259.  
  260. 3461H -  Move the buffer pointed to by HL to FAC2.  The number of 
  261.         bytes transfered depends on the current precision in FB65H.
  262.          Entry:
  263.                HL - Points to source buffer for floating point number
  264.          Exit:
  265.                HL - Incremented past last byte transfered
  266.                All other registers destroyed
  267.  
  268. 3469H -  Move the memory pointed to by DE to the memory pointed to by 
  269.         HL for B number of bytes.  HL and DE are incremented on each 
  270.         byte moved.
  271.          Entry:
  272.                DE - Points to start of source memory
  273.                HL - Points to start of destination memory
  274.                 B - Number of bytes to move
  275.          Exit:
  276.           HL & DE - Incremented past last byte transfered
  277.             A & B - Destroyed
  278.  
  279. 3472H -  Move the memory pointed to by DE to the memory pointed to by 
  280.         HL for B number of bytes.  HL and DE are decremented on each 
  281.         byte moved.
  282.          Entry:
  283.                DE - Points to end of source memory
  284.                HL - Points to end of destination memory
  285.                 B - Number of bytes to move
  286.          Exit:
  287.           HL & DE - Decremented past the last byte transfered
  288.             A & B - Destroyed
  289.  
  290. 3498H -  Compare the single precision number in BCDE with FAC1.
  291.          Entry:
  292.              BCDE - First single precision number
  293.              FAC1 - Second single precision number
  294.          Exit:
  295.                HL - Destroyed
  296.                 A = 255 (-1) if BCDE>FAC1
  297.                     1 if BCDE<FAC1
  298.                     0 if BCDE=FAC1
  299.            Z flag - Set if BCDE=FAC1
  300.            S flag - Set (M) if BCDE>FAC1
  301.  
  302. 34C2H -  Compare the signed integer in DE to the signed integer in HL.
  303.          Entry:
  304.                HL - First integer to compare
  305.                DE - Second integer to compare
  306.          Exit:
  307.                 A = 255 (-1) if DE>HL
  308.                     1 if DE<HL
  309.                     0 if DE=HL
  310.            Z flag - Set if DE=HL
  311.            S flag - Set (M) if DE>HL
  312.  
  313. 34FAH -  Compare the double precision number in FAC1 to the double 
  314.         precision number in FAC2.
  315.          Entry:
  316.              FAC1 - First double precision value to compare
  317.              FAC2 - Second double precision value to compare
  318.          Exit:
  319.                 A = 255 (-1) if FAC1>FAC2
  320.                     1 if FAC1<FAC2
  321.                     0 if FAC1=FAC2
  322.            Z flag - Set if FAC1=FAC2
  323.            S flag - Set (M) if FAC1>FAC2
  324.  
  325. 3501H -  CINT Function.  Convert floating point number in FAC1 to an 
  326.         integer.
  327.          Entry:
  328.              FAC1 - Floating point number to convert
  329.          Exit:
  330.                HL - Converted signed integer in FAC1
  331.              FAC1 - Converted to an integer
  332.  
  333. 3510H -  Load the signed integer in HL into FAC1
  334.          Entry:
  335.                HL - Signed integer to put in FAC1
  336.          Exit:
  337.                 A = 2
  338.  
  339. 352AH -  CSNG Function. Convert the number in FAC1 to a single 
  340.         precision value.
  341.          Entry:
  342.              FAC1 - Number to convert
  343.          Exit:
  344.              FAC1 - Converted single precision number
  345.  
  346. 3540H -  Convert the signed integer in FAC1 to single precision.
  347.          Entry:
  348.              FAC1 - Contains signed integer to convert
  349.          Exit:
  350.              FAC1 - Converted single precision number
  351.  
  352. 3543H -  Convert the signed integer in HL to a single precision number 
  353.         in FAC1.
  354.          Entry:
  355.                HL - Contains signed integer to convert
  356.          Exit:
  357.              FAC1 - Converted single precision number
  358.  
  359. 35BAH -  CDBL function.  Convert the number in FAC1 to a double 
  360.         precision floating point number.
  361.          Entry:
  362.              FAC1 - Number to convert to double precision
  363.          Exit:
  364.              FAC1 - Converted double precision number
  365.  
  366. 3645H -  FIX Function
  367.  
  368. 3654H -  INT Function.  Find the integer portion of the floating point 
  369.         number in FAC1.
  370.          Entry:
  371.              FAC1 - Floating point number
  372.          Exit:
  373.              FAC1 - Integer portion of floating point number
  374.  
  375. 36F8H -  Subtract the signed integer in HL from the signed integer in 
  376.         DE.
  377.          Entry:
  378.                HL - First number to subtract
  379.                DE - Second number to subtract
  380.          Exit:
  381.              FAC1 - Result of subtract
  382.                HL - Integer result of subtract
  383.  
  384. 3704H -  Add the signed integer in HL to the signed integer in DE.  If 
  385.         the result is greater than 32767, the result is converted 
  386.         into single precision.
  387.          Entry:
  388.                HL - First number to add
  389.                DE - Second number to add
  390.          Exit:
  391.              FAC1 - Result of addition
  392.                HL - Integer result of addition
  393.  
  394. 3725H -  Multiply the signed integer in HL by the signed integer in 
  395.         DE.  If the result is greater than 32767, the result is 
  396.         converted into single precision.
  397.          Entry:
  398.                HL - First integer to multiply
  399.                DE - Second integer to multiply
  400.          Exit:
  401.              FAC1 - Result of multiplication
  402.                HL - Integer result of multiplication
  403.  
  404. 377EH -  Divide the signed integer in DE by the signed integer in HL.
  405.          Entry:
  406.                HL - Integer Numerator
  407.                DE - Integer Denominator
  408.          Exit:
  409.              FAC1 - Result of division
  410.  
  411. 37F4H -  Add the single precision numbers in FAC1 and BCDE 
  412.         (FAC1=FAC1+BCDE)
  413.          Entry:
  414.              FAC1 - First single precision number
  415.              BCDE - Second single precision number
  416.          Exit:
  417.              FAC1 - Result of single precision addition
  418.  
  419. 37F7H -  Add the single precision numbers in FAC1 and FAC2 
  420.         (FAC1=FAC1+FAC2).
  421.          Entry:
  422.              FAC1 - First single precision number
  423.              FAC2 - Second single precision number
  424.          Exit:
  425.              FAC1 - Result of single precision addition
  426.  
  427. 37FDH -  Subtract the single precision numbers in FAC1 and BCDE 
  428.         (FAC1=FAC1-BCDE)
  429.          Entry:
  430.              FAC1 - First single precision number
  431.              BCDE - Second single precision number
  432.          Exit:
  433.              FAC1 - Result of subtract
  434.  
  435. 3803H -  Multiply the single precision numbers in FAC1 and BCDE  
  436.         (FAC1=FAC1*BCDE)
  437.          Entry:
  438.              FAC1 - First single precision number
  439.              BCDE - Second single precision number
  440.          Exit:
  441.              FAC1 - Result of multiply
  442.  
  443. 3806H -  Multiply the single precision numbers in FAC1 and FAC2  
  444.         (FAC1=FAC1*FAC2)
  445.          Entry:
  446.              FAC1 - First single precision number
  447.              FAC2 - Second single precision number
  448.          Exit:
  449.              FAC1 - Result of multiply
  450.  
  451. 380EH -  Single precision divide (FAC1=BCDE/FAC1)
  452.          Entry:
  453.              BCDE - Single precision numerator
  454.              FAC1 - Single precision denominator
  455.          Exit:
  456.              FAC1 - Result of divide
  457.  
  458. 3827H -  Load FAC2 with the single precision number in BCDE.
  459.          Entry:
  460.              BCDE - Single precision number
  461.          Exit:
  462.              FAC2 - Copy of single precision number
  463.                HL - Destroyed
  464.  
  465. 3840H -  Convert the ASCII number pointed to by HL to its double 
  466.         precision equivalent.
  467.          Entry:
  468.                HL - Points to buffer with ASCII number
  469.          Exit:
  470.              FAC1 - Value of ASCII number
  471.                All registers destroyed
  472.  
  473. 39D4H -  Print HL in ASCII form at the current cursor position
  474.          Entry:
  475.                HL - Contains 16 bit binary number to print
  476.          Exit:
  477.                All registers destroyed
  478.  
  479. 39E8H -  Convert the binary number in FAC1 to ASCII
  480.          Entry:
  481.                HL - Points to the start of the buffer where the ASCII 
  482.                     number will be stored
  483.              FAC1 - Binary Number
  484.          Exit:
  485.                All registers destroyed
  486.  
  487. 39ECH -  Convert the binary number in FAC1 to ASCII.  This routine 
  488.         will format the ASCII output with the same parameters offered 
  489.         by BASIC's PRINT USING statement.
  490.          Entry:
  491.                 A - Bit configuration for PRINT USING options
  492.                     Bit:
  493.                         0 - Exponential notation
  494.                         1 - Not used (reset)
  495.                         2 - Sign (+ or -) follows ASCII number
  496.                         3 - Sign (+ or -) preceeds number
  497.                         4 - Print leading '$'
  498.                         5 - Asterisks fill
  499.                         6 - Print commas every third digit
  500.                         7 - Set, allow print using formating
  501.                             Reset, do no formating on number
  502.                 B - Number of digits to the left of the decimal 
  503.                     point.  This value is used for placeholder filling
  504.                 C - Number of digits to the right of the decimal 
  505.                     point.   This value is used for placeholder 
  506.                     filling
  507.                HL - Start of receiving buffer for ASCII number
  508.              FAC1 - Binary number to convert
  509.          Exit:
  510.                All registers destroyed
  511.  
  512. 3D7FH -  Single precision exponential function
  513.  
  514. 3D8EH -  Double precision exponential function
  515.  
  516. 3DF7H -  Integer exponential function
  517.