Problemas de programación en lenguaje c integrado
Necesita aprender en las PC (estándar de llamada al procedimiento del brazo y el pulgar), que es el estándar de llamada al procedimiento del brazo y el pulgar.
Cuando se utilizan en lenguaje C, los registros en lenguaje ensamblador reciben nuevos significados, de la siguiente manera:
Nombre del registro
Reg # APCS Significado
Registro de trabajo R0 a1
Registro de trabajo R1 a2
Registro de trabajo R2 a3
Registro de trabajo R3 a4
R4 v1 debe ser protegido.
Se debe proteger R5 v2
Se debe proteger R6 v3.
Se debe proteger R7 v4
Se debe proteger R8 v5
Se debe proteger R9 v6.
Límite de pila R10 sl
Puntero de trama fp R11
IP R12
Puntero de pila sp R13
R14 registro de conexión lr
Contador de programa informático R15
Al llamar a una función en lenguaje C, el registro de trabajo se utiliza para almacenar parámetros formales. Hay cuatro a1-a4 arriba * * *Es decir, si el número de parámetros formales es menor que cuatro, entonces los parámetros formales se transferirán a estos cuatro registros de trabajo a la vez.
Para este ejemplo, los valores de r0 y r1 en el ensamblaje son los parámetros formales 555 168.
A través de las instrucciones addr0, r0, r 1; el valor en r0 se convierte en el resultado de la suma.
El programa devuelve el valor en a0 (es decir, r0).
Si el lenguaje C incorpora ensamblaje, debe seguir el estándar de ensamblaje AT;t. En este momento, puede especificar el registro utilizado para transferir parámetros formales, llamado registro de entrada, y el registro utilizado para regresar. , llamado registro de salida. Consulte los componentes integrados del brazo para obtener más detalles.