IC.1
上传用户:jnzhq888
上传日期:2007-01-18
资源大小:51694k
文件大小:4k
源码类别:

操作系统开发

开发平台:

WINDOWS

  1. .TH IC 1
  2. .SH NAME
  3. ic - integer calculator
  4. .SH SYNOPSIS
  5. fBicfR [fIexpressionfR]fR
  6. .br
  7. .de FL
  8. .TP
  9. \fB\$1\fR
  10. \$2
  11. ..
  12. .de EX
  13. .TP 20
  14. \fB\$1\fR
  15. # \$2
  16. ..
  17. .SH EXAMPLES
  18. .EX "ic    " "Start the calculator"
  19. .EX "ic 250 300+" "Start calculator with 550 on the stack"
  20. .SH DESCRIPTION
  21. .PP
  22. fIIcfR is a simple RPN (Reverse Polish Notation)
  23. calculator, used for small calculations
  24. and base conversions. All calculations are done using 32 bit
  25. integers.
  26. The standard input is usually a keyboard and the standard output 
  27. requires a device with a &'termcap&' entry.
  28. The program starts by interpreting any <args> as commands, where
  29. the separation between arguments is considered to be the same as
  30. the ENTER key. For example, 
  31. .PP
  32. .B " ""ic 692 784+"
  33. .PP
  34. After reading the arguments input is from the keyboard.
  35. .SS "Stack Operations"
  36. .PP
  37. The operation of this program is similar to an RPN calculator.
  38. A six level stack is used. The ENTER key pushes the stack up one 
  39. level. For example, &'12+5&' is entered as &'12 ENTER 5 +".
  40. .PP
  41. The top two entries on the stack are exchanged by the fIxfR 
  42. command, and the stack is rolled down one (popped) by the
  43. fIpfR key.
  44. The top of the stack may be cleared by pressing the back-space
  45. key. The whole stack and the registers are initialized by a fIzfR.
  46. .SS "Numeric Entry"
  47. .PP
  48. The input and output bases are initially decimal, but they may
  49. be changed using the fIifR and fIofR commands. The fIifR command changes
  50. both bases, but the fIofR command changes just the output base.
  51. These commands take a one character argument of fIhfR, fIdfR, fIofR or
  52. fIbfR to change to Hexadecimal, Decimal, Octal or Binary. While the 
  53. input base is hexadecimal the letters fIafR through fIffR are used 
  54. to represent the decimal values 10 through 15.
  55. .PP
  56. When the input base is decimal: multiply, divide and remainder
  57. are signed, otherwise they are performed unsigned.
  58. .PP
  59. The output base may also be changed to ASCII (fIafR), this causes
  60. the least significant 7 bits of a value to be displayed as a
  61. character. To input an ASCII value the translate (fItfR) command
  62. may be used, it accepts one character as its argument.
  63. .SS "Calculations"
  64. .PP
  65. The arithmetic operations supported are: Negate (&'.&'), 
  66. Add (&'+&'), Subtract (&'(mi&'), Multiply (&'*&'), 
  67. Divide (&'/&'), and Remainder (&'%&').
  68. The logical (Boolean) operations available are: NOT (&'~&'), 
  69. AND (&'&&'), OR (&'|&'), 
  70. and EXCLUSIVE-OR (&'^&').
  71. .PP
  72. After one of these operations the last top of stack value is
  73. saved. It may be restored by pressing fIlfR (L).
  74. .SS "Saving Results"
  75. .PP
  76. Ten temporary registers are available. The Store (fIsfR) command
  77. followed by a digit (&'0&'..&'9&') will copy the top of the stack
  78. to the specified register. The Recall (fIrfR) command pushes the
  79. contents of a register onto the top of the stack.
  80. .PP
  81. If the Store command is followed by a &'+&' preceding the digit, then
  82. the top of the stack will be added to the specified &'accumulator&'
  83. register.
  84. .PP
  85. Values may also be written to a file. The fIwfR command writes the
  86. top of the stack, using the current output base, to a file called 
  87. &'pad&' in the current directory.  If the user does not have write 
  88. access to the current directory then the file fI/tmp/pad_$USERfR is 
  89. used as the scratch pad. The scratch pad file is erased on the
  90. first use of the fIwfR command within each new invocation of &'ic&'.
  91. .SS "Miscellaneous"
  92. .PP
  93. The Quit (fIqfR) key causes an immediate exit. 
  94. The fImfR command temporarily leaves fIicfR 
  95. by invoking the shell as a sub-process.
  96. For help while using fIicfR, hit the fIhfR key. If an erroneous key
  97. is pressed the bell will sound.
  98. .SS "Command Summary"
  99. .PP
  100. Note that many commands have an alternative key-code available
  101. on the extended AT keyboard. This aids entry by including most
  102. commands on the right side of the keyboard.
  103. .ta 0.25i 1.5i
  104. .nf
  105. .PP
  106. ENTER Enter (push up)
  107. BS (DEL) Clear top of stack
  108. h Help
  109. i Input base  (h, d, o, b)
  110. l  (PGDN) Last top of stack
  111. m s-2MINIXs0 shell
  112. o Output base (h, d, o, b, a)
  113. p  (DOWN) Pop stack (roll down)
  114. q  (END) Quit
  115. r  (LEFT) Recall (0-9)
  116. s  (RIGHT) Store [+] (0-9)
  117. t Translate (char)
  118. w  (PGUP) Write top of stack to scratch pad
  119. x  (UP) Exchange top of stack
  120. z  (HOME) Zero all state
  121. . Change sign
  122. +  (+) Add
  123. -  (-) Subtract
  124. * Multiply
  125. / Divide
  126. %  (sh/5) Remainder
  127. (tilde) Not
  128. & And
  129. | Or
  130. ^ Exclusive-or
  131. .fi
  132. .SS "Author"
  133. .PP
  134. fIIcfR was written by Terrence W. Holm.