日立評価版コンパイラVer1(秋月で販売)で4バイト引数が使えない?

Copyright(C) 12May2004
coskx 

【1】はじめに

 日立評価版コンパイラVer1では,関数において4バイト引数や,4バイト戻り値が使えないとの情報があります。
もしものことがあると困りますのでチェックした様子をここに残します。
試してみると,そのような現象は起こりませんでした。

【2】long intとintについて試したプログラムとその結果
これは,これで正常な動作でした。 問題なし。

プログラム

#include "h8-01.h"

int test1(long int x)
{
    x&=0xffff;
    return  (int)x;
}

int test2(long int x,long int y)
{
    x+=y;
    x&=0xffff;
    return  (int)x;
}

long int test3(long int x,long int y)
{
    x+=y;
    return x;
}

main()
{
    long int xx=0x12345678L;
    long int xx1=0x10001111L;
    initSCI1(); /*SCI-ch1の初期化*/
    SCI1_printf("%x\n",test1(xx));
    SCI1_printf("%x\n",test2(xx,xx1));
    SCI1_printf("%lx\n",test3(xx,xx1));
}

実行結果
5678
6789
22346789

【2】floatについて試したプログラムとその結果
これは,これで正常な動作でした。 問題なし。
(floatが直接表示できないので,intに変換してから表示しました。)

プログラム

#include "h8-01.h"

float test1(float x)
{
    x*=10.0;
    return x;
}

main()
{
    float x=123.0,y;
    int x1,y1;
    y=test1(x);
    x1=x;
    y1=y;
    initSCI1(); /*SCI-ch1の初期化*/
    SCI1_printf("%d %d\n",x1,y1);
}

実行結果
123 1230