IC.1
资源名称:os_source.zip [点击查看]
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:5k
源码类别:
操作系统开发
开发平台:
C/C++
- IC(1) Minix Programmer's Manual IC(1)
- NAME
- ic - integer calculator
- SYNOPSIS
- ic [expression]
- EXAMPLES
- ic # Start the calculator
- ic 250 300+ # Start calculator with 550 on the stack
- DESCRIPTION
- Ic is a simple RPN (Reverse Polish Notation) calculator, used for small
- calculations and base conversions. All calculations are done using 32 bit
- integers. The standard input is usually a keyboard and the standard
- output requires a device with a 'termcap' entry. The program starts by
- interpreting any <args> as commands, where the separation between
- arguments is considered to be the same as the ENTER key. For example,
- ic 692 784+
- After reading the arguments input is from the keyboard.
- Stack Operations
- The operation of this program is similar to an RPN calculator. A six
- level stack is used. The ENTER key pushes the stack up one level. For
- example, '12+5' is entered as '12 ENTER 5 +".
- The top two entries on the stack are exchanged by the x command, and the
- stack is rolled down one (popped) by the p key. The top of the stack may
- be cleared by pressing the back-space key. The whole stack and the
- registers are initialized by a z.
- Numeric Entry
- The input and output bases are initially decimal, but they may be changed
- using the i and o commands. The i command changes both bases, but the o
- command changes just the output base. These commands take a one
- character argument of h, d, o or b to change to Hexadecimal, Decimal,
- Octal or Binary. While the input base is hexadecimal the letters a
- through f are used to represent the decimal values 10 through 15.
- When the input base is decimal: multiply, divide and remainder are
- signed, otherwise they are performed unsigned.
- 1
- IC(1) Minix Programmer's Manual IC(1)
- The output base may also be changed to ASCII (a), this causes the least
- significant 7 bits of a value to be displayed as a character. To input an
- ASCII value the translate (t) command may be used, it accepts one
- character as its argument.
- Calculations
- The arithmetic operations supported are: Negate ('.'), Add ('+'),
- Subtract ('-'), Multiply ('*'), Divide ('/'), and Remainder ('%'). The
- logical (Boolean) operations available are: NOT ('~'), AND ('&'), OR
- ('|'), and EXCLUSIVE-OR ('^').
- After one of these operations the last top of stack value is saved. It
- may be restored by pressing l (L).
- Saving Results
- Ten temporary registers are available. The Store (s) command followed by
- a digit ('0'..'9') will copy the top of the stack to the specified
- register. The Recall (r) command pushes the contents of a register onto
- the top of the stack.
- If the Store command is followed by a '+' preceding the digit, then the
- top of the stack will be added to the specified 'accumulator' register.
- Values may also be written to a file. The w command writes the top of the
- stack, using the current output base, to a file called 'pad' in the
- current directory. If the user does not have write access to the current
- directory then the file /tmp/pad_$USER is used as the scratch pad. The
- scratch pad file is erased on the first use of the w command within each
- new invocation of 'ic'.
- Miscellaneous
- The Quit (q) key causes an immediate exit. The m command temporarily
- leaves ic by invoking the shell as a sub-process. For help while using
- ic, hit the h key. If an erroneous key is pressed the bell will sound.
- Command Summary
- Note that many commands have an alternative key-code available on the
- extended AT keyboard. This aids entry by including most commands on the
- right side of the keyboard.
- ENTER Enter (push up)
- BS (DEL) Clear top of stack
- h Help
- i Input base (h, d, o, b)
- l (PGDN) Last top of stack
- m MINIX shell
- 2
- IC(1) Minix Programmer's Manual IC(1)
- o Output base (h, d, o, b, a)
- p (DOWN) Pop stack (roll down)
- q (END) Quit
- r (LEFT) Recall (0-9)
- s (RIGHT) Store [+] (0-9)
- t Translate (char)
- w (PGUP) Write top of stack to scratch pad
- x (UP) Exchange top of stack
- z (HOME) Zero all state
- . Change sign
- + (+) Add
- - (-) Subtract
- * Multiply
- / Divide
- % (sh/5) Remainder
- (tilde) Not
- & And
- | Or
- ^ Exclusive-or
- Author
- Ic was written by Terrence W. Holm.
- 3