El siguiente segmento del programa C es (I = 0; I<20;i++) x[i]=a[i]*b[i]
Á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.