The Museum of HP Calculators

HP Articles Forum

WP 34S: MIO matrix helper * edited*

Posted by Miguel Toro on 8 Oct 2011, 8:53 p.m.

This little program works similar to the MIO application from the PPC ROM documentation. It allows entering and reviewing elements of a matrix in a easy and friendly way. the user can enter or review an entire matrix or individual elements. The matrix descriptor is always in Last X.

New:

2011-10-12: both A and B routines cycle through the matrix until the user press [EXIT]. This way, with B, the user does not have to re-enter the matrix descriptor if he wants to review another random element; with A, he can cycle any times he wants through the entire matrix.

```
Usage:
Review/Enter the elements of an entire matrix
BB.RRCC  // Matrix descriptor
[A]
---> Review and/or enter each element then [R/S] for the next one. The program cycles again through the matrix after the last element. Press [EXIT] to finish.
Review/Enter an individual element of a matrix
BB.RRCC  // Matrix descriptor
[B]
Row number (i)
[ENTER]
Column number (j)
[R/S]
Review and/or enter Element value in X
[R/S]
Ask for a new element in the same matrix. Press [EXIT] to finish.
Notes:- The matrix descriptor is in Last x. You can recall it and do further editing.
Resources
Flags
13: establishes which routine A or B is executing
Registers
I: Index to acces elements through the matrix
Instructions
001 LBL'MIO'
002 LBL A           //-- Works on entire matrix elements
003 SF 13
004 M.ALL
005 STO I
006 LBL 01		// begin of the loop through the matrix
007 RCL I
008 RCL L
009 M.IJ
010 CL[alpha]		    // shows the next element indexes
011 [alpha] (
012 [alpha]IP X
013 [alpha] ,
014 [alpha]IP Y
015 [alpha] )
016 RCL[->]I
017 PROMPT
018 STO[->]I		    // Store element to keep  any change
019 ISG I
020 GTO 01		// End of the loop through the matrix
021 RCL L
022 FS? 13              // Is it B who called LBL A?
023 GTO A               // Cycles through the same matrix
024 LBL B           //-- Works on one chosen matrix element
025 CF 13
026 CL[alpha]
027 [alpha]'R|C'
028 PROMPT
029 x[<->]y
030 RCL Z
031 M.REG
032 STO I
033 GTO 01
034 RCL L
035 GTO B               // Cycles through the elements of a matrix
```

Edited: 24 Oct 2011, 3:44 p.m.