740837 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

さすらいのプログラマ

Power 64bit test

■test64.c
#include<stdio.h>

long long testsub();

int main(int argc, char **argv) {
  long long a;

  a = testsub();

  printf("%16llX\n", a);

  return 0;
}


■testsub.s
        .file   "testsub.s"
        .set    r0, 0
        .set    SP, 1
        .set    r3, 3
        .set    r4, 4
        .set    r5, 5
        .set    r6, 6

        .globl  .testsub3[PR]

        .csect  .testsub3[PR]

        stu     SP, -64(SP)
        st      r3, 88(SP)
        st      r4, 92(SP)
        st      r5, 96(SP)
        st      r6, 100(SP)

        addi    r3, 0, 0x1122;
        addis   r3, r3, 0x3344;

        rldicr  r3, r3, 32, 31

        ori     r3, r3, 0x5566;
        oris    r3, r3, 0x7788;

        l       r4, 92(SP)
        l       r5, 96(SP)
        l       r6, 100(SP)
        cal     SP, 64(SP)

        bcr     20, 0


■compile
  as -a64 -o testsub.o testsub.s
  cc -q64 -o test64 test64.c testsub.o


■execute
AIX64@testuser:/home/testuser # ./test64
3344112277885566
AIX64@testuser:/home/testuser #



r3~r6の保存は不要です。また、保存先は適当です。(^^;

戻る


Copyright (c) 1997-2019 Rakuten, Inc. All Rights Reserved.