Red de conocimiento informático - Descarga de software - El siguiente segmento del programa C es (I = 0; I<20;i++) x[i]=a[i]*b[i]

El siguiente segmento del programa C es (I = 0; I<20;i++) x[i]=a[i]*b[i]

Canción interna 20

Área agregada, código, solo lectura

Ingresar

MOV R1, # 0;i

MOV R2, = A; a[ i ]

MOV R3, = B; b[ i ]

MOV·R4, = X[ i ]

Repetir

LDR R5, [R2]

LDR R6, [R3]

MUL R0, R5, R6; a[ i ]*b[ i ]< / p>

STR R0,[R4];X[i]= a[i]*b[i], donde X[i] solo almacena los 32 bits inferiores del resultado.

Agregar R1, R1, #1; i++

Agregar R2, R2, #4; [Cuarto aniversario de la reunión de R2]

Agregar R3, R3, # 4; [R3+4]

Agregar R4, R4, # 4; [Cuarto aniversario de la reunión de R4]

CMP R1, #N

Confidencial documento CC Duplicado

LDR·R4

STR R0,[R4]

Aquí

Región Espacio de datos, Datos, Lectura y Escritura

DCD 000000000000000000000000

DCD 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

x DCD 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Fin

Este es un código ARM donde x[i] solo almacena los 32 bits inferiores del resultado.