Reading Gauche/vm/insn/NUMADDI


Top / Reading Gauche / vm / insn / NUMADDI

NUMADDI

NUMADDI num

説明

VAL0レジスタの値に定数整数 num を加算してVAL0レジスタにセットする。

定数整数 num に使えるのは 2^20(-524287〜524287)の範囲である。
これを超える定数整数はCONSTを利用してコンパイルされる。
命令と値を1ワード(32bit)に収められるため、命令ワード数を少なくできるメリットがある。

使用例

gosh> (disasm (lambda (x) (+ x 1)))

; 0 LREF0 ; x

; 1 NUMADDI(1) ; (+ x 1)

; 2 RET

cf. 2^20 の範囲外の整数を加算する場合

gosh> (disasm (lambda (x) (+ x 1000000)))

; 0 LREF0-PUSH ; x

; 1 CONST 1000000

; 3 NUMADD2 ; (+ x 1000000)

; 4 RET

関連項目

コメント

コメントはありません。 コメント/Reading Gauche/vm/insn/NUMADDI?

お名前:

MENU

now: 1

リンク


最新の20件
2018-09-03 2018-05-09 2017-09-29 2017-01-10 2016-12-11 2016-10-04 2016-08-14 2016-06-05 2016-05-29 2016-04-15 2015-12-28 2013-02-25 2013-02-21 2013-02-20 2013-02-12 2013-02-11 2013-02-10
最新の20件
2010-02-01 2010-01-31 2010-01-30 2010-01-29 2010-01-16

Counter: 2023, today: 1, yesterday: 0

リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS

Last-modified: 2008-05-29 (木) 01:51:37 (3770d);  Modified by mona
PukiWiki 1.4.6 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji
Powered by PHP 5.2.17
HTML convert time to 0.035 sec.