countersince January 6, 2001X68000 LIBRARYEnglish
更新日: 2023 年 10 月 26 日
X68000 LIBRARY > 資料室 > FE ファンクションコールリファレンス > V > __VAL

__VAL

FE ファンクションコール名

__VAL

FE ファンクションコール番号

$FE20

機能

文字列を 64bit 浮動小数点数に変換する

入力

a0.l: 文字列の先頭

出力

d0d1.d:64bit 浮動小数点数

d2.l:(先頭が '&' でないとき)65535=64bit 浮動小数点数をオーバーフローなしで int に変換できる ,0= それ以外

d3.l:(先頭が '&' でないとき)d2.l==65535 のとき 64bit 浮動小数点数を int に変換した値

a0.l: 変換された文字列の直後('\0' とは限らない)

フラグ

cs: エラーあり ,cs+mi: 文法エラー ,cs+vs: オーバーフロー

解説

先頭の '\t' と ' ' を読み飛ばす

"&B" または "&b" で始まっているときは続きを 2 進数とみなして __STOB で 32bit 符号なし整数に変換してから __LTOD で 64bit 浮動小数点数に変換する

"&O" または "&o" で始まっているときは続きを 8 進数とみなして __STOO で 32bit 符号なし整数に変換してから __LTOD で 64bit 浮動小数点数に変換する

"&H" または "&h" で始まっているときは続きを 16 進数とみなして __STOH で 32bit 符号なし整数に変換してから __LTOD で 64bit 浮動小数点数に変換する

それ以外は __STOD と同じ