Questions tagged [sparc]

SPARC(Scalable Processor Architecture) Sun Microsystems's specific CPU.

SPARC is a RISC instruction set architecture (ISA) developed by Sun Microsystems (now merged into Oracle), introduced in mid-1987.

SPARC hardware often runs Solaris, the Unix operating system, but other OSes run on SPARC hardware, and runs on more than just SPARC hardware.

SPARC doesn't allow unaligned loads, so SIGBUS (bus error) faults are a common problem when porting C or C++ to SPARC from x86 (for example).

In assembly, SPARC's 32 architectural registers are a sliding window onto a virtual register file. The save instruction that slides the window might or might not spill to memory, depending on whether the CPU microarchitecture is out of registers when it runs.

287 questions
1
vote
1 answer

sparc assembly load and store

Hi I have been looking online all over and my book just doesn't explain enough regarding how the load instructions work for Sparc assembly. ldsb - load signed byte ldub - load unsigned byte ldsh - load signed half word Lduh - load unsigned half…
1
vote
1 answer

Assembly Code If then statement

Everything in my code is functioning up until the 3 rows of exclamation marks. It prints out the fibonacci sequence up until the limit that the user inputs is where the sequence will stop. But after the 3 rows of exclamation marks i want it to print…
Selena Gomez
  • 69
  • 1
  • 7
1
vote
2 answers

Unable to Install Sipp in solaris sparc 5.10

I am trying to install SIPp on solaris sparc 5.10. when I am firing a "make" command, it is giving me an error. lake42.rice.iit.edu]/> make make: Fatal error in reader: Makefile, line 22: Unexpected end of line seen I am stuck at this point and not…
user268409
  • 11
  • 2
1
vote
1 answer

SUNWspro compiled file - detect verison of compiler

I have a file, compiled by SUNWspro (Sun pro complier) for SPARC/Solaris. How can I detect version of compiler used to build this binary?
osgx
  • 90,338
  • 53
  • 357
  • 513
1
vote
2 answers

Unable to compile T1 Architecture and Simulation modelling tool

First of, I am very new to this. I am trying to compile the T1 Architecture and Simulation modelling tool (http://www.oracle.com/technetwork/systems/opensparc/opensparc-t1-page-1444609.html), using Sun Studio 12.3 as compiler on Solaris 10 with…
user3285014
  • 319
  • 1
  • 3
  • 12
1
vote
0 answers

Incoming array values into local registers?

If I have something that looks like this: void func (unsigned long arr[]) { } In assembly, how do I get the values in the arr[0] and arr[1] into local registers and pass arr back out? This is what I tried: func: save %sp, -(92 + 8) & -8, %sp …
user2378481
  • 789
  • 1
  • 9
  • 17
1
vote
1 answer

Call vs. JMPL in SPARC

What is the difference between Call and JMPL in SPARC? I know that both instructions can be used to implement function calls. I also want to know how the return mechanism gets affected depending on the choice of Call or JMPL. I know that if we use…
user3185252
  • 85
  • 1
  • 5
1
vote
2 answers

C code calling assembly: infinite loop

I'm testing a simple assembly function (SPARC). The function is below and should take two parameters, x and *str, and count the number of times x occurs in *str. The function is, however, resulting in an infinite loop. I'm using C to call the…
vaindil
  • 7,536
  • 21
  • 68
  • 127
1
vote
2 answers

right shift arithmetic and hexadecimal numbers

set 0x8675309F, %o1 sra %o1, 16, %o1 can someone please explain what sra is supposed to do here, i know it is the right shift arithmetic but what does it do in this instruction exactly. also i know how to convert hex numbers to decimal and from…
notamathwiz
  • 225
  • 1
  • 5
  • 14
1
vote
1 answer

Building FIPS module on sparc 64bit solaris 9

Building the FIPS module on sparc 64-bit is generating a 32-bit binary. The following message is in the output when "./config" is invoked: WARNING! If you wish to build 64-bit library, then you have to invoke './Configure…
Pratibha
  • 1,730
  • 7
  • 27
  • 46
1
vote
0 answers

Is a single double load faster than two loads

I working with a SPARC V8 processor which is connected to memory with a 32-Bit data bus. From the SPARC architecture manual V8, I have learned, that there are instructions to load / store a single 32-Bit register (word), but also instructions to…
1
vote
0 answers

Threading performance degradation on Solaris 11 (sparc) using C++11 with GCC 4.8.0 and multiple threads

I created a simple program to measure thread performance. I ripped out portions of a larger program in order to illustrate my point. Hopefully it's not too terrible to read. Here is the program: #include #include #include…
BillK
  • 53
  • 4
1
vote
1 answer

cmp and subcc/others in assembly

SPARC assembly has a cmp instruction, which compares two numbers (using subtraction, if I understand correctly). It also has subcc, addcc, andcc, and others. What is the difference between comparing two numbers using cmp and setting condition codes…
vaindil
  • 7,536
  • 21
  • 68
  • 127
1
vote
1 answer

DBX core dump on sparc64 and stack trace in/out registers

Suppose I have these functions void foo(int a, int b, int c); void bar(int d); void start(); And I get a core dump which looks something like this foo(, , , ) bar(,
Kizaru
  • 2,443
  • 3
  • 24
  • 39
1
vote
1 answer

Assembly language st and ld

I have converted a c program into an assembly program and am trying to simplify the code: .global Func1 Func1: save %sp, -112, %sp !st %i0, [%fp+68] !st %i1, [%fp+72] !ld [%fp+68], %o0 !ld [%fp+72], %o1 call Func2, 0 nop mov %o0, %g1 mov %g1,…
Dillon Burton
  • 363
  • 6
  • 16