Compilación y de interrupción

compilación PSIM

0.5 Operadores Común

  • add $r10, $r1, $r2 espectáculor10 = r1+r2
  • addi $r1, $zero, 1000espectáculo0寄存器和立即数1000相加放入r1
  • lw $r0, 8($sp) espectáculoload word sp地址+8 到r0
  • beq $r3, $r9, LABELIndicar branch equalsi son iguales, marca de salto
  • loadCargado de registro de memoria
  • storevolver almacenamiento
  • Matemáticas addi, subi, divi,multi
  • sltIndicar set if less thansi menos de la ejecución
    • slt $d, $rs, $rt
    • slit $d, $rs, 5
  • j LABEL ETIQUETA abordar
  • jr $a0 Registro de direccionamiento
  • jal LABELSalto-uno
    • La corriente de PC + 4 se almacena en el registro $ ra
    • j LABELregreso

por ejemplo

1. Analizar la suma

if(i == j) {
    f = i + j
} else {
    f = i - j
}

compilación

bne $r3, $r4, ELSE # bne——branch not equal
add $r5, $r3, $r4
j EXIT # j——jump
ELSE:
sub $r5, $r3, $r4
EXIT

2. para bucle

sum = 0
for(i = 0; i < 100; i++) {
    sum += i
}

compilación

addi $s3, $zero, 0 # sum = 0
addi $s4, $zero, 0 # i = 0
addi $s5, $zero, 100 # 100
LOOP:
beq $s4, $5, EXIT
add $s3, $s4, $s3
addi $s4, $s4, 1
j LOOP # -16
EXIT:

3. Funciones

  • cuerpo de la función etiqueta --label
  • salto jal-- y enlace (salto y enlace)
  • el paso de parámetros - Pila
# fac(5)
addiu $s0, $0, 5 # 函数参数5存入栈 add immidiate unsigned
sw $s0, $sp # s0写入sp
addi $sp, $sp, -4 # 栈指针指向下一个
jal FACT # 跳转
# 函数体
lw $s0, 4($sp) # 读取参数

4. La función retorna

# 函数体最前面
sw $ra, 0$(sp)
addiu $sp, $sp, -4
lw $t1, 4($sp)
lw $s0, 8($sp)
jr $t1 # 跳转回去

interrupción

Cuando el mundo exterior cambia, la atención se produjo algún tiempo mediante la interrupción de la CPU. Esta vez, el estado ejecutado por la CPU se almacena, se ejecuta el programa de interrupción

  • OS carga cuando se carga el IVT (como el programa de Tipo 01, existen procedimientos de respuesta de interrupción en 0x003)
  • Las alarmas de proceso - ratón, las acciones de respuesta del teclado
  • interrupción de software - el manejo de excepciones lenguaje de alto nivel

Q & A

  • 32 ruta (ISR) sólo cuatro bytes máquina interrumpe, cómo llevar a cabo el procedimiento?
    • Operando las interrupciones del sistema y, a continuación, ejecutar el programa
  • Cómo clave de respuesta de interrupción ruta de acceso al sistema operativo y después de la aplicación, el sistema sabe?
    • Cada teclado es una asignación de dirección
  • Mal? ¿Por qué no acaba de saltar el tratamiento de errores?
    • Ni una sola relación, para reducir el grado de acoplamiento

Supongo que te gusta

Origin www.cnblogs.com/littlepage/p/12526798.html
Recomendado
Clasificación