view tools/regs.pl @ 935:7672a37e7545 default tip

Raspbery PI ARM support begin
author kono
date Sat, 24 Dec 2016 03:02:57 +0000
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 するサブルーチンの整数の引数の数か?