0% found this document useful (0 votes)
117 views71 pages

hp41cx Prog Handbook

Uploaded by

Charlie
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
117 views71 pages

hp41cx Prog Handbook

Uploaded by

Charlie
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 71







 







Index
3 Microprocessor registers 39 Key code maps
4 RAM structure & user flags 40 -
5 Status registers 41 -
6 Register structure 42 -
7 Flag register d 43 Bankswitching & Module structure
8 Key assign flag registers  & e 44 ROM structure
9 BLDSPEC print 45 GTO 00-14
10 Mcode class 0 46 GTO 15-99
11 - 47 XEQ
12 Mcode class 1 & 2 48 XROM# & END & XEQ/GTO IND
13 Mcode class 3 49 Alpha
14 Error messages 50 HpCX41 mainframe functions
15 Interrupts & prompts 51 Module ID’s
16 Partial key sequence 52 XROM #’s
17 Card reader + tone generator 53 -
18 Wand 54 -
19 HP-IL interface 55 -
20 - 56 -
21 Printer 57 -
22 Timer 58 -
23 - 59 -
24 Display 60 -
25 - 61 -
26 Port dependent jumps 62 -
27 Entry points 63 -
28 - 64 -
29 - 65 -
30 - 66 Buffer ID’s & Bytes pr. function
31 - 67 System Memory Map © Ángel Martin
32 - 68 -
33 - 69 -
34 - 70 -
35 Fat Addresses
36 ROM function names & DEBUG registers
37 Synthetic QRC 1
38 Synthetic QRC 2
2
HP 41 microprocessor
CPU register connections: CPU:

C 56 bit accumulator
P Q

