MIPS assembly language learning

first of all:

Next_a: bne $v0, 'a', next_b #In turn, determine if the character is a, b, c, ..., A, B, C, ..., 1, 2, 3, ..., 9, 0. If yes, the corresponding string is output, jump to main, and the next input and judgment. If not, output '*', jump to main, and make the next input and judgment.

Li $v0, 4 #下同, no longer repeat

La $a0, a

Syscall

j main

.asciiz

Indicates that a string is output with "" a newline character.

.data

Defining variables

a: .asciiz "Alpha".

equal:

String a=“Alpha ”;

MIPS assembler design

Purpose

1. Master the debugging technology of QTSPIM

2. Understand the correspondence between MIPS assembly language and machine language.

3. Master the MIPS assembler design

4. Understand the relationship between C language statements and assembly instructions

5. Familiar with common MIPS assembly instructions

6. Master the memory image of the program

Experimental task

The following pseudo code is implemented by the assembler: the shift instruction is required to implement the multiplication and division operation.

Int main()

{ int K, Y

Int Z[50]

Y = 56;

For(k=0;k“50;k++)

Z[K] = Y - 16 * ( K / 4 + 210)

}

Assembler source design

algorithm design

.data

# Define user data segment

Z: .space 200 .text

#defined user program segment

Main:

#分配K, Y allocate registers and assign initial values

#分配Array Z[K] allocation register

#calculate Y - 16 * ( K / 4 + 210) and store the result in a register

#Write the result in the above register to Z[K]

Done:

Li $v0,10

Syscall

Source code

.data #Define user data segments

z: .space 200

.text

Main:

La $s0,z #$s0=addrz

Li $t0,0 #$s1=k=0

Li $t1,56 #$s2=y=56

Loop:

slTI $t2, $t0, 50 #Judge whether k is at 50

Beq $t2,$0,done #when k is greater than or equal to 50, jump

Srl $t3, $t0, 2 #k/4

Addi $t3,$t3,210 #k/4+210

Sll $t3, $t3, 4 #16*(k/4+210)

Sub $t3,$t1,$t3 #y-16*(k/4+210)

Sw $t3,0($s0) #write into z[k]

Addi $s0, $s0, 4 #address shift one bit

Addi $t0,$t0,1 #kplus 1

j loop #循环

Done:

Li $v0 10

Syscall

Impeller Blade

An impeller is a rotating component of a centrifugal pump that accelerates fluid outward from the center of rotation, thus transferring energy from the motor that drives the pump to the fluid being pumped. The velocity achieved by the impeller transfers into pressure when the outward movement of the fluid is confined by the pump casing. An impeller is usually a short cylinder with an open inlet (called an eye) to accept incoming fluid, vanes to push the fluid radially, and a splined, keyed, or threaded bore to accept a drive shaft.

Impeller Blade,Nuclear Pump Impeller,Impeller Fan Axial,Motor Impeller Fan

Shenyang Zhicheng Heavy Machinery Manufacturing Co., Ltd. , https://www.zhichengmachinery.com

Posted on