Dove Software
Intuitive Handheld Solutions

Abacus Manual

This manual is intended as a summary of the features of Abacus. All functions are described, though every possible application of those functions cannot be covered. A search on for "HP-12C" brings up 4 different books currently in print with more in-depth discussion of the features of the calculator that Abacus emulates.

Abacus was designed to mimic the Hewlett Packard 12C, a popular handheld financial calculator first sold two decades ago and still in production today. Because of this, some of the functionality may seem unusual or unintuitive - blame HP, not us.

If anything seems unclear, please email and we'll see if we can improve the area you are having trouble with. If the function you have a problem with does not have an example and you feel that it should, we'll be happy to put one in. As with Abacus itself, the future development of this manual will be driven by your feedback.

Basic Keys
Shift Kjey
RPN & Registers
Stack Functions
Memory Functions
Time Value of Money(TVM) Functions
Cash Flow Functions
Percentage Functions
Depreciation Functions
Statistics Functions
Miscellaneous Math Functions

Basic Keys

These are the typical calculator keys used in almost every calculation. They shouldn't need any explanation.

Change Sign - This button changes the sign of the currently displayed value. A positive value becomes a negative value and vice-versa.

Shift Key

This key is actually two keys in one. Tapping on up arrow gives you access to the first shifted keyboard. Tapping on the down arrow takes you to the second shifted keyboard. After a key is selected on the shifted keyboard, you are immediately returned the default keyboard. You can make a shifted keyboard stay active by double-tapping on the shift key. You can return to the default keyboard with a single additional tap on the shift key.

RPN & Registers

Abacus is a Reverse Polish Notation(RPN) calculator. RPN is a method of entry in which you enter the values upon which you wish to calculate before the operation that you wish to perform on them. For instance, the Abacus keys used to add 1 and 2 is:
This sort of entry is used in all calculations. Another example, raising 5 to the 3rd power:
This last example bears a little more explanation. The 'y' and 'x' on the last key represent registers in the stack. A register is simply a slot in memory that holds a single number and the stack is a list of these numbers. Abacus has a four-register stack, with the registers named x, y, z and t. x represent the register containing the currently displayed value. y is the next register, followed by z and finally t.

When you tap the ENTER key, you are instructing Abacus to take the currently displayed register(x) and place it's value in the y register, bumping the others up one. The value previously in the last register(t) is discarded.

Looking at the last example again we take the value 5 and, hitting enter, move it into the y register. Then we put the value 3 into the x register and ask for y to the x.

Stack Functions

In the section above(RPN and Registers), you learned that Abacus uses a four-register stack to store values used in calculations. The above keys are used to manipulate the values in the stack.

The Roll Stack button allows you to cycle through the values in the stack. Each time you tap this button, the t value moves into the z register, the z value moves into the y register, the y value moves into the x register and the x value moves to the t register. Tapping the Roll Stack button 4 times results in all values being returned to their original registers.

The Last X key is used to recall a previous value of the x register that has been discarded after a calculation. For example:


This is a straightforward calculation to multiply 5 by 2. After this calculation, the result, 10, is now in the x register. If you wanted to do another calculation with the same x value as before, you can use the Last X key. For example:


This is a useful feature when you want to use a constant value in several consecutive calculations.

The exchange key is used to swap the values stored in the x and y registers. For instance, if you want to subtract 2 from 5 but you inadvertently enter 2 first, you can use the exchange key to swap the values before hitting the minus key.

This button simply clears the x register, your currently displayed value. In addition, there are selections on the "Clear" menu to clear all registers, just the financial registers, or just the statistics registers.

Memory Functions

Store/Recall. These buttons allow the storage and retrieval of values to the 20 available storage registers. For example:


places the value "123" into storage register 0. You may also store values in regisers 1-9. To access the storage registers above 9, precede the register number with the decimal key. For example:


will store the value "25" in register 11. Values can be retrieve with the Recall key:


This retrieves the value currently store in register 2.

Time Value of Money(TVM) Functions

These are probably the most frequently used functions. TVM functions are used to determine the future value of an investment, calculate payments on a home or auto loan, or perform any number of other "what if?" calculations on how much something is or will be worth. The buttons used in TVM functions are:

 Term - number of periods
 Rate - interest rate per period
 Present value of the annuity
 Payment amount
 Future value of the annuity

To calculate any one of these values, you must provide the other four. To do so, enter the value you wish to enter, followed by the key in which you wish to store the value. Repeat this for the four known values, then tap on the fifth key to calculate the unknown value. For example:


In this example we specified a term of 10, interest of 5% per term, present value of 10000 and a future value of 0. Tapping the payment button by itself at the end causes the payment amount to be calculated.

You'll notice that the result is a negative value. All cash flows out(i.e. payments) are expressed as negative values, while cash flows in(i.e. present value) are expressed as positive values.

