41CX-exclusive mainframe entry points - quantalume - 12-24-2015 01:52 AM
I came across this wiki with the HP 41 mainframe entry points: http://mcode.wikia.com/wiki/Mainframe_entry_points
All of these entry points are in pages 0, 1 and 2. Are any of these exclusive to the CX, or are all of the CX entry points higher up, in pages 3 and 5? I'm interested in knowing where the code resides which is CX-specific but which can't be added to a C or CV with the Time and X functions modules. Would that be page 3?
Thanks,
Dave
RE: 41CX-exclusive mainframe entry points - Ángel Martin - 12-24-2015 08:06 AM
(12-24-2015 01:52 AM)quantalume Wrote: I came across this wiki with the HP 41 mainframe entry points: http://mcode.wikia.com/wiki/Mainframe_entry_points
All of these entry points are in pages 0, 1 and 2. Are any of these exclusive to the CX, or are all of the CX entry points higher up, in pages 3 and 5? I'm interested in knowing where the code resides which is CX-specific but which can't be added to a C or CV with the Time and X functions modules. Would that be page 3?
For the most part those entry points are common to the CX as well. There are some changes made to the CX OS to connect with pages #3 and #5 - this one has two banks to accommodate not only the time module but also additional X-Functions code not present in the XF/M modules.
So yes, as you suspected that's where the code is - which explains why the library#4 concept works on the CX since all the addresses have a fixed location and thus the system calls need not to worry about XFM module locations at all.
Cheers,
'AM
RE: 41CX-exclusive mainframe entry points - Thomas Klemm - 12-28-2015 11:22 PM
(12-28-2015 10:35 PM)Mike (Stgt) Wrote: Is there somewhere an entry point list for the Voyagers?
I tried to identify the code of the HP-15C that is equal or similar to the HP-41C and use the same identifiers as in VASM:
Code:
07341: MP2-10 0056 b=0 w
07343: MP1-10 0530 m=c
07345: MP2-13 0076 b=0 s
07354: MPY110 0016 a=0 w
07357: MPY120 1734 inc pt
07362: MPY130 0456 a=a+b w
07363: MPY140 1142 c=c-1 p
07370: MPY150 0256 ac ex w ***ROUND, SHIFT AND NORMALIZE
07372: MPY160 1376 ? c<>0 s
07376: SHF40 0256 ac ex w
07377: SHF10 1534 pt= 12
07402: NRM10 0356 bc ex w
07403: NRM11 0256 ac ex w
07404: NRM12 1534 pt= 12
07415: NRM30 0336 c=b s
07423: NRM40 1740 rtn
07424: NRM20 0306 c=b x
07431: NRM13 0156 ab ex w
07433: SHF20 1502 ? a<>0 p
07500: 1/X10 0056 b=0 w
07503: 1/X13 0116 c=0 w
07510: X/Y13 0356 bc ex w
07537: DV2-10 0056 b=0 w
07541: DV1-10 0530 m=c
07543: DV2-13 0076 b=0 s
07547: DIV100 0730 c<>m
07554: DIV110 0730 c<>m
07560: DIV15 1456 ? a<b w
07566: DIV120 1534 pt= 12
07571: DIV130 1042 c=c+1 p
07572: DIV140 0616 a=a-b w
07643: SQR10 0056 b=0 w ***SQUARE ROOT
07646: SQR13 0576 a=a+1 s
07650: ERR0 1634 pt= 0
07653: SQR20 0036 a=0 s
07676: SQR30 0756 c=c+c w
07704: SQR50 1616 a sr w
07713: SQR60 1042 c=c+1 p
07714: SQR70 0716 a=a-c w
07723: SQR100 1712 c sr wp
10036: STSCR 0116 c=0 w
10067: RCSCR 0116 c=0 w
10236: ADDONE 0116 c=0 w
10241: SUBONE 0116 c=0 w
10243: SUBON1 1534 pt= 12
10276: SB2-10 1276 c=-c-1 s
10277: AD2-10 0056 b=0 w
10301: AD1-10 0530 m=c
10303: AD2-13 0076 b=0 s
10307: ADD10 1724 dec pt
10323: ADD30 1446 ? a<b x
10325: ADD90 0730 c<>m
10332: ADD90 0730 c<>m
10340: ADD55 0730 c<>m
10344: ADD65 0636 a=a-b s
10347: ADD40 1216 c=-c w
10361: ADD50 1446 ? a<b x
10373: ADD60 0256 ac ex w
10560: LNSUB- 1276 c=-c-1 s
10561: LNSUB 0156 ab ex w
10564: LNSUB1 1616 a sr w
10572: LNSUB2 1046 c=c+1 x
10601: EXP10 0056 b=0 w ***EXP(X)
10604: EXP13 1204 s=0 7
10605: EXP13* 0404 s=0 8
10611: EXP110 0036 a=0 s
10623: EXP130 1724 dec pt
10631: EXP400 0335 ?nc call 11067 LNC20
10634: EXP200 0241 ?nc call 11050 LNC10
10640: EXP120 0156 ab ex w
10644: EXP210 1072 c=c+1 m
10645: EXP220 0616 a=a-b w
10662: EXP240 1534 pt= 12
10664: EXP230 0256 ac ex w
10671: EXP300 0116 c=0 w
10702: EXP700 0156 ab ex w
10704: EXP710 0114 ? s=0 4
10714: EXP720 1214 ? s=0 7
10720: EXP730 0145 ?nc goto 07431 NRM13
10722: EXP410 1042 c=c+1 p
10723: EXP420 0616 a=a-b w
10733: EXP430 0356 bc ex w
10736: EXP500 0356 bc ex w
10737: EXP510 0114 ? s=0 4
10745: EXP570 1334 pt= 13
10750: EXP550 1372 ? c<>0 m
10753: EXP560 1342 ? c<>0 p
10776: EXP600 0156 ab ex w
11013: EXP540 1656 b sr w
11014: EXP530 1176 c=c-1 s
11022: LNAP 0530 m=c
11031: LNAP1 1716 c sr w
11037: LNAP2 0546 a=a+1 x
11047: LNC10* 0356 bc ex w
11050: LNC10 1534 pt= 12
11067: LNC20 0116 c=0 w
11113: LNC30 0620 lc 6
11127: LNCEND 0356 bc ex w
11131: LNC40 0320 lc 3
11146: LNC50 0434 pt= 8
11161: LNC60 0534 pt= 6
11173: LNC70 0134 pt= 4
11202: LNC80 0460 ldi 1463
11206: XY^X 0056 b=0 w
11224: ERR0* 1241 ?nc goto 07650 ERR0
11226: YX12 1346 ? c<>0 x
11231: YX11 1756 a sl w
11246: YX13 0531 ?nc call 24526
11255: YXTEN 0056 b=0 w
11260: YX31 0510 s=1 6
11275: LN10 0056 b=0 w
11300: LN13 0504 s=0 6
11301: LN130 0404 s=0 8
11320: LN140 0016 a=0 w
11326: LN310 1042 c=c+1 p
11327: LN300 0216 b=a w
11332: LN220 1534 pt= 12
11341: LN200 1502 ? a<>0 p
11346: LN210 0730 c<>m
11352: LN1+X2 1171 ?nc call 10236 ADDONE
11372: LN1+X6 1534 pt= 12
11400: LN1+X3 0410 s=1 8
11402: LN1+X8 0524 ? pt= 6
11406: LN1+X7 1046 c=c+1 x
11411: LN320 1616 a sr w
11412: LN330 1176 c=c-1 s
11442: LN460 1616 a sr w
11443: LN430 0356 bc ex w
11444: LN431 0335 ?nc call 11067 LNC20
11461: LN500 0235 ?nc call 11047 LNC10*
11472: LN570 0034 pt= 3
11473: LN520 0611 ?nc call 11542 PMUL
11501: LN410 0356 bc ex w
11503: LN540 1616 a sr w
11505: LN530 1536 ? a<>0 s
11510: LN550 0136 c=0 s
11524: YTOX50 0630 c=m
11525: YTOX60 1376 ? c<>0 s
11541: PMUL1 0456 a=a+b w
11542: PMUL 1142 c=c-1 p
11605: ERRDE 1604 s=0 0
20064: CHK#S 0475 ?nc call 25517
But as you may imagine the list is far from complete.
HTH
Thomas
|