mips

How to write to & read from network card in x86 assembly?

Hi, does anyone know how to gain access to devices such as an ethernet port on a mainboard or on a pci card? Are there special registers? Opcodes? Do I have to make a call to the OS? If so, how? Thanks in advance. ...

Reading in MIPS external file so another file can use it?

Hey all, I'm working on this final thing for my MIPS project and it's deceptively easy. I need to get a procedure (called feed) and let its main driver program use it by reading it in. I know that I'm supposed to use the call code 14 and .globl sym (I think) in order to feed it into the file and have it read it. I just need a basic tut...

Calculate exponents via addition only

We're writing a very simple program to execute on a processor we've built for a class. It doesn't have the capability to multiply or divide. We do however, had support for addition, subtraction, and, or, and branching for loop control (like branch on equal if you are familiar with MIPS). We were thinking a neat program to run on it would...

Why do MIPS operations on unsigned numbers give signed results?

When I try working on unsigned integers in MIPS, the result of every operation I do remains signed (that is, the integers are all in 2's complement), even though every operation I perform is an unsigned one: addu, multu and so fourth... When I print numbers in the range [2^31, 2^32 - 1] I get their 'overflowed' negative value as if they...

Create a Fully-Featured Environment For MIPS Assembly Development

I'm giving a try to MIPS Assembly by reading the MIPS Assembly Language Programming book, but I don't know the tools that are suggested and that are optional. What I need is Tools that are needed What is the best emulator and how to configure it? At the time I just have cross-compiled binutils targeted to mips-elf. I'm using Linux U...

Beginner Errors On When Compiling a MIPS Assembly Source

I'm trying to learn MIPS Assembly by learning MIPS Assembly Language Programming. In the book I have this code(extracted from the page 37 of the book): .data prompt: .asciiz "\n Please Input a Value: " bye: .asciiz "\n Bye!" .globl main .text main: li $v0, 4 la $a0, prompt syscall li $v0, 5 syscall beqz $v0, end m...

How To Build a Hello World For Nintendo 64?

I'm reading MIPS Assembly Language Programming, but now I want to build a simple "game" for Nintendo 64. I want to print a Hello, World to the screen, but someone can help with this. As I don't have nothing to start. I've choose for Nintendo 64 because of my friend told me that it uses MIPS and I've already have the emulator. ...

Hello World Bootloader

I'm learning MIPS Assembly by the book MIPS Assembly Language Programming, but my I've just started learning MIPS because I want to build a MIPS OS, but now as I can see, there isn't many documentation(I that isn't any) talking about boot and these things. Then I'm asking here for someone that have already done this to point me at the ri...

Regular Expressions and Assembly

I know 8086 Assembly and learning MIPS Assembly. Also, I'm learning Regular Expressions, then I want to know: How can I use Regular Expressions on them? ...

Canadian Cross binutils To ARM

I'm using JLime on my HP Jornada 720 that uses a ARM processor. I've already have a cross-compiled gcc for x86(arm-linux-gcc). The idea of what I want to do is very difficult to understand, then take a look at this chart: arm-linux-gcc(at my Ubuntu laptop) -> binutils to run on a ARM processor(targeted to compile mips-elf while on my...

placing words in memory

Hello, I'm using pcspim simulator and my processor is an Intel x86 (little endian) As I understand, the declaration .word -5 should place in memory the following bytes 1111 1011 1111 1111 1111 1111 1111 1111 (little endian). But the simulator pcspim places this word in memory in a big-endian order it means: 1111 1111 1111 1111 1111 ...

How can I print a number larger than 32 bits in mips assembly?

In my mips assembly code, I used the multi instruction to multiply 2 large numbers since the result could not fit in one register. This means that the number is saved in the hi and lo special registers. My problem is how do I print the result of the multiplication. I can access hi and lo and put them in other registers (i.e. $t0, $t1)...

set up a data trigger on physical address

Hi, Do you know any device out there can set up a data trigger on a physical address in MIPS ? I am using FS2 but It can only set up a trigger on virtual address. ...

MIPS function inside a function

I am trying to have the function vbsme call another function called sad... is the following procedure correct about saving the registers and return address?? the caller is supposed to save register $t0-$t7, but where and how should I do that? vbsme: li $v0, 0 # reset $v0 li $v1, 0 # reset $v1 li $t0, 1 # i(row) = 1 ...

MIPS function call with more than four arguments

I understand that whenever I have a function that has more than four arguments in MIPS I should utilize the stack. However in my code below after saving the fifth argument at sw $t0, 4($sp) and do a jal sad, then right at the beginning of the sad function I adjust the stack pointer again to save the $sx registers that is used by the call...

check if a register value is even/odd in MIPS

I tried to do the following: andi $s7, $s6, 0x1 # (i + j) & 1 (to check if it's even) however it generates an error... am I doing something wrong? ...

absolute value in MIPS

Do you have any simple ways to make a value in a register in MIPS as an absolute value? ...

MIPS load word syntax

If I want to load a value from a memory which base address is at $a0 and off set $t2, why can't I do the following: lw $s2, $a1($t2) so what is the equivalent of the expression above? ...

In MIPS, what is HI and LO

I'm reading about division in MIPS and I've found that div Divides $s by $t and stores the quotient in $LO and the remainder in $HI http://www.mrc.uidaho.edu/mrc/people/jff/digital/MIPSir.html And Wikipedia says HI and LO are used to access the multiplier/divider results, accessed by the mfhi (move from high) and mflo com...

strange instruction call in MIPS

I don't have a syscall code in my MIPS instruction, however in the simulator I can see the following: I don't have any of the following code line in my .s li $v0 10 syscall Why is that? It's bothering me as it gives me a bad address in the syscall ...