Also, when performing TVM functions, the n and i registers much represent the number of compounding periods and interest per period. For instance, for a 30-year home loan at 8% interest, n should be set to 360 (30 years * 12 periods per year) and i should be set to .67(8% divided by 12 months).

Two more keys that make TVM functions a little easier are:

Both of these keys are located on the shifted keyboard. The first takes the current value, multiplies it by 12, then stores the result in the n register. The second takes the current value, divides it by 12, then stores the result in the i register.

To quickly clear all values from the financial registers before starting a calculation, you can select "Financial Registers" from the "Clear" menu or use shortcut-F with graffiti.


The amortization function calculates the amounts applied to principal and interest from one or more loan payments. For illustration, let's use a a 30-year mortgage at 8% with a $100,000 loan. The payment is $733.76. We need to start by entering these values in the appropriate registers:


Notice that we set the term(n) to zero. This is because the amortization function is not concerned with the term of the loan, it uses the payment and interest values for its calculations. Now, suppose we want to determine how much we will pay in interest and principal for the first year of the loan:


The value now displayed is the amount of interest due in the first 12 payments. To get the amount of principal paid in the first 12 payments, tap:


To see the remaining balance:


You can do a payment by payment amortization schedule by repeatedly calculating the amortization of a single payment. Enter the values as described in the first example of this section, then repeat the following:


Each time you enter these two keys you'll get another month's interest and principal amounts in the x & y registers and the remaining balance in the PV register.

Cash Flow Functions

Abacus provides two methods of cash flow analysis: Net Present Value and Internal Rate of Return. A discussion of the purpose and function of these analysis is beyond the scope of this manual. Briefly, the Net Present Value determines whether a given investment, involving a series of positive and negative cash flows, will be profitable given a specified interest rate. Positive values indicate profit, negative values indicate loss. Internal Rate of Return represents the interest rate at which a series of cash-flows represents a break-even investment.(NPV of zero)

For either function we must enter a series of cash flows:


Here we have entered 5 cash flows. Note that the initial cash flow uses the CFo key, signaling to Abacus that we are beginning a new series of cash flows. Each additional cash flow is entered with the CFj key. Abacus supports a method of abbreviating multiple identical cash flows, using the Nj key. For example:


This series of keystrokes produces an identical effect to the previous one. In this example, only a few keystrokes are saved but in a situation where there are many repeated identical cash flows, the Nj key can save a lot of time.

Once you have entered the cash flows you can calculate the Net Present Value or Internal Rate of Return. To calculate the Net Present Value, you must specify an interest rate then select the NPV key:


To calculate the Internal Rate of Return, just tap the IRR key.

Percentage Functions

The first above, percent, finds the specified percentage of a given value. For example, to find 25% of 350, enter:


The next button, percent difference, determines the percent difference between two values. To calculate the percentage difference between 90 and 150, enter:


The last button, percent of total, calculates what percentage one value is of another. If you want to know what percentage 36 is of 220, enter:


Depreciation Functions

Abacus can calculate depreciation of an asset using any of three methods.(straight-line, sum-of-years-digits, and declining-balance). It's assumed that you understand these methodologies. Their definition is beyond the scope of this document for the time-being.

To calculate depreciation, you need to put the original cost of the asset into PV, the salvage value of the asset in FV, and the expected life of the asset(years) in n. If the declining balance method is used you also need to specify the declining-balance factor (as a percentage) in i. For example:


This represents a $20,000 asset with a $1000 salvage value, 8 year expected useful life and 150% declining-balance factor.(1.5 times the straight-line rate) Now we can enter the number of the year for which we want to calculate depreciation, followed by the appropriate depreciation key. For example:


This calculates and displays the depreciation for the 4th year, using the declining-balance method. To view the remaining depreciable value(book value minus salvage value), tap the x<>y key.

Statistics Functions

Abacus can perform one- or two-variable statistics calculations. In either case, a list of values must be provided. To enter a one-variable list, tap each value, followed by the E+ key. For example:


To enter a two-variable list, enter the y value, tap enter, enter the x value, then tap the E+ key. For example:


If you want to remove an entry after it has been entered, use the same keystrokes as you would use to add the value(s), but use the E- key instead of E+.

Once you have finished the entry of your value list, you can perform one of the following operations:

 Weighted Mean
 Standard Deviation

If you entered a two-variable list, the result for the x-values will be displayed. Tap the x<>y button to view the y-values result.

Miscellaneous Math Functions

Raise the current y value to the x power
 Reciprocal(divide 1 by the currently displayed value)
 Calculate the square root of the currently displayed value
 Calculate e raised to the currently displayed value
 Calculate the natural log of the currently displayed value
 Calculate the factorial of the currently displayed value