view tools/regs.pl @ 894:989bdd85e8af

a little better zfill
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 06 Apr 2014 16:02:30 +0900
parents e60c3d8dadd6
children
line wrap: on
line source

# mips .mask pattern

@regs = (28,31,16);
@regs = (31,28,23,22,21,20,19,18,17,16);
@regs = (21,20);

@regs = (31,28);
@fregs = (20..31);

$mask = 0;
$count = 1;
grep($mask |= (1<<($_)),@regs);
grep($count += $_?1:0 ,@regs);

$fmask = 0;
$fcount = 1;
grep($fmask |= (1<<($_)),@fregs);
grep($fcount += $_?1:0 ,@fregs);

# count のルールは良く分からないね。カウントじゃないみたいだな。
#  やっぱりregister saveのoffsetみたいだね  (gcc  によると)
#

printf(".mask\t%x,%d\n",$mask,-$count*4);
printf(".fmask\t%x,%d\n",$fmask,-$fcount*4);

# cprestore
#   input variable?
#   call するサブルーチンの整数の引数の数か?