![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: hey Wiz: would you happen to have source code in vax macro assembly that converts input ascii string of a floating point to .f_floating format. The Answer is : There are numerous RTL routines for converting between text and various floating point formats, all useable from any language. Here is one example coded in MACRO32: .TITLE Text2F_FLOAT .PSECT data,RD,WRT,NOEXE f_val: .FLOAT exten: .BYTE ; extension bits return string: .ASCID /123.456/ .PSECT code,RD,NOWRT,EXE .ENTRY Start,^M<> PUSHAB exten ; optional extension bits argument PUSHL #0 ; flags all clear (default) PUSHL #0 ; ignore scale factor PUSHL #0 ; digits in fraction (unnecessary) PUSHAF f_val ; return F_FLOAT value PUSHAB string ; input text string CALLS #6, G^OTS$CVT_T_F RET .END Start or, minimally: .TITLE Text2F_FLOAT .PSECT data,RD,WRT,NOEXE f_val: .FLOAT string: .ASCID /123.456/ .PSECT code,RD,NOWRT,EXE .ENTRY Start,^M<> PUSHAF f_val ; return F_FLOAT value PUSHAB string ; input text string CALLS #2, G^OTS$CVT_T_F RET .END Start See: OpenVMS RTL General Purpose (OTS$) Manual Order Number: AA--PV6HD--TK
|