mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-27 04:52:05 +08:00
59 lines
1.2 KiB
ArmAsm
59 lines
1.2 KiB
ArmAsm
|
// setup a dummy stack and put values in memory 0,1,2,3...n
|
||
|
// then restore registers with pop instruction.
|
||
|
# mach: bfin
|
||
|
|
||
|
.include "testutils.inc"
|
||
|
start
|
||
|
|
||
|
SP += -12;
|
||
|
|
||
|
P1 = SP;
|
||
|
R1 = 0;
|
||
|
P5.L = 0xdead;
|
||
|
SP += -((8+5)*4); // lets move the stack pointer and include the current location. i.e. 5
|
||
|
P4 = (8+6); // 8 data registers and 6 pointer registers are being stored.
|
||
|
LSETUP ( ls0 , le0 ) LC0 = P4;
|
||
|
ls0:
|
||
|
R1 += 1;
|
||
|
le0:
|
||
|
[ P1-- ] = R1;
|
||
|
|
||
|
( R7:0, P5:0 ) = [ SP ++ ];
|
||
|
|
||
|
DBGA ( R0.L , 1 );
|
||
|
DBGA ( R1.L , 2 );
|
||
|
DBGA ( R2.L , 3 );
|
||
|
DBGA ( R3.L , 4 );
|
||
|
DBGA ( R4.L , 5 );
|
||
|
DBGA ( R5.L , 6 );
|
||
|
DBGA ( R6.L , 7 );
|
||
|
DBGA ( R7.L , 8 );
|
||
|
R0 = P0; DBGA ( R0.L , 9 );
|
||
|
R0 = P1; DBGA ( R0.L , 10 );
|
||
|
R0 = P2; DBGA ( R0.L , 11 );
|
||
|
R0 = P3; DBGA ( R0.L , 12 );
|
||
|
R0 = P4; DBGA ( R0.L , 13 );
|
||
|
R0 = P5; DBGA ( R0.L , 14 );
|
||
|
R0 = 1;
|
||
|
|
||
|
[ -- SP ] = ( R7:0, P5:0 );
|
||
|
( R7:0, P5:0 ) = [ SP ++ ];
|
||
|
|
||
|
DBGA ( R0.L , 1 );
|
||
|
DBGA ( R1.L , 2 );
|
||
|
DBGA ( R2.L , 3 );
|
||
|
DBGA ( R3.L , 4 );
|
||
|
DBGA ( R4.L , 5 );
|
||
|
DBGA ( R5.L , 6 );
|
||
|
DBGA ( R6.L , 7 );
|
||
|
DBGA ( R7.L , 8 );
|
||
|
R0 = P0; DBGA ( R0.L , 9 );
|
||
|
R0 = P1; DBGA ( R0.L , 10 );
|
||
|
R0 = P2; DBGA ( R0.L , 11 );
|
||
|
R0 = P3; DBGA ( R0.L , 12 );
|
||
|
R0 = P4; DBGA ( R0.L , 13 );
|
||
|
R0 = P5; DBGA ( R0.L , 14 );
|
||
|
R0 = 1;
|
||
|
|
||
|
pass
|