STK4
STK3 B
{ System
memory
(RAM)
A
B
M
N
G
PC
STK
56
56
56
56
8
16
16
bit
bit
bit
bit
bit
bit
bit
primary arithmetic register
secondary arithmetic register
storage register
storage register
storage register
program counter
4-level CPU return stack
A M

{
STK2 KY 8 bit keyboard buffer register
STK C N T 8 bit beeper output register
ST 8 bit CPU flag register (0-7)
G X 6 bit CPU flag register (9-13)
PC F1 14 bit peripheral flag register
A P 4 bit pointer

Keyboard
KY ST
T
X

F1
{ C
E
B
Q

DISPLAY:

A
B
4

48
48
bit

bit
bit
pointer

display
display
register
register
(bit 0-3 of each chr)
(bit 4-7 of each chr)
C 12 bit display register (bit 8 of each chr)
E 12 bit display register (annunciators)

CPU FLAGS:

0 User flag (in the ST register)


1 User flag (in the ST register)
2 User flag (in the ST register)
3 User flag (in the ST register)
4 User flag (in the ST register)
5 User flag (in the ST register)
6 User flag (in the ST register)
7 User flag (in the ST register)
8 User flag
9 User flag
10 System flag (UserCode program pointer in ROM)
11 System flag (Stack lift enabled)
12 System flag (Program pointer in PRIVATE program)

3
RAM structure User & system flags
3EF 1007  set at turn on  cleared if printer is absent
 cleared at turn on  matches flag 55 at turn on
 system flags - not applicable  maintained by memory
Extended Memory #2
301 769
2EF 751 00  general use 28  decimal point
01  general use 29  digit grouping
Extended Memory #1
02  general use 30  CAT mode
201 513
03  general use 31  timer MDY / DMY
1FF Top of Main Memory 511 04  general use 32  IL manio
05  general use 33  IL lock
06  general use 34  ADRON / ADROFF
DATA register 00
07  general use 35  disable autostart
Top of User programs 08  general use 36  digit number 8,9
09  general use 37  digit number 4,5,6,7
10  general use 38  digit number 2,3,6,7
.END.
11  auto execute 39  digit number 1,3,5,7,9
12  double wide print 40  display FIX / SCI

Free registers 13  lower case print 41  display ENG /FIX-ENG


14  overwrite card protection 42  trig mode DEG / GRAD
15  IL-printer MAN / NORM 43  trig mode RAD
16  IL-printer TRACE 44  contiunuous ON
I/O Buffer area 17  end of record 45  system data entry

Alarm buffer area 18  TINTR enable 46  partial key sequence


19  general use 47  SHIFT
0C0 Key Assignments 192
20  general use 48  ALPHA
0BF Top of XF extended memory 191 21  printer enable 49  low BAT

040 Bottom of XF extended memory 64 22  number entry 50  message


23  ALPHA entry 51  SST
Nonexistent registers
24  range error ignore 52  PRGM mode
(void) 25  error ignore 53  I/O
00F 15 26  audio enable 54  PSE
27  USER mode 55  Printer existence
Status registers

000 0

4
Status registers
6 5 4 3 2 1 0
e SHIFTED KEY ASSIGNMENTS PTEMP2 PROGRAM LINE # 00F
d FLAG REGISTER 00E
c SREG ABS. ADR. printer use COLD START 169 REG 00 ABS.ADR. .END. ABS.ADR. 00D
b 3rd return 2nd return 1st return PRGM POINTER 00C
a 6th return 5th return 4th return 3rd return 00B
 UNSHIFTED KEY ASSIGNMENTS last instruction exec. PASN keycode 00A
Q TEMPORARY ALPHA SCRATCH 009
P ALPHA register (25-28) ALPHA register (22-24) 008
O ALPHA register (15-21) 007
N ALPHA register (8-14) 006
M ALPHA register (1-7) 005
L USER stack register L 004
X USER stack register X 003
Y USER stack register Y 002
Z USER stack register Z 001
T USER stack register T 000
13 12 11 10 9 8 7 6 5 4 3 2 1 0

5
RAM register structure
One RAM register is 56 bits:
55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

or 14 nybbles:

13 12 11 10 9 8 7 6 5 4 3 2 1 0

or 7 bytes:

byte #6 byte #5 byte #4 byte #3 byte #2 byte #1 byte #0

Text register format:


1 0 char char char char char char
Numerical register format:
MS Mantissa XS Exp.

13 12 11 10 9 8 7 6 5 4 3 2 1 0
MS M XS XP
ADR S&X
KY

MS 13 sign of mantissa
M 3-12 mantissa
XS 2 sign of exponent
XP 0-1 exponent
S&X 0-2 sign of exponent and exponent
ADR 3-6 address field
KY 3-4 key buffer field

6
Flag register d

digit number 1,3,5,7,9


IL-printer MAN / NORM

digit number 4,5,6,7


digit number 2,3,6,7

display ENG /FIX-ENG


trig mode DEG / GRAD

partial key sequence


range error ignore
double wide print

disable autostart

display FIX / SCI

system data entry

Printer existence
lower case print

IL-printer TRACE

digit number 8,9


timer MDY / DMY
overwrite card

printer enable

digit grouping

ADRON / ADROFF

contiunuous ON
end of record

decimal point

trig mode RAD


auto execute

TINTR enable

number entry

error ignore
audio enable
general use
general use
general use
general use
general use
general use
general use
general use
general use
general use
general use

general use
general use

ALPHA entry
protection

USER mode

PRGM mode
CAT mode

IL manio
IL lock

low BAT
message
SHIFT
ALPHA

SST

I/O
PSE
00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55

nybble 13 nybble 12 nybble 11 nybble 10 nybble 9 nybble 8 nybble 7 nybble 6 nybble 5 nybble 4 nybble 3 nybble 2 nybble 1 nybble 0

byte 6 byte 5 byte 4 byte 3 byte 2 byte 1 byte 0

00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55

* * * * * * * * * * * * *

F 8 0 0 0 0 9 5 0 4 E 0 0 0

248 0 0 149 4 224 0

UserCode : Mcode :
 247,248,0,0,149,4,224,0 04E C=0 ALL
RCL M 144, 117 2DC PT=13
STO d 145, 126 3D0 LD@PT- F

210 LD@PT- 8
29C PT=7
250 LD@PT- 9

150 LD@PT- 5
010 LD@PT- 0
110 LD@PT- 4

390 LD@PT- E
3A8 WRIT (14)d

7
Key assign flag registers & e

line # (reg e)

line # (reg e)
nonexistent

*
*
*
*
*
*
*
*
*
*
ENTER
SHIFT
X<>Y
CLX
SST
TAN

R/S

EEX
RCL
COS
LOG

CHS
STO
SIN

XEQ

1/X
R
LN

√X

Σ+
3
6
9

.
2
5
8

0
1
4
7

/
*
+
-
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

nybble 13 nybble 12 nybble 11 nybble 10 nybble 9 nybble 8 nybble 7 nybble 6 nybble 5 nybble 4 nybble 3 nybble 2 nybble 1 nybble 0

byte 6 byte 5 byte 4 byte 3 byte 2 byte 1 byte 0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *

E F E F E F 6 F A 0 7 F F F

239 239 239 111 160 127 255

UserCode : Mcode :
247,239,239,239,111,160,127,255 04E C=0 ALL
2DC PT=13
RCL M 144, 117
3D0 LD@PT- E
STO e 145, 127 210 LD@PT- F
LD@PT- E
STO  145, 122 250 LD@PT- F
150 LD@PT- E
010 LD@PT- F
110 LD@PT- 6
390 LD@PT- F
LD@PT- A
LD@PT- 0
LD@PT- 7
LD@PT- F
LD@PT- F
LD@PT- F
3E8 WRIT (15)e 2A8 WRIT (10)

8
BLDSPEC print
alpha 120 96 80 72 7 6 4

0 0 0 1 0 0 0 1 1 1 1 0 0 0 1 1 0 0 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 0 0 0 0 0 1 0 0

4 1 E 3 0 5 0 9 0 1 C 3 0 4

17 227 5 9 1 195 4

Column #
1 2 3 4 5 6 7
1
2
4
8
16
32
64
120 96 80 72 7 6 4

UserCode : Mcode :
247,17,227,5,9,1,195,4 04E C=0 ALL
RCL M 144, 117 2DC PT=13
ACSPEC 167, 68 3D0 LD@PT- F

210 LD@PT- 8
PRBUF 167, 74 29C PT=7
250 LD@PT- 9

150 LD@PT- 5
010 LD@PT- 0
110 LD@PT- 4

390 LD@PT- E
3A8 WRIT (14)d

9
M-code (Class 0) xx xxxx xx00

T Z Y X L M N O P Q      
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

CLRF 384 304 204 004 044 084 144 284 104 244 0C4 184 344 2C4 clear CPU flag p

SETF 388 308 208 008 048 088 148 288 108 248 0C8 188 348 2C8 set CPU flag p

?FSET 38C 30C 20C 00C 04C 08C 14C 28C 10C 24C 0CC 18C 34C 2CC set carry if CPU flag p is set

PT= 39C 31C 21C 01C 05C 09C 15C 29C 11C 25C 0DC 19C 35C 2DC set pointer to digit p

?PT= 394 314 214 014 054 094 154 294 114 254 0D4 194 354 2D4 set carry if pointer is at p

LD@PT- 010 050 090 0D0 110 150 190 1D0 210 250 290 2D0 310 350 390 3D0 load C with p at pointer (PT=PT-1)

RCR 33C 23C 03C 07C 0BC 17C 2BC 13C 27C 0FC 1BC 37C 2FC rotate C p digits right

WRIT 028 068 0A8 0E8 128 168 1A8 1E8 228 268 2A8 2E8 328 368 3A8 3E8 write C to selected user memory

READ 078 0B8 0F8 138 178 1B8 1F8 238 278 2B8 2F8 338 378 3B8 3F8 read selected user memory to C

HPIL=C 200 240 280 2C0 300 340 380 3C0 copy C[1;0] to HPIL register p

SELP 024 064 0A4 0E4 124 164 1A4 1E4 224 264 2A4 2E4 324 364 3A4 3E4 select peripheral to take control

10
M-code (Class 0) xx xxxx xx00

NOP 000 no operation A=B=C=0 1A0 clear A, B and C registers


LDI S&X 130 load the 10-bit word at next address to C[2;0] SETDEC 2A0 set CPU to decimal mode
PT=PT+1 3DC decrement pointer (if PT=0 then PT=13) SETHEX 260 set CPU to hexadecimal mode
PT=PT-1 3D4 increment pointer (if PT=13 then PT=0) C=C AND A 3B0 do logical AND on C and A registers and store result in C
SLCT P 0A0 select P as active pointer C=C OR A 370 do logical OR on C and A registers and store result in C
SLCT Q 0E0 select Q as active pointer RTN 3E0 return to address in STK
?P=Q 120 set carry if P and Q have the same value ?C RTN 360 return to address in STK if carry is set
C=M ALL 198 copy M register to C ?NC RTN 3A0 return to address in STK if carry is clear
M=C ALL 158 copy C register to M POP ADR 1B0 copy bottom STK to C[6;3] and STK drops
C<>M ALL 1D8 exchange C and M registers PUSH ADR 170 push STK up and store C[6;3] in bottom STK
C=N ALL 0B0 copy N register to C GOTO ADR 1E0 jumps to address in C[6;3]
N=C ALL 070 copy C register to N XQ>GO 020 pop return stack, turns the latest XQ into a GO
C<>N ALL 0F0 exchange C and N registers DSPOFF 2E0 turns display off
C=G @PT,+ 098 copy G register to C register digits at PT and PT+1 DSPTOG 320 toggles display on/off
G=C @PT,+ 058 copy C register digits at PT and PT+1 to G register ?LOWBAT 160 set carry if battery is low
C<>G @PT,+ 0D8 exchange C register digits at PT and PT+1 with G register POWOFF 060 disp on: stop CPU, disp off: turn HP41 off, must be followed by NOP
C=ST XP 398 copy ST to C[1;0] ?ALM 36C set carry if an alarm from the timer has occured
ST=C XP 358 copy C[1;0] to ST ?CRDR 32C used with card reader
C<>ST XP 3D8 exchange ST and C[1;0] ?EDAV 0AC set carry if the diode of IR module is available
ST=0 3C4 clears ST (CPU flags 0-7) ?FRAV 12C set carry if a frame is available from HP-IL interface
ST=T 298 copy T to ST ?FRNS 26C set carry if the frame transmitted (HPIL) not returns as sent
T=ST 258 copy ST to T ?IFCR 16C set carry if HP-IL interface is ready
ST<>T 2D8 exchange ST and T ?ORAV 0EC set carry if output register is available
READ DATA 038 copy active user memory register to C ?PBSY 3AC set carry if HP82143 printer is busy
WRIT DATA 2F0 copy C to active user memory register ?SERV 2EC set carry if any peripheral unit needs service
FETCH S&X 330 fetches the word at system memory given in C[6;3] to C[2;0] ?SRQR 2AC set carry if HPIL interface needs service
WRIT S&X 040 writes word in C[2;0] to system memory given in C[6;3] ?WNDB 22C set carry if there is data in the wand buffer
RAM SLCT 270 select user memory register specified in C[2;0] ENBANK1 100 enables primary bank
PRPH SLCT 3F0 select peripheral unit specified in C[2;0] ENBANK2 180 enables secondary bank
CLRKEY 3C8 clears the keydown flag (immediately set if key is down) ENBANK3 140 enables third bank
?KEY 3CC set carry if keydown flag is set ENBANK4 1C0 enables forth bank
C=KEY KY 220 copy key code from KY to C[4;3] WPTOG 1F0 toggles write protection of HEPAX RAM specified in C[0]
GOTO KEY 230 KEY register is written into lowets byte of PC ROM BLK 030 moves HEPAX ROM to memroy block specified in C[0]
11
M-code (Class 1) xx xxxx xx01 M-code (Class 2) xx xxxx xx10

Jump to adress ABCD : ALL M S&X MS XS @PT PT← P-Q


A=0 00E 01A 006 01E 016 002 00A 012 Clear A

1.word : ccccdddd01 B=0 02E 03A 026 03E 036 022 02A 032 Clear B
2.word : aaaabbbbtt C=0 04E 05A 046 05E 056 042 04A 052 Clear C

A=C 10E 11A 106 11E 116 102 10A 112 Copy C to A
tt is 00=?NC XQ
C=B 0CE 0DA 0C6 0DE 0D6 0C2 0CA 0D2 Copy B to C
01=?C XQ
10=?NC GO B=A 08E 09A 086 09E 096 082 08A 092 Copy B to A
11=?C GO A<>C 0AE 0BA 0A6 0BE 0B6 0A2 0AA 0B2 Exchange A and C

C<>B 0EE 0FA 0E6 0FE 0F6 0E2 0EA 0F2 Exchange C and B

A<>B 06E 07A 066 07E 076 062 06A 072 Exchange A and B

C=C+A 20E 21A 206 21E 216 202 20A 212 Add A to C

A=A+C 14E 15A 146 15E 156 142 14A 152 Add C to A

A=A+B 12E 13A 126 13E 136 122 12A 132 Add B to A

C=C+C 1EE 1FA 1E6 1FE 1F6 1E2 1EA 1F2 Shift C 1 bit left

C=A-C 24E 25A 246 25E 256 242 24A 252 Subtract C from A

A=A-C 1CE 1DA 1C6 1DE 1D6 1C2 1CA 1D2 Subtract C from A

A=A-B 18E 19A 186 19E 196 182 18A 192 Subtract B from A

C=C+1 22E 23A 226 23E 236 222 22A 232 Increment C

A=A+1 16E 17A 166 17E 176 162 16A 172 Increment A

C=C-1 26E 27A 266 27E 276 262 26A 272 Decrement C

A=A-1 1AE 1BA 1A6 1BE 1B6 1A2 1AA 1B2 Decrement A

?C≠0 2EE 2FA 2E6 2FE 2F6 2E2 2EA 2F2 Carry if C≠0

?A≠0 34E 35A 346 35E 356 342 34A 352 Carry if A≠0

?B≠0 2CE 2DA 2C6 2DE 2D6 2C2 2CA 2D2 Carry if B≠0

?A≠C 36E 37A 366 37E 376 362 36A 372 Carry if A≠C

?A<C 30E 31A 306 31E 316 302 30A 312 Carry if A<C

?A<B 32E 33A 326 33E 336 322 32A 332 Carry if A<B

RSHFC 3CE 3DA 3C6 3DE 3D6 3C2 3CA 3D2 Shift C 1 digit right

RSHFA 38E 39A 386 39E 396 382 38A 392 Shift A 1 digit

RSHFB 3AE 3BA 3A6 3BE 3B6 3A2 3AA 3B2 Shift B 1 digit right

LSHFA 3EE 3FA 3E6 3FE 3F6 3E2 3EA 3F2 Shift A 1 digit left

C=0-C 28E 29A 286 29E 296 282 28A 292 1’s complement

C=-C-1 2AE 2BA 2A6 2BE 2B6 2A2 2AA 2B2 2’s complement

12
M-code (Class 3) xx xxxx xx11

JNC+ JC+ JNC- JC- JNC+ JC+ JNC- JC- Jump distance D :
01 00B 00F 3FB 3FF 20 103 107 303 307
02 013 017 3F3 3F7 21 10B 10F 2FB 2FF rddddddn11
03 01B 01F 3EB 3EF 22 113 117 2F3 2F7
04 023 027 3E3 3E7 23 11B 11F 2EB 2EF r is 0=forward or 1=backwards
05 02B 02F 3DB 3DF 24 123 127 2E3 2E7 dddddd is the distance
06 033 037 3D3 3D7 25 12B 12F 2DB 2DF n is 0=JC or 1=JNC
07 03B 03F 3CB 3CF 26 133 137 2D3 2D7
08 043 047 3C3 3C7 27 13B 13F 2CB 2CF
09 04B 04F 3BB 3BF 28 143 147 2C3 2C7
0A 053 057 3B3 3B7 29 14B 14F 2BB 2BF
0B 05B 05F 3AB 3AF 2A 153 157 2B3 2B7
0C 063 067 3A3 3A7 2B 15B 15F 2AB 2AF
0D 06B 06F 39B 39F 2C 163 167 2A3 2A7
0E 073 077 393 397 2D 16B 16F 29B 29F
0F 07B 07F 38B 38F 2E 173 177 293 297
10 083 087 383 387 2F 17B 17F 28B 28F
11 08B 08F 37B 37F 30 183 187 283 287
12 093 097 373 377 31 18B 18F 27B 27F
13 09B 09F 36B 36F 32 193 197 273 277
14 0A3 0A7 363 367 33 19B 19F 26B 26F
15 0AB 0AF 35B 35F 34 1A3 1A7 263 267
16 0B3 0B7 353 357 35 1AB 1AF 25B 25F
17 0BB 0BF 34B 34F 36 1B3 1B7 253 257
18 0C3 0C7 343 347 37 1BB 1BF 24B 24F
19 0CB 0CF 33B 33F 38 1C3 1C7 243 247
1A 0D3 0D7 333 337 39 1CB 1CF 23B 23F
1B 0DB 0DF 32B 32F 3A 1D3 1D7 233 237
1C 0E3 0E7 323 327 3B 1DB 1DF 22B 22F
1D 0EB 0EF 31B 31F 3C 1E3 1E7 223 227
1E 0F3 0F7 313 317 3D 1EB 1EF 21B 21F
1F 0FB 0FF 30B 30F 3E 1F3 1F7 213 217
3F 1FB 1FF 20B 20F
40 203 207

13
Custom error message Error messages
3A1 ?NC XQ MAINFRAME:
088 ->22E8 ERRSUB ALPHA DATA 14E2 PRIVATE 2184 RAM 2172
3C1 ?NC XQ DATA ERROR 282D OUT OF RANGE 00A2 ROM 21F0
0B0 ->2CF0 ENLCD NONEXISTENT 02E0 TRY AGAIN 2F72
3BD ?NC GO
01C ->07EF MESSL XF:
00D M DIR EMPTY 3C7B KEYCODE ERR 310A REC TOO LONG 3A2D
005 E DUP FL 30E8 NAME ERR 3565 ROM 5 Bank 2:
013 S END OF FL 3E7E NO DRIVE 3675 CHKSUM ERR 5219
013 S FL NOT FOUND 3D2D NO ROOM 30CF FL SIZE ERR 5391
001 A FL TYPE ERR 3D22 NO SUCH ALM 394A END OF REC 5651
007 G
205 E
TIME:
3DD ?NC XQ CAT EMPTY 3790 DATA ERROR Z NO ROOM
0AC ->2BF7 DSPLFT DATA ERROR X ERROR = Dnn TIMER ALARM 5EAE
201 ?NC XQ DATA ERROR Y ERROR = Rnn
070 ->1C80 MSG105
3ED ?NC XQ
08A ->22FB ERR110 PRINTER:
OUT OF PAPER PRINT ERROR PRINTER OFF

Error message table CARD READER:


CARD MALFUNCTION SIZE ERR
3D5 ?NC XQ CARD ERR MRG ERR TYPE t tr nn
088 ->22F5 ERROR CHECKSUM ERR NO ROOM WORKING
XXX 018 ALPHA DATA LOW BAT RDY kk OF nn

022 DATA ERROR


02D MEMORY LOST HP-IL:
038 NONEXISTENT ADR ERR 72D7 FL TYPE ERR 788A NO ROOM 79CE
DIR FULL 7726 MEDM ERR 742E NO MEDM
03C NULL
DRIVE ERR 7426 MEDM FULL 771F READ ERR 7AA6
043 PRIVATE DUP FL NAME 7692 NAME ERR 72AE SIZE ERR 7B9C
04F OUT OF RANGE END OF FILE 773C NO DRIVE 7CF4 TRANSMIT ERR 77E9
FL NOT FOUND 7855 NO KEYS 7DF1
056 PACKING FL SECURED 7D10 NO PRINTER
05F TRY AGAIN
062 YES
064 NO CMT-200:
067 RAM BSIZE>1771 B6AA NO ROOM B6D7 REACH EOB B1D1
NO BUFFER B12C NO TIMER B1C2
06A ROM

14
Using interrupts M-CODE prompts
xFF4 Interrupt checked during Pause Leftmost digit of
xFF5 Interrupt checked if system flag 53 set 1st chr 2nd chr
xFF6 Interrupt checked on wakeup /not ON key Example op1 op2 Type of prompt
xFF7 Interrupt checked when HP41 is turned off SIN 0 - none
xFF8 Interrupt checked just before CPU stops COPY 1 0 Alpha input only (null input OK)
xFF9 Interrupt checked on wakeup /ON key DEL 1 1 3 digits (4 by pressing EEX)
xFFA Interrupt checked on MEMORY LOST 1 2 Same as COPY (but no null input)
FIX 1 3 1 digit (+ indirect register/indirect stack)
Before interrupt routine : STO 2 0 2 digits (+indirect reg/stack + stack) (*1)
1. Save nybble 3 to 10 of register C ASTO 2 1 Same as STO (*2)
FS?C 2 2 2 digits (+ indirect register/stack)
2 3 Same as FS?C
LBL 3 0 Non-null alpha or 2 digits
After interrupt routine :
XEQ 3 1 Same as LBL (+ stack/indirect stack)
1. Restore nybble 3 to 10 of register C
3 2 Same as LBL
2. Have P as selected pointer
GTO 3 3 Same as XEQ (*3)
3. Load user flags 48 to 55 into
register ST (Status set zero SS0)
4. Have chip 0 selected 1 When the +/*- keys are pressed at the double prompt, the
5. CPU must be in HEX mode functions defaults to the storeage arithmetic function
6. GOTO address 27F3 2 The storage arithmetic part does not work
3 If the decimal key is pressed at the double prompt the function
changes to GTO.

25D ?NC XQ This entry point selects chip 0 Numeric entry : S&X of CPU A-register
01C ->0797 LDSST0 and places the user flags 48 to Indirect numeric entry : +080h in S&X of A-reg.
260 SETHEX 55 in C and then in ST register
0A0 SLCT P ALPHA entry : Q status register
3CD ?NC GO This entry point returns to
09E ->27F3 RMCK10 continue interrupt polling

15
Partial key sequence
NEXT1 ?NC XQ 0E45 NEXT3 ?NC XQ 0E4B
NEXT2 ?NC XQ 0E48 NEXT ?NC XQ 0E50

PTEMP1 in ST
PTEMP2 in G
Rightmost digit of Partial key code in mantissa sign of A
Logical key code in nybble 1 & 2 of N

PTEMP1
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
Decimal point SHIFT ALPHA key from digit key bit 0 of op1 bit 1 of op2 bit 0 of op2
row 1 or 2

bit 8 of 1st chr bit 9 of 2nd chr bit 8 of 2nd chr


of fcn name of fcn name of fcn name

PTEMP2
bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
not used INDIRECT bit XROM bit INSERT bit 0 bit 0 of op1 bit 1 of op2 bit 0 of op2

set if indirect set if XROM fcn set if PRGM mode bit 8 of 1st chr bit 9 of 2nd chr bit 8 of 2nd chr
operand & PRGMable of fcn name of fcn name of fcn name

115 ?NC XQ
038 0E45 NEXT1
07B JNC +0F if backarrow key !
04C ?FSET 4 all other keys goes here
:
:
215 ?NC XQ
00C 0385 RSTSQ

16
Peripherals : The Card Reader
130 LDI S&X
010 CON 16
270 RAMSLCT de-selects user memory
130 LDI S&X
0FC CON 252
3F0 PRPH SLCT selects the card reader

32C ?CDRD sets carry if CardReader interrupt flag is set


038 READ DATA reads data one record from CardReader to C[13;7] and C[6;0]
2F0 WRIT DATA write on record from C[13;7] to CardReader buffer if card is present and motor is running
028 WRIT 0(T) end write cycle
068 WRIT 1(Z) start write cycle when motor is running
0A8 WRIT 2(Y) end read cycle
0E8 WRIT 3(T) set read mode
168 WRIT 5(M) set CardReader interrupt flag if card is write protected
1E8 WRIT 7(O) set CardReader interrupt flag if there is a card and the motor is running
2E8 WRIT 11(a) read mode: clears interrupt flag if a record can be read
write mode: sets interrupt flag if a record can be written to buffer

328 WRIT 12(b) stop the motor


368 WRIT 13(c) start the motor
3E8 WRIT 15(e) set CardReader interrupt flag if the CardReader external flag is set

17
Peripherals : The wand
130 LDI S&X
010 CON 16
270 RAMSLCT de-selects user memory
130 LDI S&X
0FE CON 254
3F0 PRPH SLCT selects the wand

22C ?WNDB sets carry if data in wand buffer


038 READ DATA reads data one byte to C[1;0]

Peripherals : The tone generator


258 T=ST exchange the T value between 00h and FFh
298 ST=T frequency is 158.000.000:(number of FF cycles + number of 00 cycles)

2D8 ST<>T

18
Peripherals : The HP-IL interface
16C ?IFCR set carry if interface ready
2AC ?SRQR set carry if interface request service
12C ?FRAV set carry if a frame is available from the loop
26C ?FRNS set carry if frame not returned as it was sent
0EC ?ORAV set carry if an output register is available

200 HPIL=C 0(T) copies C[1;0] to HP-IL register 0 SELP r cccccccc01b copies cccccccc to HP-IL register r
240 HPIL=C 1(Z) copies C[1;0] to HP-IL register 1

280 HPIL=C 2(Y) copies C[1;0] to HP-IL register 2 024 SELP 0(T) 124 SELP 4(L)
2C0 HPIL=C 3(X) copies C[1;0] to HP-IL register 3 064 SELP 1(Z) 164 SELP 5(M)
300 HPIL=C 4(L) copies C[1;0] to HP-IL register 4 0A4 SELP 2(Y) 1A4 SELP 6(N)
340 HPIL=C 5(M) copies C[1;0] to HP-IL register 5 0E4 SELP 3(X) 1E4 SELP 7(O)
380 HPIL=C 6(N) copies C[1;0] to HP-IL register 6

3C0 HPIL=C 7(O) copies C[1;0] to HP-IL register 7

024 SELP 0(T) 124 SELP 4(L)


03A C=PREG 0 13A C=PREG 4

003 ?PFSET copies HP-IL register 0 TO C[1;0] 103 ?PFSET copies HP-IL register 4 TO C[1;0]
064 SELP 1(Z) 164 SELP 5(M)
07A C=PREG 1 17A C=PREG 5

043 ?PFSET copies HP-IL register 1 TO C[1;0] 143 ?PFSET copies HP-IL register 5 TO C[1;0]
0A4 SELP 2(Y) 1A4 SELP 6(N)
0BA C=PREG 2 1BA C=PREG 6

083 ?PFSET copies HP-IL register 2 TO C[1;0] 183 ?PFSET copies HP-IL register 6 TO C[1;0]
0E4 SELP 3(X) 1E4 SELP 7(O)
0FA C=PREG 3 1FA C=PREG 7

0C3 ?PFSET copies HP-IL register 3 TO C[1;0] 1C3 ?PFSET copies HP-IL register 7 TO C[1;0]

19
Peripherals : The HP-IL interface
Register 0 : status Register 1 : control interrupt
bit 0 master clear bit 0 w:enable FI line r:output register available
bit 1 clear IFC received bit 1 w:not used r:frame received not as sent
bit 2 write:set local ready read: RFC received bit 2 w:not used r:frame available
bit 3 send receive request bit 3 w:not used r:service request received
bit 4 listener active bit 4 w:not used r:interface clear received
bit 5 talker active bit 5 w:output control bits r:input control bits
bit 6 controller active bit 6 w:output control bits r:input control bits
bit 7 system controller bit 7 w:output control bits r:input control bits

Register 2 : data bits Register 3 : parallel poll


bit 0 w:input data bits r:output data bits bit 0 parallel poll pesponse bit designation
bit 1 w:input data bits r:output data bits bit 1 parallel poll pesponse bit designation
bit 2 w:input data bits r:output data bits bit 2 parallel poll pesponse bit designation
bit 3 w:input data bits r:output data bits bit 3 parallel poll polarity
bit 4 w:input data bits r:output data bits bit 4 parallel poll enable
bit 5 w:input data bits r:output data bits bit 5 parallel poll individual status
bit 6 w:input data bits r:output data bits bit 6 automatic IDY sourcing in idle mode
bit 7 w:input data bits r:output data bits bit 7 oscillator disable

Register 4 : lopp address Registers 5,6 & 7 : scratch


bit 0 address bits bit 0 scratch
bit 1 address bits bit 1 scratch
bit 2 address bits bit 2 scratch
bit 3 address bits bit 3 scratch
bit 4 address bits bit 4 scratch
bit 5 scratch bit 5 scratch
bit 6 scratch bit 6 scratch
bit 7 scratch bit 7 scratch

20
Peripherals : The printer
3AC ?PBSY set carry if the printer is busy
264 SELP 9 transfers control to the printer until an instruction with the rightmost bit set

while in control these instructions are understood by the printer:

003 BUSY? set carry if the printer is busy


083 ERROR? set carry if printer error
043 POWON? set carry if printer is on
007 BUF=BUF+C copy C[1;0] to printer buffer
03A C=STATUS copy printer status word to C[1;0] - next instruction must be 001h

printer status word:

bit meaning
15-14 printer mode: 00 = MAN 10 = TRACE 01 = NORM
13 PRINT key is down
12 PAPER ADVANCE key is down
11 printer is OUT OF PAPER
10 printer battery is low
9 printer is idle (not printing)
8 printer buffer is empty
7 printer is using lower case (SF13)
6 printer is in graphics mode (column mode)
5 printer is using double width (SF12)
4 printer is printing right justified
3 last byte sent was End-Of-Line
2 printer error is occuring
1-0 always set

21
Peripherals : The timer
130 LDI S&X status register bits:
010 CON 16 bit meaning
270 RAMSLCT de-selects user memory 12 timer is in TEST A mode
130 LDI S&X 11 timer is in TEST B mode
0FB CON 21 10 set if the interval timer is running
3F0 PRPH SLCT selects the timer 9 set if ALARM B is enabled (usually clear)
8 set if ALARM A is enabled (usually set)
7 set if CLOCK B is counting forwards
6 set if CLOCK A is counting forwards
5 set if timer chip supply voltage has been low
4 set if the interval timer has counted a whole interval
3 set if an overflow has occurred in CLOCK B
2 set if ALARM B register is the same as CLOCK B
1 set if an overflow has occurred in CLOCK A
0 set if ALARM A register is the same as CLOCK A

CLOCK REGISTER A CURRENT TIME (1/100 SECONDS SINCE JAN 1 1900, DECIMALLY, RIGHT ALIGNED)

ALARM REGISTER A TIME OF NEXT ALARM


SCRATCH REGISTER A TIME WHEN CLOCK WAS LAST ADJUSTED
CLOCK REGISTER B STOPWATCH TIME
ALARM REGISTER B COLDSTART CONSTANT 0999999999000h
SCRATCH REGISTER B BIT5 SET IF CLK24 FORMAT, BIT6 SET IF CLKTD FORMAT
A/B POINTER
INTERVAL TIMER
13 BIT STATUS REGISTER
ACCURACY FACTOR REGISTER

22
Peripherals : The timer
028 WRIT 0(T) copy the C register to the active clock register
038 READ DATA copy the active clock register to the C register
068 WRIT 1(Z) as WRIT 0(T) but used after READ 1(Z), takes into account the time used since reading the time
078 READ 1(Z) as READ DATA, used when correcting the time using T+X
0A8 WRIT 2(Y) copy the C register to the active alarm register
0B8 READ 2(Y) copy the active alarm registerto the C register
0E8 WRIT 3(X) if pointer set to A: copy C[5;0] to the timer status register (can only clear bits)
if pointer set to B: copy C[16;4] to timer accuracy factor register (0 to 99.9 , C[16] = sign)

0F8 READ 3(X) if pointer set to A: copy status register to C[12;0]


if pointer set to B: copy the accuracy factor register to C[16;4]

128 WRIT 4(L) copy C register to active scratch register


138 READ 4(L) copy active scratch register to C register
168 WRIT 5(M) copy C[4;0] to interval timer and start timer (0.01 to 999.99 seconds)
each time the interval period has passed the timer interrupt flag is set (CLOCK function uses this)

178 READ 5(M) copy the value of the interval timer to C[4;0]
1E8 WRIT 7(O) stop the interval timer
228 WRIT 8(P) clear test mode (A or B)
268 WRIT 9(Q) set test mode (A or B)
2A8 WRIT 10() disable the active alarm, but does not clear it
ALARM A is re-enabled at turn-off, timer alarms (negative stopwatch alarms) can’t be disabled

2E8 WRIT 11(a) re-enable the disabled alarm


328 WRIT 12(b) stop the clock in the active clock register (CLOCK A restarts as soon as CPU stops)
368 WRIT 13(c) start the clock in the active clock register
3A8 WRIT 14(d) set the A/B pointer to B
3E8 WRIT 15(e) set the A/B pointer to A

23
Peripherals : The display
130 LDI S&X 0 1 2 3 4 5 6 7 8 9 A B C D E F

010 CON 16 0                
270 RAMSLCT de-selects user memory 1                
130 LDI S&X
2               
0FD CON 253
3               
3F0 PRPH SLCT selects display

4                
8 7 6 5 4 3 2 1 0
5                

”Halfnuts” only
spec punct. row column
6                
(0-7) (0-F)
7                
C B A

Bits: DISPLAY PRINT BYTE DISPLAY PRINT BYTE


0-3 column of table
e e 7F : 3A
4-5 row of table
6-7 punctuation d d 7E , 3B
7 6 c c 7D < 3C
0 0 none b b 7C = 3D
0 1 .
1 0 : a a 7B > 3E
1 1 ,   7A ? 3F
8 special character
Q _ 79
P  78
O ] 77
SHIFT

ALPHA
USER

PRGM
BAT

RAD

N \ 76
G

0
1
2
3
4

11 10 9 8 7 6 5 4 3 2 1 0
M [ 75

E
2F0 WRIT DATA writes C S&X to annunciators
178 READ 5(M) reads annunciators to C S&X

24
Peripherals : The display
Instruction Hex # of chrs Rotation Digs in C C B A
READ DATA 038 12  12 (1 each)
WRIT 0 (T) 028 12  12 (1 each)
READ 1 (Z) 078 12  12 (1 each)
WRIT 1 (Z) 068 12  12 (1 each)
READ 2 (Y) 0B8 12  12 (1 each)
WRIT 2 (Y) 0A8 12  12 (1 each)
READ 3 (X) 0F8 6  12 (2 each)
WRIT 3 (X) 0E8 6  12 (2 each)
READ 4 (L) 138 4  12 (3 each)
WRIT 4 (L) 128 4  12 (3 each)
WRIT 5 (M) 168 6  12 (2 each)
READ 6 (N) 1B8 1  1
WRIT 6 (N) 1A8 4  12 (3 each)
READ 7 (O) 1F8 1  1
WRIT 7 (O) 1E8 1  1
READ 8 (P) 238 1  1
WRIT 8 (P) 228 1  1
READ 9 (Q) 278 1  1
WRIT 9 (Q) 268 1  1
READ 10 () 2B8 1  1
WRIT 10 () 2A8 1  1
READ 11 (a) 2F8 1  1
WRIT 11 (a) 2E8 1  1
READ 12 (b) 338 1  2
WRIT 12 (b) 328 1  2
READ 13 (c) 378 1  2
WRIT 13 (c) 368 1  2
READ 14 (d) 3B8 1  3
WRIT 14 (d) 3A8 1  3
READ 15 (e) 3F8 1  3
WRIT 15 (e) 3E8 1  3

bit 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0 3 2 1 0
A char 12th 11th 10th 9th 8th 7th 6th 5th 4th 3rd 2nd 1st

bit 7 6 5 4 7 6 5 4 7 6 5 4 7 6 5 4 7 6 5 4 7 6 5 4 7 6 5 4 7 6 5 4 7 6 5 4 7 6 5 4 7 6 5 4 7 6 5 4
B char 12th 11th 10th 9th 8th 7th 6th 5th 4th 3rd 2nd 1st

bit 8 8 8 8 8 8 8 8 8 8 8 8
C char 12 11 10 9 8 7 6 5 4 3 2 1

ann. B U G R S 0 1 2 3 4 P A
E bit 12 11 10 9 8 7 6 5 4 3 2 1

25
Port dependent jumps
341 ?NC XQ PORT DEP: 349 ?NC XQ PORT DEP:
08C ->23D0 GO 1st quarter 08C ->23D2 XQ 1st quarter
qXX ->pQXX p000-p3FF qXX ->pQXX p000-p3FF

365 ?NC XQ PORT DEP: 36D ?NC XQ PORT DEP:


08C ->23D9 GO 2nd quarter 08C ->23DB XQ 2nd quarter
qXX ->pQXX p400-p7FF qXX ->pQXX p400-p7FF

389 ?NC XQ PORT DEP: 391 ?NC XQ PORT DEP:


08C ->23E2 GO 3rd quarter 08C ->23E4 XQ 3rd quarter
qXX ->pQXX p800-pBFF qXX ->pQXX p800-pBFF

3AD ?NC XQ PORT DEP: 3B5 ?NC XQ PORT DEP:


08C ->23EB GO 4th quarter 08C ->23ED XQ 4th quarter
qXX ->pQXX pC00-pFFF qXX ->pQXX pC00-pFFF

369 ?NC XQ PORT DEP: 379 ?NC XQ PORT DEP:


03C ->0FD9 GO 03C ->0FDD XQ
qXX ->pQXX same quarter qXX ->pQXX same quarter

NB! Musts be HEX mode. Uses 2 places in RTN-stack

26
HP41CX ENTRY POINTS ENTRY ADR MCODE

A APND10 1FF5 BLANK 05B7 CHKADR 166E


ABS 1076 APNDDG 1FFA BLINK 0899 265 020 CHKFUL 05BA
ABTS10 0D16 APNDNW 2D14 BLINK1 0899 CHKRPC 0222
ABTSEQ 0D12 149 034 APPEND 2D0E BRT100 1D80 CHRLCD 05B9
ACOS 107D ARCL 108C BRT140 1DEC CHS 123A
AD1_10 1809 ARGOUT 2C10 BRT160 1DA8 CHSA 1CDA
AD2_10 1807 01D 060 ASCLCA 2C5E BRT200 1E0F CHSA1 1CDC
AD2_13 180C ASCLCD 2C5D BRT290 1DAC CLA 10D1 345 040
ADD1 1CE0 ASHF 1092 BRTS10 1D6B CLCTMG 03C9
ADD2 1CE3 ASIN 1098 BST 10C2 CLDSP 10E0 381 040
ADDONE 1800 001 060 ASN 109E BSTCAT 0BBA CLLCDE 2CF0
ADRFCH 0004 ASN15 27C2 BSTE 290B CLP 10E7
ADVNCE 114D ASN20 27CC BSTE2 2AF2 CLR 1733
AFORMT 0628 ASRCH 26C5 BSTEP 28DE CLREG 10ED
AGTO 1085 ASTO 10A4 BSTEPA 28EB CLRLCD 2CF6
AJ2 0DD4 ATAN 10AA C CLRPGM 228C
AJ3 0DD0 AVAIL 28C4 CAINC 00D7 35D 000 CLRREG 2155
ALCL00 06C9 AVAILA 28C7 CALDSP 29C3 CLRSB2 0C00
ALLOK 02CD AVIEW 10B2 CAT 10C8 CLRSB3 0C02
ALPDEF 03AE AXEQ 10B5 CAT1 0BC3 CLSIG 10F3
ANN_14 075B B CAT2 0B53 CLST 10F9
ANNOUT 075C BAKAPH 09E3 CAT3 1383 CLX 1101
AOFF 1345 BAKDE 09A5 295 024 CF 10CC CNTLOP 0B9D
AON 133C BCDBIN 02E3 38D 008 CHK_NO_S 14D8 COLDST 0232
AOUT15 2C2B BEEP 10BB CHK_NO_S1 14D4 COPY 1109
APHST_ 2E62 BIGBRC 004F CHK_NO_S2 14D9 COS 127C
APND_ 1FF3 BKROM2 2A91 CHKAD4 1686 CPGM10 067F 1FD 018

27
HP41CX ENTRY POINTS ENTRY ADR MCODE

CPGMHD 067B DEROVF 08EB DRSY51 0194 ERROF 00A2


D DEROW 04AD DSE 112D ERROR 22F5
D_R 110E DERUN 08AD DSPCA 0B35 ERRPR 2184
DAT106 2D4C DERW00 04B2 DSPCRG 0B26 ERRRAM 2172
DAT231 2D77 DF060 0587 DSPLN_ 0FC7 ERRSUB 22E8
DAT260 2D94 DF150 0482 DSWKUP 01AD ERRTA 2F17
DAT280 2D98 DF160 0485 DTOR 1981 205 064 EXP10 1A0A 029 068
DAT300 2D9B DF200 04E7 DV1_10 189A EXP13 1A0D
DAT320 2DA2 DFILLF 0563 DV2_10 1898 261 060 EXP400 1A21
DAT400 2E05 DFKBCK 0559 DV2_13 189D EXP500 1A61
DAT500 2E10 DFRST8 0562 E EXP710 1A4C
DATENT 2D2C DFRST9 0561 E_TO_X 1147 EXP720 1A50
DATOFF 0390 DGENS8 0836 0D9 020 E_TO_X_MIN 1163 EXSCR 192A
DCPL00 2EC3 DIGENT 0837 0DD 020 ENCP00 0952 149 024 F
DCPLRT 2F0B DIGST_ 08B2 2C9 020 END 1132 FACT 1154
DCRT10 2F0D DIV110 18A5 END2 03B6 FC 115A
DEC 132B DIV120 18AF END3 03BE FC_C 116B
DECAD 29C7 DIV15 18A9 ENG 1135 FCNTBL 1400
DECADA 29CA DIVIDE 106F ENLCD 07F6 3D9 01C FDIG20 0E3D
DECMPL 2EC2 DOSKP 1631 ENTER 113E FDIGIT 0E2F
DEEXP 088C DOSRC1 24E3 ERR0 18C3 FILLXL 00EA
DEG 1114 DOSRCH 24E4 ERR110 22FB FIND_NO_1 1775
DEGDO 172A DROPST 00E4 ERR120 22FF FIX 1171
DEL 1124 DROWSY 0160 ERRAD 14E2 FIX57 0AC3
DELETE 1127 DRSY05 0161 ERRDE 282D FIXEND 2918
DELLIN 2306 DRSY25 0173 ERRIGN 00BB FLGANN 1651
DELNNN 22A8 DRSY50 0190 ERRNE 02E0 FLINK 2928

28
HP41CX ENTRY POINTS ENTRY ADR MCODE

FLINKA 2927 GOL1 23D9 GTFEND 20E8 INCADA 29D6


FLINKM 2929 GOL2 23E2 GTLINK 224E INCADP 29D1
FLINKP 2925 GOL3 23EB GTLNKA 2247 INCGT2 0286
FNDEND 1730 GOLNGH 0FD9 GTO 1191 IND 0DB2
FORMAT 0A7B GOLONG 0FDA GTO_5 29AA IND21 0DC4
FRAC 117C GOSUB 0FDE GTOL 118C INEX 2A4A
FS 1182 GOSUB0 23D2 GTONN 2959 INLIN 2876
FS_C 1188 GOSUB1 23DB GTRMAD 0800 INLIN2 29F6
FSTIN 14C2 GOSUB2 23E4 GTSRCH 24DF INPTDG 08A0
G GOSUB3 23ED H INSHRT 2A17
GCP112 2BB5 GOSUBH 0FDD H_HMS 1199 INSLIN 29F4
GCPK04 2BBC GOTINT 02F8 3E1 008 HMS_H 1193 INSSUB 23B2
GCPK05 2BBE GRAD 111A HMS_MINUS 1045 INSTR 2A73
GCPKC 2B80 GSB000 23FA HMS_PLUS 1032 INT 1177
GCPKC0 2B89 GSB256 23FA HMSDV 19E5 INTARG 07E1
GENLNK 239A GSB512 23FA HMSMP 19E7 INTFRC 193B 0ED 064
GENNUM 05E8 3A1 014 GSB768 23FA I INTINT 02FB 3ED 008
GETLIN 1419 GSUBS1 23C9 IN3B 2A65 INTXC 2A7D
GETN 1CEA GT3DBT 0FEB INBCHS 2E0A IORUN 27E4
GETPC 2950 GTACOD 1FDB INBYT 29E6 ISG 119E
GETPCA 2952 GTAI40 0341 INBYT0 29E3 K
GETX 1CEF GTAINC 0304 INBYT1 29EA KEYOP 068A
GETXSQ 1CEE GTBYT 29B0 INBYTC 29E4 KYOPCK 0693
GETXY 1CEB GTBYTA 29BB INBYTJ 2E0C L
GETY 1CED GTBYTO 29B2 INBYTP 29E5 LASTX 1228
GETYSQ 1CEC GTCNTR 0B8D INCAD 29CF LBL 11A4
GOL0 23D0 GTFEN1 20EB INCAD2 29D3 LD90 1995

29
HP41CX ENTRY POINTS ENTRY ADR MCODE

LDD_P_ 0B1D MINUS 1054 MSGWR 1C56 NFRPR 00EE 3B9 000
LDDP10 0B1E MOD 104F MSGX 1C75 NFRPU 00F0 3C1 000
LDSST0 0797 MOD10 195C 171 064 MSGYES 1C62 NFRSIG 00C2
LEFTJ 2BF7 MODE 134D MULTIPLY 105C NFRST_PLUS 0BEE
LINN1A 2A93 MODE1 134F N NFRX 00CC 331 000
LINNM1 2A90 MOVREG 215C NAM40 0F34 NFRXY 00DA 369 000
LINNUM 2A8B MP1_10 184F NAM44_ 0F7D NLT000 0E91
LN 11A6 MP2_10 184D 135 060 NAME20 0EE6 NLT020 0EA0
LN1_PLUS_X 1220 MP2_13 1852 NAME21 0EE9 NLT040 0EAA
LN10 1B45 115 06C MPY150 1865 NAME33 0EEF NM44_5 0F7E
LN560 1BD3 MSG 1C6B NAME37 0F09 NOPRT 015B
LNAP 1A8A MSG105 1C80 201 070 NAME4A 0FA4 NOREG9 095E 179 024
LNC10 1AAE MSG110 1C86 219 070 NAME4D 0FAC NOSKP 1619 065 058
LNC10_ 1AAD MSGA 1C6C 1B1 070 NAMEA 0ED9 NOTFIX 0ADD
LNC20 1ABD MSGAD 1C18 NBYTA0 2D04 NRM10 1870
LNSUB 19F9 MSGDE 1C22 NBYTAB 2D06 NRM11 1871
LNSUB_MINUS 19F8 MSGDLY 037C NEXT 0E50 141 038 NRM12 1872
LOAD3 14FA MSGE 1C71 NEXT1 0E45 115 038 NRM13 1884
LOG 11AC MSGML 1C2D NEXT2 0E48 121 038 NROOM3 28C2
LSWKUP 0180 MSGNE 1C38 NEXT3 0E4B 12D 038 NULT_ 0E65
M MSGNL 1C3C NFRC 00F1 3C5 000 NULT_3 0E7C
MASK 2C88 MSGNO 1C64 NFRENT 00C4 NULT_5 0E8F
MEAN 11B9 MSGOF 1C4F NFRFST 00F7 3DD 000 NULTST 0EC6
MEMCHK 0205 MSGPR 1C43 NFRKB 00C7 31D 000 NWGOOS 07D4
MEMLFT 05A1 MSGRAM 1C67 NFRKB1 00C6 NXBYT3 29B7
MESSL 07EF 3BD 01C MSGROM 1C6A NFRNC 00A5 295 000 NXBYTA 29B9
MIDDIG 0DE0 MSGTA 1C5F NFRNIO 0106 NXBYTO 2D0B

30
HP41CX ENTRY POINTS ENTRY ADR MCODE

NXL1B 2B23 PACH11 03F5 PATCH9 1C03 PUTPC 2337


NXL3B2 2B63 PACH12 03FC PCKDUR 16FC PUTPCA 2339
NXLCHN 2B49 PACH4 03E2 PCT 1061 PUTPCD 232C
NXLDEL 2AFD PACK 11E7 PCTCH 11EC PUTPCF 2331
NXLIN 2B14 PACKE 2002 PGMAON 0956 PUTPCL 2AF3
NXLIN3 2B5F PACKN 2000 PI 1242 PUTPCX 232F
NXLINA 2B1F PAK200 2055 PI_BY_2 199A PUTREG 215E
NXLSST 2AF7 PAKEND 20AC PKIOAS 2114 051 084 Q
NXLTX 2B77 PAKSPC 20F2 PLUS 104A QUTCAT 03D5
NXTBYT 2D07 PAR111 0CED PMUL 1BE9 R
POWER_OF_TEN
O PAR112 0CF5 12CA R_D 120E
OCT 1330 PARA06 0D22 PR10RT 0372 R_P 11C0
OFF 11C8 321 044 PARA60 0D35 PR14RT 1365 R_SCAT 0BB7
OFFSHF 0750 PARA61 0D37 PR15RT 22DF R_SUB 14ED
OFSHFT 0749 PARA75 0D49 PR3RT 0EDD RAD 111F
ONE_BY_X 11D6 PARB40 0D99 PROMF1 05CB RAK06 0C7F
ONE_BY_X10 188B PARS05 0C34 PROMF2 05D3 RAK60 06FA
ONE_BY_X13 188E PARS56 0C93 PROMFC 05C7 RAK70 070A
OPROMT 2E4C PARS75 0CCD PROMPT 1209 RCL 122E
OUTLCD 2C80 PARSDE 0C90 PSE 11FC RCSCR 1934
OUTROM 2FEE PARSE 0C05 PSESTP 03AC RCSCR_ 1932
OVFL10 1429 PARSEB 0D6D PTBYTA 2323 RDN 1252
P PATCH1 21DC PTBYTM 2921 RDNSUB 14E9
P_R 11DC PATCH2 21E1 PTBYTP 2328 REGLFT 059A
P10RTN 02AC PATCH3 21EE PTLINK 231A RFDS55 0949
P6RTN 1670 PATCH5 21F3 PTLNKA 231B RG9LCD 08EF 3BD 020
PACH10 03EC PATCH6 1C06 PTLNKB 2321 RMCK05 27EC

31
HP41CX ENTRY POINTS ENTRY ADR MCODE

RMCK10 27F3 RTN 125C SGTO19 25C9 STATCK 1CC8


RMCK15 27F4 RTN30 272F SHF10 186D STAYON 12A3
RND 1257 RTOD 198C 231 064 SHF40 186C STBT10 2EA3
ROLBAK 2E42 RUN 07C2 SHIFT 1348 STBT30 2FE0
ROLLUP 1260 RUN_STOP 1218 SIGMA 1C88 STBT31 2FE5
ROMCHK 27E6 RUNING 0108 SIGMA_MINUS 1271 STDEV 11B2
ROMH05 066C 1B1 018 RUNNK 011D SIGMA_PLUS 126D STFLGS 16A7
ROMH35 0678 RW0110 04E9 SIGN 1337 STK 0DF3
ROMHED 066A RW0141 04F1 SIGREG 1277 STK00 0DFA
ROUND 0A35 S SIN 1288 STK04 0E00
ROW0 2766 SARO21 2640 SINFR 1947 STMSGF 037E
ROW10 02A6 SARO22 2641 SINFRA 194A STO 10DA
ROW11 25AD SAROM 260D SIZE 1292 STO_DIVIDE 12C1
ROW12 2743 SAVR10 27D5 SIZSUB 1797 STO_MINUS 12B9
STO_MULTIPLY
ROW120 0519 SAVRC 27DF SKP 162E 0B9 058 12A8
ROW933 0467 SAVRTN 27D3 SKPDEL 2349 STO_PLUS 12B0
ROW940 0487 SCI 1265 SKPLIN 2AF9 STOLCC 2E5B
RST05 009B 26D 000 SCROL0 2CDE SNR10 243F STOP 1215
RSTANN 0759 SCROLL 2CDC SNR12 2441 STOPS 03A7
RSTKB 0098 261 000 SD 1D10 SNROM 2400 STOPSB 03A9
RSTMS0 038E 239 00C SEARC1 2434 SQR10 18BE 2F9 060 STORFC 07E8
RSTMS1 0390 SEARCH 2433 SQR13 18C1 STOST0 013B
RSTMSC 0392 SEPXY 14D2 SQRT 1298 STSCR 1922
RSTSEQ 0384 SERR 24E8 SRBMAP 2FA5 STSCR_ 1920
RSTSQ 0385 215 00C SETQ_P 0B15 SST 129E SUBONE 1802 009 060
RSTST 08A7 SETSST 17F9 SSTBST 22DD SUMCHK 1667
RTJLBL 14C9 SF 1269 SSTCAT 0BB4 SUMCK2 1669

32
HP41CX ENTRY POINTS ENTRY ADR MCODE

T TXTLBL 2FC7 X_XCHNG 124C XFT100 18EC


TAN 1282 TXTROM 04F5 X_XCHNG_Y 12FC XGA00 248D
TBITMA 2F7F TXTROW 04F2 XARCL 1696 XGI 24C7
TBITMP 2F81 TXTSTR 04F6 XASHF 1748 XGI07 24DA
TEN_TO_X 1BF8 U XASN 276A XGI57 24C1
TEXT 2CAF UPLINK 2235 XASTO 175C XGNN10 2512
TGSHF1 1FE7 V XAVIEW 0364 XGNN12 2514
TODEC 1FB3 VIEW 12D6 XBAR 1CFE XGNN40 255D
TOGSHF 1FE5 W XBAR_ 1D07 XGOIND 1323
TONE 12D0 WKUP10 0184 XBEEP 16D1 XGRAD 1726
TONE7 1716 WKUP21 01A7 XBST 2250 XGTO 2505
TONE7X 16DB WKUP25 01BA XCAT 0B80 XISG 15A0
TONEB 16DD WKUP70 01F5 XCF 164D XLN1_PLUS_X 1B73
TONSTF 0054 WKUP80 01FF XCLSIG 14B0 XMSGPR 056D
TOOCT 1F79 X XCLX1 1102 XNNROW 0026
TOPOL 1D49 X_BY_Y13 1893 XCOPY 2165 XPACK0 2000 001 080
TOREC 1E75 X_EQ_0 130E XCUTB1 0091 XPRMPT 03A0
TRC10 19A1 285 064 X_EQ_Y 1314 XCUTE 015B XR_S 079D
TRC30 1E38 X_GT_0 131A XCUTEB 0090 XRAD 1722
TRCS10 1E57 X_GT_Y 1320 XDEG 171C XRDN 14BD
TRG100 1E78 X_LE_0 12EF XDELET 22AF XRND 0A2F
TRG240 1ED1 X_LE_Y 12F6 XDSE 159F XROLLUP 14E5
TRG430 1F5B X_LT_0 12E8 XECROM 2F4A XROM 2FAF
TRGSET 21D4 X_LT_Y 1308 XEND 2728 XROMNF 2F6C
TSTMAP 14A1 X_NE_0 12DC XEQ 1328 XROW1 0074
TXRW10 04F6 X_NE_Y 12E2 XEQC01 24EA XRS45 07BE
TXTLB1 2FC6 X_TO_2 106B XFS 1645 XRTN 2703

33
HP41CX ENTRY POINTS ENTRY ADR MCODE

XSCI 16C0 1
XSF 164A 1/X10 188B 22D 060
XSGREG 1659 10X 1BF8 3E1 06C
XSIGN 0FF4
XSIZE 1795
XSST 2260
XSTYON 1411
XTOHRS 19B2
XTONE 16DE
XVIEW 036F
XX_EQ_0 1606
XX_EQ_Y 1614
XX_GT_0 15F1
XX_GT_Y 15F8
XX_LE_0 160D
XX_LE_0A 1609
XX_LE_Y 1601
XX_LT_0 15FA
XX_LT_Y 15EF
XX_NE_0 1611
XX_NE_Y 1629
XXEQ 252F
XY_TO_X 1B11
Y
Y_MINUS_X 1421
Y_TO_X 102A

34
ADR1 XROM#
FAT-addresses ADR2 FCN#

000 XROM ID 020 15 040 31 060 47 080 63


001 # FCN’s 021 16 041 32 061 48 081 64
002 00 022 16 042 32 062 48 082 NOP
003 01 023 17 043 33 063 49 083 NOP
004 01 024 17 044 33 064 49
005 02 025 18 045 34 065 50
006 02 026 18 046 34 066 50
007 03 027 19 047 35 067 51
008 03 028 19 048 35 068 51
009 04 029 20 049 36 069 52
00A 04 02A 20 04A 36 06A 52
00B 05 02B 21 04B 37 06B 53
00C 05 02C 21 04C 37 06C 53
00D 06 02D 22 04D 38 06D 54
00E 06 02E 22 04E 38 06E 54
00F 07 02F 23 04F 39 06F 55
010 07 030 23 050 39 070 55
011 08 031 24 051 40 071 56
012 08 032 24 052 40 072 56
013 09 033 25 053 41 073 57
014 09 034 25 054 41 074 57
015 0A 035 26 055 42 075 58
016 10 036 26 056 42 076 58
017 0B 037 27 057 43 077 59
018 11 038 27 058 43 078 59
019 0C 039 28 059 44 079 60
01A 12 03A 28 05A 44 07A 60
01B 0D 03B 29 05B 45 07B 61
01C 13 03C 29 05C 45 07C 61
01D 0E 03D 30 05D 46 07D 62
01E 14 03E 30 05E 46 07E 62
01F 0F 03F 31 05F 47 07F 63

35
ROM function names DEBUG registers
Address Code Description ABS nybbles
reg
x00E 004 M-code # 13 12 11 10 09 08 07 06 05 04 03 02 01 00
x00F 002 Function address x402 487 0 0 RTN 3 RTN 2 RTN 1
: 488 KY RTN 4 XY P Q G ST

x39E 094 T 489 CPU register C

x39F 013 S 490 CPU register A

x400 005 E 491 CPU register B

x401 014 T 492 CPU register M

?FSET 5  entry point 493 CPU register N


x402 08C
494 STATUS register T
:
495 STATUS register Z
496 STATUS register Y
x39E 094 T +080 last character of name 497 STATUS register X
x39F 013 S 498 STATUS register L
x400 o05 E o=op2 used for 499 STATUS register M
x401 o14 T o=op1 prompting 500 STATUS register N
x402 000 NOP = NOT PRGMable 501 STATUS register O
x403 000 NOP = NOT NULLable 502 STATUS register P
503 STATUS register Q
504 STATUS register 
505 STATUS register a
Address Code Description
506 STATUS register b
x00E 204 UserCode
507 STATUS register c
x00F 002 Function address x402
508 STATUS register d
:
509 STATUS register e
x400 009 9 regs to copy
510 BREAK address word
x401 220
511 BREAK address+1 word
x402 1C2 LBL
# 13 12 11 10 09 80 07 06 05 04 03 02 01 00
x403 001  entry point
x404 0F5 
x405 000
x406 054 T
x407 045 E XY bit 07 06 05 04 03 02 01 00
x408 053 S CPU flag # 13 12 11 10 9 8 v w

x409 054 T  
x40A 19C FIX 0 = hex mode SLCT P

x40B 000 0 1 = dec mode SLCT Q

x40C 1A6 XROM


x40D C5 27,05
:

36
Synthetic QRC

37
Synthetic QRC

38
Keycode maps

Internal keycodes (KY) User keycodes


ALPHA ALPHA

18 C6 C5 C4 ON USER PRGM ALPHA

10 30 70 80 C0 11 12 13 14 15

11 31 71 81 C1 21 22 23 24 25

12 32 72 82 C2 32 33 34 35

13 73 83 C3 41 42 43 44

14 34 74 84 51 52 53 54

15 35 75 85 61 62 63 64

16 36 76 86 71 72 73 74

17 37 77 87 81 82 83 84

h HEWLETT PACKARD h HEWLETT PACKARD


p HP 41CX p HP 41CX

39
Keycode maps

Partial key table Assignment keycodes


ALPHA ALPHA

ON 000 000 080 ON USER PRGM ALPHA

09 19 29 39 49
041 042 043 044 045 01 11 21 31 41

0A 1A 2A 3A 4A
046 047 048 049 040 02 12 22 32 42

0B 1B 2B 3B 4B
100 000 000 000 000 03 13 23 33 43

0C 2C 3C 4C
000 000 000 00F 04 24 34 44

0D 1D 2D 3D
002 027 028 029 05 15 25 35

0E 1E 2E 3E
001 024 025 026 06 16 26 36

0F 1F 2F 3F
003 021 022 023 07 17 27 37

10 20 30 40
004 020 200 000 08 18 28 38

h
p HEWLETT PACKARD HP 41CX h
p HEWLETT PACKARD HP 41CX

40
Keycode maps

Logical keycodes Alpha keycodes


ALPHA ALPHA

ON 46 45 44 ON 10C 10C 10C

08 18 28 38 48 61 62 63 64 65
00 10 20 30 40 41 42 43 44 45

09 19 29 39 49 7E 25 1D 3C 3E
01 11 21 31 41 46 47 48 49 4A

0A 1A 2A 3A 4A 10E 7F 19A 19B 207


02 12 22 32 42 10E 4B 4C 4D 108

0B 2B 3B 4B 5E D 24 187
03 23 33 43 4E 4F 50 0

0C 1C 2C 3C 2D 37 38 39
04 14 24 34 51 52 53 54

0D 1D 2D 3D 2B 34 35 36
05 15 25 35 55 56 57 58

0E 1E 2E 3E 2A 31 32 33
06 16 26 36 59 5A 3D 3F

0F 1F 2F 3F 2F 30 2E 17E
07 17 27 37 3A 20 2C 105

h
p
HEWLETT PACKARD HP 41CX h
p HEWLETT PACKARD HP 41CX

41
Keycode maps

Default function keycodes Key assignment flag bits


ALPHA ALPHA

ON 10C 10C 10C ON USER PRGM ALPHA

148 153 151 157 155


147 160 152 156 150 36 28 20 12 4

170 14C 15C 15D 15E


171 175 159 15A 15B 35 27 19 11 3

10E 10F 1CF 1D0 107


10E 1E0 191 190 108 34 26 18 10 2

100 196 185 177


183 1C 1B 0 33 17 9 1

178 1A8 1A9 1AC


141 17 18 19 32 24 16 8

146 186 14E 14F


140 14 15 16 31 23 15 7

145 19C 19D 19E


142 11 12 13 30 22 14 6

167 172 176 198


143 10 1A 105 29 21 13 5

h
p HEWLETT PACKARD HP 41CX h
p HEWLETT PACKARD HP 41CX

42
ROM module structure ROM bankswitching
Address Code Description
Word at xFFD :
x000 XROM ID #
x001 # of FAT entries (n) bit 9 bit 8
x002 t0a Address of 1st function in page 0 0 page not bankswitched
x003 0aa t is 0=Mcode or 2=UserCode 0 1 bankswitched, primary bank
: 1 0 bankswitched, indeterminate bank (HP)
x(2n) Address of last function in page 1 1 bankswitched, secondary bank
x(2n+1)
x(2n+2) 000 End of FAT
x(2n+3) 000
x(2n+4) Start of functions or program code
Straight 16K module Bankswitched 16K module
:
:
: Page F Page F
: Page E Page E
: Page D Page D
: Page C Page C
: Page B Core 3 Page B
Secondary
xFC7 100 Enable bank 1 Page A Core 2 Page A
xFC8 3E0 Page 9 Core 1 Page 9 Core 1  Core 3
xFC9 180 Enable bank 2
Page 8 Core 0 Page 8 Core 0  Core 2
ZEPROM in port 1 or 2 ZEPROM in port 1
xFCA 3E0
:
xFF4 Interrupt checked during Pause Bankswitched 12K module Straight 8K module
xFF5 Interrupt checked if system flag 53 set
Secondary banks Dummy banks
xFF6 Interrupt checked on wakeup /not ON key
xFF7 Interrupt checked when HP41 is turned off Page 9 Core 1  Core 3 Page 9 Core 1  Core 1
xFF8 Interrupt checked just before CPU stops Page 8 Core 0  Core 0 Page 8 Core 0  Core 0
xFF9 Interrupt checked on wakeup /ON key ZEPROM in port 1 ZEPROM in port 1

xFFA Interrupt checked on MEMORY LOST Secondary banks


xFFB ROM revision ID
xFFC ROM revision ID Page 9 Core 1  Core 1
xFFD ROM revision ID (bit 8 & 9 is bankswitch-bits) Page 8 Core 0  Core 2
ZEPROM in port 1
xFFE ROM revision ID
xFFF Page checksum

43
ROM structure
Primary Bank Page Secondary Bank Page

PORT 4 Upper page F PORT 4 Upper page F

Lower page E Lower page E

PORT 3 Upper page D PORT 3 Upper page D

Lower page C Lower page C

PORT 2 Upper page B PORT 2 Upper page B

Lower page A Lower page A

PORT 1 Upper page 9 PORT 1 Upper page 9

Lower page 8 Lower page 8

IL Mass Storage 7

Printer ROM 6 IR printer 6

Timer ROM 5 CX Extended 5

Take-over ROM 4

CX Extended 3

System ROM 2 2

System ROM 1 1

System ROM 0 0

Upper page 9 Upper page B


1 Lower page 8 2 Lower page A
Upper page D Upper page F
3 Lower page C 4 Lower page E

44
GTO 00 - 14 forward GTO 00 - 14 backwards
Bx xx Bx xx
RAM ROM RAM ROM

LBL 01 LBL 01 LBL 01 LBL 01

B2 00 2 bytes 1B2 080 B2 B0 2 bytes 1B2 003


B2 10 3 bytes 1B2 081 B2 C0 3 bytes 1B2 004
B2 20 4 bytes 1B2 082 .. .. .. .. ..
.. .. .. .. .. B2 F0 6 bytes 1B2 007
B2 60 8 bytes 1B2 086 B2 81 7 bytes 1B2 008
B2 01 9 bytes 1B2 087 B2 91 8 bytes 1B2 009
B2 11 10 bytes 1B2 088 B2 A1 9 bytes 1B2 00A
.. .. .. .. .. B2 B1 10 bytes 1B2 00B
B2 5F 112 bytes 1B2 0EE .. .. .. .. ..
B2 6F 113 bytes 1B2 0EF B2 DF 108 bytes 1B2 06E
B2 EF 109 bytes 1B2 06F

1011 llll 0bbb rrrr 1011 llll 1bbb rrrr

1011 is B 1011 is B
llll is label# + 1 llll is label# + 1
0 is forward 1 is backwards
bbb is number of bytes bbb is number of bytes
rrrr is number of registers rrrr is number of registers

45
GTO 15 - 99 forward GTO 15 - 99 backwards
Dx xx xx Dx xx xx
RAM ROM RAM ROM

LBL 15 LBL 15 LBL 15 LBL 15

D4 00 0F 2 bytes 1D0 002 08F D6 00 8F 3 bytes 1D0 003 00F


D6 00 0F 3 bytes 1D0 003 08F D8 00 8F 4 bytes 1D0 004 00F
D8 00 0F 4 bytes 1D0 004 08F DA 00 8F 5 bytes 1D0 005 00F
DA 00 0F 5 bytes 1D0 005 08F DC 00 8F 6 bytes 1D0 006 00F
DC 00 0F 6 bytes 1D0 006 08F D0 01 8F 7 bytes 1D0 007 00F
D0 01 0F 7 bytes 1D0 007 08F D2 01 8F 8 bytes 1D0 008 00F
D2 01 0F 8 bytes 1D0 008 08F D4 01 8F 9 bytes 1D0 009 00F
.. .. .. .. .. .. .. .. .. .. .. .. .. ..

1101 bbbr rrrr rrrr 0lll llll 1101 bbbr rrrr rrrr 1lll llll

1101 is D 1101 is D
bbb is number of bytes bbb is number of bytes
r rrrr rrrr is number of registers r rrrr rrrr is number of registers
0 is forward 1 is backwards
lll llll is label# lll llll is label#

46
XEQ forward XEQ backwards
Ex xx xx Ex xx xx
RAM ROM RAM ROM

LBL 01 LBL 01 LBL 01 LBL 01

E4 00 02 3 bytes 1E0 002 082 E4 00 82 3 bytes 1E0 002 002


E6 00 02 4 bytes 1E0 003 082 E6 00 82 4 bytes 1E0 003 002
E8 00 02 5 bytes 1E0 004 082 E8 00 82 5 bytes 1E0 004 002
EA 00 02 6 bytes 1E0 005 082 EA 00 82 6 bytes 1E0 005 002
EC 00 02 7 bytes 1E0 006 082 EC 00 82 7 bytes 1E0 006 002
E0 01 02 8 bytes 1E0 007 082 E0 01 82 8 bytes 1E0 007 002
.. .. .. .. .. .. .. .. .. .. .. .. .. ..

1110 bbbr rrrr rrrr 0lll llll 1110 bbbr rrrr rrrr 1lll llll

1110 is E 1110 is E
bbb is number of bytes bbb is number of bytes
r rrrr rrrr is number of registers r rrrr rrrr is number of registers
0 is forwards 1 is backwards
lll llll is label# lll llll is label#

47
XROM # END
Ax xx Cx xx xx
1010 0ddd ddff ffff 1100 bbbr rrrr rrrr 0ne0 1pc1

1010 is A 1100 is C
ddd dd is device# bbb is number of bytes to next END
ff ffff is function# r rrrr rrrr is number of registers to next END
n is 0=NOT PRIVATE or 1=PRIVATE
e is 0=END or 1=.END.
p is 0=packed or 1=unpacked
c is 0=compiled or 1=not c

XEQ & GTO IND


AE xx
1010 1110 trrr rrrr

1010 1110 is AE
t is 0=GTO IND or 1=XEQ IND
rrr rrrr is the ”indirect” register

48
alpha XEQ alpha
Fx xx xx .... xx 1E Fx xx xx ....
1111 nnnn aabb ccdd .... eeff 0001 1110 1111 nnnn aabb ccdd .... eeff

1111 is F 0001 1110 1111 er 1E F


nnnn is number of letters in the text nnnn is number of letters in the text
aabb ccdd .... eeff is the text aabb ccdd .... eeff is the text

GTO alpha LBL alpha


1D Fx xx xx .... Cx xx Fx xx xx xx .. xx
0001 1101 1111 nnnn aabb ccdd .... eeff 1010 bbbr rrrr rrrr 1111 nnnn kkkk aabb ccdd .... eeff

0001 1101 1111 is 1D F 1010 is C


nnnn is number of letters in the text bbb is number of bytes to next LBL
aabb ccdd .... eeff is the text r rrrr rrrr is number of registers to next LBL
1111 is F
nnnn is number of letters + 1
kkkk is assign keycode
aabb ccdd .... eeff
is the text

49
HP41 CX mainframe functions ID = 004

000 CAT 064 + 086 LOG 108 HMS 130 GRAD 152 VIEW
001 GTO.. 065 - 087 10↑X 109 HR 131 ENTER↑ 153 ΣREG
002 DEL 066 * 088 E↑X-1 110 RND 132 STOP 154 ASTO
003 COPY 067 / 089 SIN 111 OCT 133 RTN 155 ARCL
004 CLP 068 X<Y? 090 COS 112 CLΣ 134 BEEP 156 FIX
005 R/S 069 X>Y? 091 TAN 113 X<>Y 135 CLA 157 SCI
006 SIZE 070 X<=Y? 092 ASIN 114 PI 136 ASHF 158 ENG
007 BST 071 Σ+ 093 ACOS 115 CLST 137 PSE 159 TONE
008 SST 072 Σ- 094 ATAN 116 R↑ 138 CLRG
009 ON 073 HMS+ 095 DEC 117 RDN 139 AOFF 168 SF
010 PACK 074 HMS- 096 1/X 118 LASTX 140 AON 169 CF
075 MOD 097 ABS 119 CLX 141 OFF 170 FS?C
014 SHIFT 076 % 098 FACT 120 X=Y? 142 PROMPT 171 FC?C
015 ASN 077 %CH 099 X≠0? 121 X≠Y? 143 ADV 172 FS?
078 P-R 100 X>0? 122 SIGN 144 RCL 173 FC?
079 R-P 101 LNX+1 123 X<=0? 145 STO
080 LN 102 X<0? 124 MEAN 146 ST+ 206 X<>
081 X↑2 103 X=0? 125 SDEV 147 ST- 207 LBL
082 SQRT 104 INT 126 AVIEW 148 ST* 208 GTO
083 Y↑X 105 FRC 127 CLD 149 ST/
084 CHS 106 D-R 128 DEG 150 ISG 224 XEQ
085 E↑X 107 R-D 129 RAD 151 DSE

50
MODULE ID’s The colors represent the way I have the module: green = actual module; purple, black & blue = programable module; orange = digital

XROM# MODULE NoVRAM CLONIX41 .ROM ZEPROM

1 MATH 1 41Z ROM LAND NAV

2 STAT 1 EXTENDED IL

3 SURVEYING 1 SANDMATH

4 FINANCIAL 1 CMT-200 ES-41 CO-OP ROM


5 STANDARD PANAME ZENROM 1 BLDROM RAMBOX32

6 CIRCUITS 1 TOMSROM ALPHA ROM


7 STRC ANAL X STD HEPAX HEPAX 1D
8 STRESS SANDBOX SKWIDBC

9 CCD MODULE PANAME HOME MGMT ZEP PROGRAM TEST

10 PPC ROM GAMES KOELN3 FORECAST1 FORECASTER2 ERAMCO MLDL AUTO/DUP


11 CCD MODULE REAL ESTATE

12 MACHINE
13 THERMAL SANDBOX TOOLBOX ROM

14 NAVIGATION PROTOPARIO

15 PETROLEUM MC-EPROM DISASM4C

16 PETROLEUM SIMPLEX

17 PLOTTER NFCROM BLDROM2

18 PLOTTER AECROM AECROM

19 STRC ANAL X SECURITIES X AVIATION X CLIN LAB X Advantage Application ROM HP-IL DIAG

20 PPC ROM

21 DEL.SERV.1 SCHENK MODUL KOELN4 SEA KING MK5 ML-IDC BG/UG IDC MLROM DATA LOGGER HYDRACOMP ASSEMBLER 3

22 ADVANTAGE HP-IL DEVEL ML-IDC

23 EXTENDED I/O

24 ADVANTAGE HP-IL DEVEL

25 X FUNCTIONS

26 TIME MODULE
27 WAND DAVID ASSEM PROFISET L

28 HP-IL

29 PRINTER I/R PRINTER IL-PRINTER

30 CARD READER
31 DEL.SERV.1 SCHENK MODUL KOELN4 RAMBOXII SUP-R-ROM DATA LOGGER PROFISET U CO-OP ROM

NO ID Laitram XQ2 PRINTERSERVICE FORTH 41 Service-C Service-CX TEST ROM


51
XROM # HEADER MCODE USERCODE

01 02 02 03 04
MATH 1 STAT 1 DAVID ASSEM SURVEYING 1 CMT-200
00 MATH 1C 39 SSS 00 STAT 1B 00 DAVID-ASSEM 00 SURVEY 1B 00 -DIGIO 1B
01 MATRIX 40 ASA 01 ΣBSTAT 01 ASSM 01 TRAV 01 ANDXY
02 SIMEQ 41 SAA 02 ΣBSTG 02 BEG/END 02 COMP 02 A>BUF
03 VCOL 42 SAS 03 *BE 03 BUF>REG 03 TRANSIT 03 BUF>AX
04 VMAT 43 SSA 04 ΣMMTUG 04 DISTOA 04 ADJUST 04 BUF>TX
05 PVT 44 TRANS 05 ΣMMTGD 05 REG>BUF 05 INTER 05 BUF>X
06 DET 45 *FN 06 *MT 06 CURVE 06 BUFX
07 INV 07 *MD 07 HORIZ 07 FLAG>X
08 EDIT 08 ΣAOVONE 08 VERT 08 FLAG<>X
09 SOLVE 09 ΣANOTWO 09 RESECT 09 HS
10 SOL 10 ΣANOCOV 10 PREAREA 10 IA
11 POLY 11 ΣLIN 11 ENDVOL 11 IAX
12 ROOTS 12 ΣEXP 12 PIT 12 IBUFX
13 INTG 13 ΣLOGVONE 13 COORD 13 ICX
14 DIFEQ 14 ΣPOW 14 ACRES 14 IDX
15 FOUR 15 ΣPOLYP 15 AZ 15 INTMASK
16 C+ 16 ΣPOLYC 16 BRG 16 INTOFF
17 C- 17 ΣMLRXY 17 CIR 17 INTON
18 C* 18 ΣMLRXYZ 18 INVERSE 18 INVOFF
19 C/ 19 ΣPTST 19 NE 19 INVON
20 MAGZ 20 ΣTSTAT 20 TS 20 MATCHI
21 CINV 21 ΣXSQEV 21 *AO 21 NOTX
22 Z
N 22 ΣEEFXSQ 22 *
 22 OA
23 Z
 1/N 23 ΣCTKK 23 *BR 23 OBUFX
24 e
N 24 ΣCTKKK 24 *DL 24 OCX
25 LNZ 25 ΣSPEAR 25 *DS 25 ODX
26 a
Z 26 ΣNORMD 26 *EL 26 ORXY
27 LOGZ 27 ΣCHISQD 27 *H 27 PT>X
28 Z
W 28 *a 28 *S 28 RATE
29 Z
 1/W 29 *b 29 *A1 29 STROBE
30 SINZ 30 *B1 30 TIMEI
31 COSZ 31 *IN 31 TIMEO
32 TANZ 32 *YN 32 TX>BUF
33 SINH 33 VIEWIN
34 COSH 34 WAITIX
35 TANH 35 X>A
36 ASINH 36 X>BUF
37 ACISH 37 X>FLAG
38 ATANH 38 X>PT
52
XROM # HEADER MCODE USERCODE

04 04 05 05
CO-OP MODULE FINANCIAL 1 PANAME ZENROM 1

00 SUN 39 PBEG 00 FINANCE 1D 00 -ADV PRT 3C 39 -82905 FCNS 00 ZENROM 3B


01 ALM 1 40 PRCL 01 MONEY 01 AID 40 BELL 01 CLMM
02 AV 41 ASWC 02 IRR 02 ID 41 CHARSET 02 CLXM
03 GRID 42 BSWC 03 MIRR 03 FINDAID 42 FFEED 03 CODE
04 SETS 43 ATOC 04 NPV 04 OUTAX 43 FORMLEN 04 DECODE
05 BS 44 ASWB 05 AMORT 05 OUTCR 44 GRAPHX 05 LASTP
06 KC 45 PRTPT 06 SL 06 OUTLF 45 MODE 06 MCED
07 KD 46 F2 07 DB 07 OUTLFX 46 SKIPOFF 07 NOP
08 TS 47 ACRE 08 SOYD 08 OUTSPX 47 SKIPON 08 NRCLM
09 BB 48 STASTO 09 BOND 09 OUTXB 48 TEXTLEN 09 NRCLX
10 BD 49 RST 10 DAYS 10 OUTYBX 49 VSPAC 10 NSTOM
11 DD 50 STAKE 11 *N 11 OUTa 50 -PLOT FCNS 11 RAMED
12 PERPO 51 PRTC 12 *I 12 OUTaX 51 AXIS 12 TOGF
13 CR 52 RPS 13 *PV 13 RCLSEL 52 BACKSP
14 TR 53 RS 14 *PMT 14 -82163 FCNS 53 BACKSPX
15 SS 54 RPR 15 *FV 15 CLEAR 54 BOX
16 COORTR 55 RR 16 *IRR 16 CLEARO 55 COLOR
17 PINV 56 Z 17 *MIRR 17 CSRDN 56 *CSIZE
18 SSSTO 57 PPP 18 *NPV 18 CSRHX 57 *DRAW
19 PNO 58 NEXTN 19 *AMORT 19 CSRL 58 *HOME
20 TMS 20 *SL 20 CSROFF 59 *LABEL
21 T41 21 *DB 21 CSRON 60 *LDIR
22 PP 22 *SOYD 22 CSRR 61 *LTYPE
23 IN 23 *PRC 23 CSRVX 62 *MOVE
24 CX 24 *YLD 24 CSRUP 63 *PLREGX
25 TRASTO 25 *DAYS 25 CTYPE
26 PTRA 26 *BGN 26 HOME
27 NEXTNO 27 *SIZE 27 SCRLDN
28 RECALL 28 *DATA 28 SCRLUP
29 RMM 29 *DATA1 29 SCRLX
30 REM 30 *OUT 30 XYTAB
31 INV 31 *TGL 31 -82162 FCNS
32 ATB 32 *TGL1 32 CLBUF
33 BTA 33 *Y/N 33 8BIT
34 BAZ 34 ESCAPE
35 DMS 35 PARSE
36 T 36 STATUS
37 TRA 37 TABCOL
38 POB 38 UNPARSE
53
XROM # HEADER MCODE USERCODE

05 06 07
STANDARD CIRCUIT 1 HEPAX

00 STRD 1A 39 FF 00 CIR ANL 1A 39 STUBO= 00 -HEPAX 1D 39 PRIVATE


01 CLSTK 40 HEX 01 GNAP 40 STUBS= 01 HAPPCHR 40 CLRAM
02 1 41 FIN 02 *J 41 PV 02 HAPPREC 41 CODE
03 2 42 ROOT 03 PHASE 42 P
V 03 HARCLRC 42 COPYROM
04 3 43 LIN 04 H<F>dB 43 PVdB 04 HASROOM 43 DECODE
05 4 44 EXP 05 H<F> 44 V2/V1 05 HCLFL 44 DECODYX
06 5 45 LOG 06 GM= 45 V2/1dB 06 HRFLAS 45 DISASM
07 6 46 POW 07 R= 46 V2/V1 07 HCRFLD 46 HEPAX
08 7 47 INIT 08 L= 47 PI 08 HDELCRH 47 HEPAXA
09 8 48 CSUB 09 C= 48 P
I 09 HDELREC 48 HEXEDIT
10 9 49 CADD 10 LNAP 49 PIdB 10 HEPDIR 49 HPROMPT
11 0 50 CDIV 11 RS 50 I2/I1 11 HEPDIRX 50 RAMTOG
12 STACK 51 CMULT 12 RP 51 I2/1dB 12 HEPROOM 51 READROM
13 E
 52 UV 13 CS 52 I2/I1 13 HFLSIZE 52 WRTROM
14 RDWN 53 CRD 14 CP 53 PZIN 14 HGETA 53 XF
15 SWAP 54 Q 15 LS 54 P
ZIN 15 HGETK 54 XFA
16 RUP 55 10 16 LP 55 ZIN 16 HGETR
17 PL 56 SH 17 TF 56 ZIN 17 HGETREC
18 MI 57 DL 18 GY 57 PP2/P1 18 HGETRX
19 MU 58 S 19 LCS 58 P2/P1 19 HGETX
20 DI 59 HT 20 LCP 59 ALL 20 HINSCHR
21 CLR 60 DB 21 LINE 60 *AN 21 HINSREC
22 CHSN 61 PH 22 STUBO 61 *MAT* 22 HPOSFL
23 ST 62 DH 23 STUBS 62 *C* 23 HPURFL
24 RC 63 P 24 ICIS 63 *C+ 24 HRCLPT
25 LSTK 25 VCIS 25 HRCLPTA
26 CLNDR 26 RS= 26 HREADFL
27 WORDS 27 LS= 27 HRENAME
28 LTTR 28 CS= 28 HSAVEA
29 DESPEL 29 LCS= 29 HSAVEK
30 TEACH 30 LINE= 30 HSAVEP
31 AGN 31 ICIS= 31 HSAVER
32 TRY 32 VCIS= 32 HSAVERX
33 YES 33 TF= 33 HSAVEX
34 + 34 GY= 34 HSEC
35 - 35 RP= 35 HSEKPT
36 * 36 LP= 36 HSEKPTA
37 / 37 CP= 37 HUNSEC
38 RNDM 38 LCP= 38 HWRTFL
54
XROM # HEADER MCODE USERCODE

07 08 09 09
STRC ANAL X STRESS PANAME CCD

00 STRCTA 1B 00 STRESS 1B 00 RDRAW 39 RGINIT 00 -W&W CCD A 39 R>R?


01 SECTION 01 SIMPLE 01 RESET 40 RGNb 01 B? 40 RMAXAB
02 SIMPLE 02 CANT 02 REVLF 41 RGORD 02 CAS 41 RNRM
03 CANT 03 FIXED 03 REVLFX 42 RGXTR 03 CLB 42 RSUM
04 FIXED 04 PROPPED 04 RMOVE 43 RGSUM 04 RNDM 43 SUM
05 PROPPED 05 SPAN 05 SETORG 44 RGVIEW 05 SAS 44 SUMAB
06 SPAN 06 NSPAN 06 -UTILITIES 45 SAVERGX 06 SEED 45 SWAP
07 NSPAN 07 FIXL 07 /MOD 46 SIZE? 07 SORT 46 YC+C
08 FIXL 08 FIXL 08 AD-LC 47 SORT 08 -ARR FNS 47 -HEX FNS
09 FIXR 09 MOMENTS 09 ALENG 48 STO>L 09 >C+ 48 1CMP
10 MOMENTS 10 COLUMN 10 ANUM 49 SUB$ 10 >R+ 49 2CMP
11 SETTLE 11 SECTION 11 ANUMDEL 50 TF55 11 ?IJ 50 AND
12 CFRAME 12 MOHR 12 APPX 51 VKEYS 12 ?IJA 51 bC?
13 VECTOR 13 DELTA 13 AROT 52 WRTEM 13 C<>C 52 bS?
14 SIZE? 14 REC 14 ATOXL 53 X=NN? 14 C>+ 53 Cb
15 SZ? 15 SODER 15 ATOXR 54 X NN? 15 C>- 54 NOT
16 ATANY/X 16 VECTOR 16 ATOXX 55 X<NN? 16 CMAXAB 55 OR
17 BEAM 17 SIZE? 17 BLDPT 56 X<=NN? 17 CNRM 56 R<
18 *B 18 ATANY/X 18 BRKPT 57 X>NN? 18 CSUM 57 R>
19 *AI 19 BEAM 19 CHFLAG 58 X>=NN? 19 DIM 58 S<
20 *L1 20 *B 20 CLINC 59 X<>F 20 FNRM 59 S>
21 *P1 21 *AI 21 COLPT 60 XTOAL 21 IJ= 60 Sb
22 *M1 22 *LI 22 GETRGX 61 XTOAR 22 IJ=A 61 UNS
23 *W1 23 *L 23 LC-AD 62 Y/N 23 M+ 62 WSIZE
24 *P 24 *P1 24 LINPT 63 YTOAX 24 M- 63 XOR
25 *M 25 *P 25 NOP 25 M*
26 *L 26 *M1 26 OUT 26 M*M
27 *W 27 *M 27 POSA 27 M/
28 *W1 28 PSIZE 28 MAX
29 *W 29 READEM 29 MAXAB
30 *ROS 30 RG 30 MDIM
31 *MO 31 RG+- 31 MIN
32 *COL 32 RG* 32 MOVE
33 RG/ 33 PIV
34 RG+Y 34 R-PR
35 RG*Y 35 R-QR
36 RG/Y 36 R<>R
37 RGAX 37 R>+
38 RGCOPY 38 R>-
55
XROM # HEADER MCODE USERCODE

09 09 10 10 10
HOME MGMT ZEP PROG GAMES FORECAST 1 FORECASTER 2

00 HOME MN 1A 00 -ZEP PROG 00 GAMES 1A 00 *FORECASTER 39 BW 00 FORECASTER2


01 BUDGET 01 ADDBSW 01 BAGELS 01 START 40 QLST 01 START
02 TRAVEL 02 ADDMCF 02 BIOR 02 EDIT 41 OUT 02 CS
03 STOCKS 03 ADDUCF 03 BIOF 03 UP 42 ACXR 03 EDIT
04 FINANCE 04 BLANK? 04 CRAPS 04 LS 04 UP
05 BAL 05 BNKSW? 05 HANG 05 FC 05 LS
06 IRA 06 BURNUC 06 PINBALL 06 CS 06 FC
07 INS 07 BURNWD 07 SWAR 07 MR 07 CA
08 CHECK 08 CHKSUM 08 SUBHUNT 08 T1 08 PS
09 HOME 09 COMPUC 09 BOOM 09 T2 09 TF
10 BUY? 10 COPYPG 10 INI 10 TL 10 DFC
11 STORE 11 CPXYZ 11 P 11 C1 11 PT
12 RELOAD 12 DECHEX 12 SIZE? 12 C2 12 RC
13 CL 13 ENABLEP 13 RNDM 13 C3 13 WC
14 * 14 ENABLES 14 RNDMW 14 SB 14 TL
15 *0 15 FRSPC? 15 DS 15 SS
16 *e 16 HEXDEC 16 SS 16 DS
17 N 17 ILBURN 17 SZ 17 SB
18 *I 18 ILSAVE 18 CC 18 BX
19 PV 19 INIT 19 *ASTRO 19 SZ
20 PMT 20 INITP 20 JD 20 C1
21 FV 21 INITPG 21 CD 21 C2
22 *J 22 PB01 22 DBD 22 MS
23 *H 23 PGX=Y? 23 DAD 23 FCA
24 PRGMLN 24 DOW 24 FCO
25 READWD 25 DOCY 25 S
26 REBURN 26 DOLY 26 EN
27 RRBURN 27 DLIST 27 PPV
28 SB01 28 PREC 28 PSS
29 UCBURN 29 EQ-H 29 FT
30 RISE 30 PP
31 SET 31 NFT
32 ANG 32 GINT
33 LMT
34 ST
35 UT
36 GST
37 LST
38 FW
56
XROM # HEADER MCODE USERCODE

10 11 11
PPC CCD REAL ESTATE

00 C PPC 1981 39 SU 00 -I/O FNS 39 SAVEB 00 REAL EST 1B 39 R


01 MK 40 NH 01 ABSP 40 SAVEK 01 $ 40 CH
02 1K 41 HN 02 ACAXY 41 SORTFL 02 N 41 *EQ
03 +K 42 BL 03 ACLX 03 *I 42 *RT
04 F? 43 FL 04 ARCLE 04 PV 43 OUT
05 LF 44 BI 05 ARCLH 05 PMT 44 SIZE?
06 CK 45 IP 06 ARCLI 06 FV 45 START
07 VA 46 PS 07 CLA- 07 12* 46 CLK
08 UD 47 T1 08 F/E 08 12/
09 PK 48 MS 09 INPT 09 BEG/END
10 A? 49 IF 10 PMTA 10 LIST
11 DC 50 CB 11 PMTH 11 CLFIN
12 ML 51 RT 12 PMTK 12 AMORT
13 RF 52 PD 13 PRAXY 13 NPV
14 Σ? 53 DP 14 PRL 14 IRR
15 S? 54 QR 15 VIEWH 15 MIRR
16 C? 55 2D 16 XTOAH 16 DEPR
17 DT 56 SX 17 -ADV FNS 17 IPA
18 AD 57 RX 18 A+ 18 GPMT
19 XE 58 OM 19 A+B 19 WRAP
20 HD 59 PA 20 A- 20 SUMMARY
21 ΣC 60 GE 21 A-A 21 EQ
22 LB 61 Ab 22 DCD 22 RENT
23 L- 62 E? 23 PC<>RTN 23 *N
24 -B 63 FI 24 PC>X 24 I*
25 XD 25 PEEKB 25 *PV
26 VM 26 PEEKR 26 *PMT
27 EX 27 PHD 27 *FV
28 MT 28 PLNG 28 *AMORT
29 DS 29 POKEB 29 *AMT
30 VS 30 POKER 30 *SL
31 EP 31 PPLNG 31 *SOYD
32 TN 32 X>PC 32 *DB
33 CX 33 X>RTN 33 *NPV
34 CU 34 XR>RTN 34 *IRR
35 CD 35 -XF/M FNS 35 *MIRR
36 VK 36 GETB 36 CALC
37 AL 37 GETK 37 SALE
38 NC 38 MRGK 38 Y
57
XROM # HEADER MCODE USERCODE

12 13 14 15
MACHINE THERMAL NAVIGATION PETROLEUM
00 MACHINE 1A 00 THRML 1A 00 NAVIG 1B 39 SIGHT 00 PETROL 1A 39 BW
01 CAM 01 KWONG 01 NA 40 RM 01 Z 40 CBW
02 HAR 02 IDEAL 02 *NA 41 DR 02 CG 41 UW
03 CYC 03 POLYTRP 03 STAR 42 *DR 03 CCG 42 CUW
04 PAR 04 ISNFLOW 04 *STAR 43 GCPOS 04 BG 43 CPSAT
05 DWECC 05 FLOW 05 SUN 44 *GCPOS 05 CBG 44 CFR
06 GEN4BAR 06 FLOW2 06 *SUN 45 GC 06 UG 45 CCFR
07 4BAR 07 H2O 07 *SUNL 46 *GC 07 CUG
08 CRANK 08 Re 08 *SUNU 47 GCPLAN 08 TcPc
09 GEAR 09 ENERGY 09 MOON 48 *GCPLAN 09 CTcPc
10 SPUR 10 HEATEX 10 *MOON 49 GCPLOT 10 CCWA
11 INV 11 A0 11 *MOONU 50 *GCPLOT 11 PROP
12 SPRING 12 E0 12 *MOONL 51 DSPP2 12 W0
13 MOTION 13 ACNT 13 VENUS 52 LOTOL 13 COMP
14 COORD 14 ECNT 14 *VENUS 53 *LOTOL 14 SOUR
15 POINTS 15 APAR 15 P 54 DSPL 15 IN
16 3POINTS 16 EPAR 16 MARS 55 DSPLO 16 CGASG
17 FCON 17 APRC 17 *MARS 56 RLPOS 17 CTPC
18 BCON 18 W1
18 EPRC 18 JUPITER 57 *RLPOS
19 INI 19 CHV
19 ACRS 19 *JUPIT 58 RL
20 *O 20 CCB
20 ECRS 20 SATURN 59 *RL
21 *IN 21 W2
21 BLKBODY 21 *SATUR 60 *M/a
22 +360
22 EbL 22 SRT 61 *ec 22 W3
23 *OUT
23 UNIT? 23 *SRT 23 CO
24 KEY
24 SZ? 24 JD 24 CCOb
25 INPUT 25 D+T 25 CCO
26 OUTPUT 26 LBRYZX 26 COS
27 KEY 27 ZYXdHA 27 W4
28 -SI 28 DSPHAd 28 W5
29 SI- 29 *IN 29 BO
30 *IN1 30 CBOb
31 DMT 31 CBO
32 DMS 32 CBT
33 HR 33 UO
34 *T 34 CUOd
35 FA 35 CUOb
36 GST 36 CUO
37 BODY 37 CW
38 *BODY 38 CCW
58
XROM # HEADER MCODE USERCODE

16 17 18 19
PETROLEUM PLOTTER PLOTTER CLINICAL LAB X
00 RS 39 OUT 00 -PLOTTER 1A- 00 -PLOTTER 2A- 00 CLINLAB 1A 39 *PR
01 CRSb 40 INK 01 CLIPUU 01 PCLBUF 01 BEERS 40 *R
02 Pb 41 INU 02 CSIZE 02 PDIR 02 BRA 41 *SE
03 CPb 42 CZ 03 CSIZEO 03 PRCL 03 CREAT 42 *SR
04 BT 43 CCR 04 DGTIZE 04 NEWPLOT 04 BLOOD 43 *TC
05 CBTb 44 CON 05 DRAW 05 REPLOT 05 O2SAT 44 *X
06 RSW 45 INCON 06 FRAME 06 PLINIT 06 RCI 45 *XE
07 CRSW 07 GCLEAR 07 PLTUXY 07 TBV 46 *YN
08 CT 08 IDRAW 08 PLANOT 08 THY
09 CCT 09 IMOVE 09 Y? 09 RADCORR
10 CCTb 10 IPLOT 10 X? 10 RIA
11 TITLE 11 LABEL 11 BC 11 BSTAT
12 W6 12 LDIR 12 BCA 12 CHI
13 Y/N? 13 LIMIT 13 BCAA 13 TSTAT
14 ITcPc 14 LOCATD 14 BCCKSM 14 TDIST
15 STDTP 15 LOCATE 15 BCO 15 *
16 SEPTP 16 LORG 16 BCP 16 *0
17 T 17 LTYPE 17 BCREGX 17 *1
18 P 18 LTYPEO 18 BCSIZE 18 *2
19 GASG 19 LXAXIS 19 BCX 19 *3
20 OILG 20 LYAXIS 20 BCXS 20 *4
21 IRS 21 MOVE 21 *5
22 RSI 22 PEN 22 *6
23 %NACL 23 PENDN 23 *7
24 %POR 24 PENUP 24 *8
25 W7 25 PINIT 25 *9
26 W8 26 PLOT 26 *A
27 W9 27 PLREGX 27 *C
28 X0 28 RATIO 28 *CO
29 X1 29 RPLOT 29 *CR
30 X2 30 SCALE 30 *CS
31 X3 31 SETGU 31 *F
32 X4 32 SETUU 32 *H
33 X5 33 TICLEN 33 *HG
34 X6 34 UNCLIP 34 *IN
35 X7 35 WHERE 35 *I125
36 X8 36 XAXIS 36 *I131
37 OUTK 37 XAXISO 37 *P
38 OUTU 38 YAXIS 38 *Pt
59
XROM # HEADER MCODE USERCODE

19 19 19 20 21
SECURITIES X STRC ANAL X AVIATION PPC SEA KING MK5

00 SECUR 1B 00 STRCTB 1A 00 AVIATIN 1A 00 SR 39 BM 00 STAC ROM


01 BONDS 01 COLE 01 FM 01 Sb 40 BR 01 TONE
02 STOCK 02 COLSI 02 WB 02 LR 41 BX 02 CPA
03 CALL 03 TBEAM 03 CG 03 SD 42 BΣ 03 L
04 OPTION 04 ABEAM 04 CLWB 04 SK 43 BC 04 K
05 HEDGING 05 CONCOL 05 PLAN 05 RD 44 UR 05 DEPTH
06 BFLY 06 ITCON 06 DP 06 RK 45 PR 06 ANGLE
07 BULL 07 IRCON 07 WA 07 BV 46 S1 07 UPD
08 CSEC 08 PERF 08 CV 47 S3 08 TURN
09 CBOND 09 FLY 09 IG 48 S2 09 HYFIX
10 SPEC 10 CLIMB 10 SV 49 NS 10 UPDATE
11 PRC 11 CRUISE 11 FD 50 NR 11 HARM
12 YLD 12 360+ 12 FR 51 PO 12 TRACKEX
13 ATY 13 WALT 13 DF 52 Rb 13 ESM
14 ATP 14 DISP 14 NP 53 AM 14 LESM
15 JDAY 15 IFW 15 GN 54 MA 15 COG
16 BEP 16 HCW 16 RN 55 SM 16 VMX
17 *BFLY 17 1VOR 17 BD 56 SE 17 CC
18 DBEP 18 R2 18 TB 57 XL 18 CBY
19 UBEP 19 2VOR 19 PM 58 VF 19 CST
20 CONV 20 TAS 20 CM 20 CP
21 *T 21 CJ 21 CW
22 JC 22 CF
23 CA 23 BRF
24 LG 24 CLKEYS
25 HA 25 LOGBOOK
26 HS 26 BATHY
27 CP 27 N
28 MP 28 P
29 HP 29 M
30 BA 30 IF
31 M2
32 M3
33 M1
34 BE
35 M4
36 M5
37 IR
38 DR
60
XROM # HEADER MCODE USERCODE

21 21 22
ASSEMBLER 3 DEL.SERV.1 ADVANTAGE

00 ASSEMBLER3 39 SXL 00 U 00 -ADV CONV A 39 MRC-


01 AND 40 SXR 01 K 01 BININ 40 MRIJ
02 OR 41 X>$ 02 L 02 BINVIEW 41 MRIJA
03 APPFN 42 X+Y 03 RN 03 OCTIN 42 MRR+
04 ASSEM 43 Y-X 04 DI 04 OCTVIEW 43 MRR-
05 DISASM 44 1CMP 05 CC 05 HEXIN 44 MS
06 A>X 45 2CMP 06 2 06 HEXVIEW 45 MSC+
07 X>A 46 1-D 07 Q 07 NOT 46 MSIJ
08 BCD>BIN 47 2-D 08 P 08 AND 47 MSIJA
09 BIN>BCD 48 3-D 09 M1 09 OR 48 MSR+
10 CF55 49 4-D 10 RP 10 XOR 49 MSWAP
11 SF55 11 3 11 ROTXY 50 MSYS
12 CLROM 12 O 12 BIT? 51 PIV
13 CODE 13 9 13 -ADV MTRX 52 R<>R
14 DECODE 14 7 14 C<>C 53 R>R?
15 COMPILE 15 QF 15 CMAXAB 54 RMAXAB
16 COPYROM 16 3C 16 CNRM 55 RNRM
17 CVIEW 17 TC 17 CSUM 56 RSUM
18 VIEWA 18 SP 18 DIM? 57 SUM
19 DISS 19 11 19 FNRM 58 SUMAB
20 GETPC 20 W 20 I+ 59 TRNPS
21 PUTPC 21 CLFL 21 I- 60 YC+C
22 HEXKB 22 CRFLD 22 J+ 61 MEDIT
23 INSBYTE 23 GETX 23 J- 62 CMEDIT
24 RCLBYTE 24 SAVEX 24 M*M 63 MP
25 STOBYTE 25 SEEKPTA 25 MAT*
26 LOADP 26 V 26 MAT+
27 MLDL? 27 CL 27 MAT-
28 NEXTFN 28 S 28 MAT/
29 NRCL 29 MATDIM
30 NSTO 30 MAX
31 PCWRT 31 MAXAB
32 REG>ROM 32 MDET
33 ROM>REG 33 MIN
34 ROM>X 34 MINV
35 X>ROM 35 MMOVE
36 ROM? 36 MNAME?
37 RXL 37 MR
38 RXR 38 MRC+
61
XROM # HEADER MCODE USERCODE

22 23 23
HP-IL DEVEL CLINICAL LAB X EXTENDED I/O

00 -HP-IL DEV 39 PRFRMS 00 -X MASS 1A 39 OUTXB 00 -X MASS 1A 39 OUTXB


01 A-BUF 40 REN 01 COPYFL 40 OUTP 01 COPYFL 40 OUTP
02 A=BUF? 41 RFRM 02 DIRX 41 POLL 02 DIRX 41 POLL
03 A=BUFX? 42 RG-BUFX 03 FLLENG 42 POLLD 03 FLLENG 42 POLLD
04 AAD 43 RG=BUF? 04 FLTYPE 43 POLLE 04 FLTYPE 43 POLLE
05 AAU 44 RREG 05 MCOPY 44 POLLUNC 05 MCOPY 44 POLLUNC
06 AIPT 45 SAI 06 MCOPYPV 45 RCLSEL 06 MCOPYPV 45 RCLSEL
07 BSIZE? 46 SCOPE 07 MVERIFY 46 SRQ? 07 MVERIFY 46 SRQ?
08 BSIZEX 47 SDA 08 -X EXT FCN 47 STAT 08 -X EXT FNS 47 STAT
09 BUF-AX 48 SDC 09 ALENGIO 48 XFER 09 ALENGIO 48 XFER
10 BUF-RGX 49 SDI 10 ANUMDEL 49 XFERC 10 ANUMDEL 49 XFERC
11 BUF-XA 50 SF33 11 ATOXL 50 XFERCL 11 ATOXL 50 XFERCL
12 BUF-XB 51 SRQR? 12 ATOXR 51 XFERE 12 ATOXR 51 XFERE
13 CF33 52 SST 13 ATOXX 52 XFERN 13 ATOXX 52 XFERN
14 CMD 53 TAD 14 XTOAL 53 -ADV CTL FN 14 XTOAL 53 -ADV CTL FN
15 DDL 54 TCT 15 XTOAR 54 ADROFF 15 XTOAR 54 ADROFF
16 DDT 55 UNL 16 X<>FIO 55 ADRON 16 X<>FIO 55 ADRON
17 FRAV? 56 UNT 17 YTOAX 56 DDL 17 YTOAX 56 DDL
18 FRNS? 57 WFRM 18 -X CTL FNS 57 DDT 18 -X CTL FNS 57 DDT
19 GET 58 WREG 19 AID 58 LAD 19 AID 58 LAD
20 GTL 59 X-BUF 20 CLRDEV 59 SEND 20 CLRDEV 59 SEND
21 IDY 60 X=BUF? 21 CLRLOOP 60 TAD 21 CLRLOOP 60 TAD
22 IFCR? 61 X<>FLAG 22 DEVL 61 UNL 22 DEVL 61 UNL
23 IFC 23 DEVT 62 UNT 23 DEVT 62 UNT
24 INBIN 24 FINDAID 24 FINDAID
25 INBUFX 25 ID 25 ID
26 LAD 26 INAC 26 INAC
27 LPD 27 INACL 27 INACL
28 MIPT 28 INAE 28 INAE
29 MONITOR 29 INAN 29 INAN
30 NRD 30 INXB 30 INXB
31 NRE 31 INP 31 INP
32 ORAV? 32 LOCK 32 LOCK
33 OUTBIN 33 NLOOP 33 NLOOP
34 OUTBINY 34 NOTREM 34 NOTREM
35 OUTBUFX 35 OUTAC 35 OUTAC
36 PT= 36 OUTACL 36 OUTACL
37 PT? 37 OUTAE 37 OUTAE
38 PRBYTES 38 OUTAN 38 OUTAN
62
XROM # HEADER MCODE USERCODE

24 24 25 26
ADVANTAGE HP-IL DEVEL XF TIME

00 MATRX 39 VE 00 --- 00 -EXT FCN 2D 39 SAVER 00 -TIME 2C


01 MATR 40 V- 01 AND 01 ALENG 40 SAVERX 01 ADATE
02 -ADV MATH 41 V+ 02 ASIZE? 02 ANUM 41 SAVEX 02 ALMCAT
03 SOLVE 42 VXY 03 A-XL 03 APPCHR 42 SEEKPT 03 ALMNOW
04 INTEG 43 UV 04 A-XR 04 APPREC 43 SEEKPTA 04 ATIME
05 SILOOP 44 V
 05 A-XX 05 ARCLREC 44 SIZE? 05 ATIME24
06 SIRTN 45 VD 06 BININ 06 AROT 45 STOFLAG 06 CLK12
07 Z
N 46 V* 07 BINVIEW 07 ATOX 46 X<>F 07 CLK24
08 MAGZ 47 TR 08 BIT? 08 CLFL 47 XTOA 08 CLKT
09 e
Z 48 CT 09 HEXIN 09 CLKEYS 48 -CX EXT FCN 09 CLKTD
10 LNZ 49 AIP 10 HEXVIEW 10 CRFLAS 49 ASROOM 10 CLOCK
11 Z
 1/N 50 -ADV TVM 11 NOT 11 CRFLD 50 CLRGX 11 CORRECT
12 SINZ 51 TVM 12 OR 12 DELCHR 51 ED 12 DATE
13 COSZ 52 N 13 OCTIN 13 DELREC 52 EMDIRX 13 DATE+
14 TANZ 53 PV 14 OCTVIEW 14 EMDIR 53 EMROOM 14 DDAYS
15 a
Z 54 PMT 15 ROMCHKX 15 FLSIZE 54 GETKEYX 15 DMY
16 LOGZ 55 FV 16 ROTXY 16 GETAS 55 RESZFL 16 DOW
17 Z
 1/W 56 *I 17 XOR 17 GETKEY 56 ΣREG? 17 MDY
18 Z
W 18 X-AL 18 GETP 57 X=NN? 18 RCLAF
19 C+ 19 X-AR 19 GETR 58 X≠NN? 19 RCLSW
20 C- 20 Y-AX 20 GETREC 59 X<NN? 20 RUNSW
21 CINV 21 GETRX 60 X<=NN? 21 SETAF
22 C* 22 GETSUB 61 X>NN? 22 SETDATE
23 C/ 23 GETX 62 X>=NN? 23 SETIME
24 PLY 24 INSCHR 24 SETSW
25 RTS 25 INSREC 25 STOPSW
26 DIFEQ 26 PASN 26 SW
27 CFIT 27 PCLPS 27 T+X
28 AΣ 28 POSA 28 TIME
29 DΣ 29 POSFL 29 XYZALM
30 BFIT 30 PSIZE 30 -CX TIME
31 FIT 31 PURFL 31 CLALMA
32 Y?X 32 RCLFLAG 32 CLALMX
33 SZ? 33 RCLPT 33 CLRALMS
34 VC 34 RCLPTA 34 RCLALM
35 CROSS 35 REGMOVE 35 SWPT
36 VS 36 REGSWAP
37 VR 37 SAVEAS
38 DOT 38 SAVEP
63
XROM # HEADER MCODE USERCODE

27 27 28 29 29
WAND EXT IL HP-IL PRINTER IR PRINTER

00 - WAND 1F - 00 EXTILROM 00 -MASS ST 1H 39 SELECT 00 -PRINTER 2E 00 -PRINTER 3B


01 WNDDTA 01 CLRBUF 01 CREATE 40 STOPIO 01 ACA 01 ACA
02 WNDDTX 02 DIRLEFT 02 DIR 41 TRIGGER 02 ACCHR 02 ACCHR
03 WNDLNK 03 DIRSIZE 03 NEWM 03 ACCOL 03 ACCOL
04 WNDSUB 04 NAMEMED 04 PURGE 04 ACSPEC 04 ACSPEC
05 WNDSCN 05 READBUF 05 READA 05 ACX 05 ACX
06 WNDTST 06 READCAL 06 READK 06 BLDSPEC 06 BLDSPEC
07 READXM 07 READP 07 LIST 07 LIST
08 RECLEFT 08 READR 08 PRA 08 PRA
09 SCOPYFL 09 READRX 09 PRAXIS 09 PRAXIS
10 SCREATE 10 READS 10 PRBUF 10 PRBUF
11 SDIR 11 READSUB 11 PRFLAGS 11 PRFLAGS
12 SNEWM 12 RENAME 12 PRLEYS 12 PRLEYS
13 SWRTA 13 SEC 13 PRP 13 PRP
14 SWRTK 14 SEEKR 14 PRPLOT 14 PRPLOT
15 SWRTP 15 UNSEC 15 PRPLOTP 15 PRPLOTP
16 SWRTPV 16 VERIFY 16 PRREG 16 PRREG
17 SWRTS 17 WRTA 17 PRREGX 17 PRREGX
18 WRTBUFX 18 WRTK 18 PRΣ 18 PRΣ
19 WRTCAL 19 WRTP 19 PRSTK 19 PRSTK
20 WRTXM 20 WRTPV 20 PRX 20 PRX
21 PRINTFCNS 21 WRTR 21 REGPLOT 21 REGPLOT
22 ATOBUFX 22 WRTRX 22 SKPCHR 22 SKPCHR
23 MCLIST 23 WRTS 23 SKPCOL 23 SKPCOL
24 MCPRP 24 ZERO 24 STKPLOT 24 STKPLOT
25 PRTAID 25 — 25 FMT
26 SACA 26 -CTL FNS 26 --
27 X>AR 27 AUTOIO 27 DELAY
28 FINDID 28 MAN
29 INA 29 MAPOFF
30 IND 30 MAPON
31 INSTAT 31 NORM
32 LISTEN 32 PRTOFF
33 LOCAL 33 PRTON
34 MANIO 34 RESETP
35 OUTA 35 STARTU
36 PWRDN 36 STOPU
37 PWRUP 37 TESTP
38 REMOTE 38 TRACE
64
XROM # HEADER MCODE USERCODE

30 31 31 31
CARD READER DEL.SERV.1 RAMBOX32 CO-OP MODULE

00 CARD READER 00 SR 00 -RAMBOX 32 00 CO-OP ROM 39 S2


01 MRG 01 Z 01 BUFLNG? 01 SC 40 S3
02 RDTA 02 US 02 CLLSTFL 02 S 41 S4
03 RDTAX 03 T 03 CLPG 03 BA 42 NN
04 RSUB 04 2C 04 CLRFL 04 TRAVRS 43 ID
05 VER 05 M 05 COPYPG 05 SIDS 44 IE
06 WALL 06 SG 06 CRDIR 06 O 45 IT
07 WDTA 07 6 07 CRFLBUF 07 R 46 LR
08 WDTAX 08 R 08 CRFLDTA 08 LT 47 IR
09 WPRV 09 N 09 CRFLKEY 09 W 48 CURV
10 WSTS 10 5 10 ENDPG 10 RT 49 *D
11 7CLREG 11 I1 11 FNC? 11 DEF-LT 50 AUTO
12 7DSP0 12 1 12 FRBYT? 12 DEF-RT 51 REP
13 7DSP1 13 L1 13 GTBUF 13 ZS 52 PPTS
14 7DSP2 14 X 14 GTKEY 14 ZSL 53 CRIS
15 7DSP3 15 Y 15 GTREG 15 VSLOP
16 7DSP4 16 GTREGX 16 ZSLOP
17 7DSP5 17 GTREGXY 17 STORE
18 7DSP6 18 INITPG 18 SMM
19 7DSP7 19 KEYAS? 19 INC
20 7DSP8 20 LDBUF 20 SEM
21 7DSP9 21 LDKEY 21 Y
22 7DSPI 22 LDPGM 22 MS
23 7DSZ 23 LDREG 23 LOAD
24 7DSZI 24 LDREGX 24 SAVE
25 7ENG 25 LDREGXY 25 PREM
26 7FIX 26 PG? 26 CONTOUR
27 7GSBI 27 PGSUM 27 SEARCH
28 7GTOI 28 PTCT 28 CARD
29 7ISZ 29 READPG 29 K
30 7ISZI 30 SETPRV 30 KT
31 7P<>S 31 UNPTCT 31 KB
32 7PRREG 32 WRTPG 32 N-E
33 7PRSTK 33 XQ>XR 33 S-E
34 7PRTX 34 S-W
35 7RCLΣ 35 N-W
36 7SCI 36 CH
37 ABO
38 S1
65
BUFFER ID’s Bytes pr. function
ID Module Function Bytes Function
1 1 AOFF, AON, etc
2 2 XROM
3 ASTO nn, ARCL nn, etc
4 3 END
5 CCD WSIZE / SEED GTO 15 - GTO 99
6 XEQ 00 - XEQ 99
7 PK PROG RTN GTO A - GTO J
8 4 LBL alpha (+alpha)
9
10 TIME ALARM
11 PKROM1 KEY
12 CMT / HPIL-DEV I/O
13
14

See PK Collection Manual for an updated list

66
System Memory Map © Ángel M. Martin - May 2014
Main Memory Extended Memory
2.4 kB On-line APPCHR - ARCLCHR 4.22 kB Off-line
APPREC - GETREC
ARCLREC
GETBF - SAVEBF
GETKA - SAVEKA
GETP - SAVEP
GETR/X - SAVER/X
GETST - SAVEST
GETSUB
GETX - SAVEX
GETZS - SAVEZS
INSCHR/REC
MRGKA
RCLPT/A - SEEKPT/A

(S)WRTK - READK
(S)WRTP/V - READP
WRTR/X - READR/X
(S)WRTS - READS HGETA - HSAVEA
WRTBUF - READBUF HAPPCHR
WRTCAL - READCAL HAPPREC - HGETREC
(S)WRTA - READA HARCLRC
READSUB READA - WRTA COPY/HGETP - HSAVEP
READCAL - WRTCAL HGETA - HSAVEA
READF - WRTDF HGETK - HSAVEK
READXM - WRTXM
HGETR/X - HSAVER/X
SAVEAS - GETAS
HGETX - HSAVEX
HINSCHR/REC
HRCLPT/A - HSEKPT/A

HP-IL

HREADFL - HWRTFL
READROM - WRTROM

Mass Storage
CX/HP-IL Skwid’s Extensions HEPAX
HEPAX RAM
1 MB Off-line 32 kB On-line

67
System Memory Map © Ángel M. Martin - May 2014
Main RAM ALPHA I/O Area General XM PRGM/DATA/ASCII
7P<>S A<>RG _ _ ARCLBF - ASTOBF CLEM/CLXM GETP - SAVEP
CLMM A<>ST B?/BUF? FLCOPY GETSUB
CLP A>ST/ST>A BF>RGX - RGX>BF RENMFL RSTCHK
CLRAM A>RG - RG>A BF>ST - ST>BF RETPFL XQXM
CLRG/X ABSP BFHD FLDH
CLS AINT/AIP/ARCLI BHEAD FLSIZE
CLST BFLNG PURFL CRFLD
ALENG/X/XY
CLX BRFCL - BFSTO RESZFL CLFL
ANUM/DEL WORKFL
ENTER^ AREV CLB/DELBUF GETR/X - SAVER/X
PCLPS CLRBF GETX - SAVEX
ASHF/X - AROT/X
COPY CRBUF RCLPT/A - SEEKPT/A
LASTX ASWAP/USWAP KACLR GETBF - SAVEBF WRTDF - READF
NRCLX - NSTOY AXEQ? KALNG GETKA - SAVEKA
PC>X - X>PC (L)ATOX - XTOAL KAPCK GETST - SAVEST
PC<>RTN CLA/-/C/? REIDBF GETZS - SAVEZS APPCHR - ARCLCHR
PACK LADEL/X RESZBF MRGKA APPREC - GETREC
PEEKR - POKER LEFT$ - MID$ - RIGHT$ ARCLREC
R - RDN LOW$ - UPR$ ASROOM
RAMED/EDIT M<>N/O/P CRFLAS
REGMOVE/SWAP N<>O/P DELCHR/REC
RCLBM - STOBM O<>P ED
ST>RG - RG>ST POSA GETAS - SAVEAS
ST<>RG _ _ PRESP/FX - POSTSP/ INSCHR/REC
ST>S - S>ST FX POSFL
ST<>S RATOX - XTOA(R) RCLPT/A - SEEKPT/A
(A)STO - (A)RCL REMZER
STOFLAG - RCLFLAG XATOX - ASTOXX
SWAPR YTOAX/ASUB
(P)SIZE
X<>
Main Memory
X<>BM
2.4 kB On-line
X<>F
X<>Y
X<I>Y Extended Memory
4.22 kB Off-line

68
System Memory Map © Ángel M. Martin - May 2014
-HEPAX 1F” XF(A) HEPAX(A) RAMBOX
CLRAM ALENG AND BUFLNG?
CODE ANUM BCAT CLLSTFL
COPYROM AROT BCD-BIN CLPG
DECODE/YX ATOX BIN-BCD CLRFL
DISASM CLEM CTRAST COPYPG
HAPPCHR/REC CLKEYS DELETE CRDIR
HARCLRC CLRGX INSERT CRFLDTA
HASROOM GETKEY NOT CRFLBUF
HCLFL GEYTKEYX OR CRFLKEY
HCRFLAS PASN PGROOM ENDPG
HCRFLD PCLPS PGSUM FNC?
HDELCHR/REC POSA ROTYX FRBYT?
PSIZE SHIFTYX INITPG
HEPDIR/X
RCLFLAG X-$ KEYAS?
HEPROOM REGMOVE X+Y LDPGM
HEXEDIT REGSWAP XOR LDREG/X - GTREG/X
HFLADR RTN? Y-X
HFLSIZE LDREGXY - GTREGXY
SIZE? LDKEY - GTKEY
HFLTYP SREG?
HGETREC LDBUF - GTBUF
STOFLAG PG<>
HINSCHR/REC X#NN? PG?
HPOSFL X<=NN? PGSUM
HPROMPT X<>F PTCT
HPURFL X<NN? PG01/10
HRCLPT/A X=NN? SETPRV
HRENAME X>=NN? UNPTCT
HSAVEA - HGETA X>NN? WRTPG - READPG
HSAVEK - HGETK XTOA XQ>XR
HSAVEP - HGETP XQ>GO
HSAVER/X - HGETR/X XQXM
HSAVEX - HGETX
HSEC
HSEKPT/A RAMBOX
HEPAX RAM 16 kB On-line /
HUNSEC
32 kB On-line 16 kb Off-line
HWRKFL
HWRTFL - HREADFL
PRIVATE
RAMTOG
READROM - WRTROM
RLSRAM

69
System Memory Map © Ángel M. Martin - May 2014

ProfiSET

CLDF RCLST ACHR/REC NFLD? EP=BL? LENG?


CLEM READRAM AFLD NREC? EP=FF? CHKBL
CLPR RENFL ALEN? NUMREC EPROM? ID>ADR
CLRSU RESDF ASRM? OUTCHR/REC PROM REV?
CLSEC RLEFT? A=F? - A<>F? OUTFLD PBL SRV
CRDF RPTDF A<F? - A>F? RCHPT/R CLEAR TYP?
DELFL RSTDF/X A<=F? - A>=F? RESAF CLRN LADEP
DF+/-/*// SETSEC CLAF RFLD COPYBL PRVBL
DPTDF SPTDF CRAF RLEN? IDBL PRVP
EXALL STOALL DCHPT INIT XROMBL/P
RRCPT/REC NAMEBL
EXEM STODF/Y DCHR/REC RSTAF DATE2/5/7/N
EXREG/X STOEM DFLD NEWBL
SCHPT DATI2/4/7/9
EXST DRCPT NEXTBL
STOREG/X SFPT X>DATY
FIND/I EDT PACKBL/KC
STOST SRCPT GETBL - SAVEBL
FLDIR SZ?DF FINDPS ST<>DF REVBL GETF - SAVEF
INIDATA WRTRAM FLEN? SWPREC SLCT CLRS
INIPRGM GCHR/REC SZ?AF SUMBL EPACK
X<>DF/Y
IPTDF GFLD X<>CHR ADR>ID J?
X=DF?
LOADP X<>DF? ICHPT/R ?EOF BL?/A?/1A? L*/-/=
MPTDF X<DF? IFLD BLCAT/X LADEK
RCLALL X<=DF? IRCPT BLF? LADES
RCLDF/X X>DF? IREC CATF? N?
RCLEM X>=DF? MCHPT CATS? PKEY
RCLIDF X=PT? MRCPT ID? PRM
RCLREG/X NAMAF/DF

70
Revision 2.07

April 27th 2015 © Poul Kaarup


71

You might also like