Forum Informatyczne WebElite.pl
Odwoływanie się w C do asemblera - Wersja do druku

+- Forum Informatyczne WebElite.pl (https://www.webelite.pl)
+-- Dział: # Technika komputerowa (https://www.webelite.pl/forumdisplay.php?fid=10)
+--- Dział: Programowanie (https://www.webelite.pl/forumdisplay.php?fid=35)
+---- Dział: C/C++ (https://www.webelite.pl/forumdisplay.php?fid=81)
+---- Wątek: Odwoływanie się w C do asemblera (/showthread.php?tid=4295)



Odwoływanie się w C do asemblera - rwolos - 31-05-2015

Cześć,
Wykonuje projekt testu mikroprocesora mini2240 z silnikiem arm v4. Chcę odczytać wartości rejestrów
r0-r7 w C i w tym celu dowołuje się w następujący sposób:
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>

#define TAB_LEN 8

int TABCOMPUTE(char*,char,char);
char wartosci_poczatkowe[TAB_LEN];

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmpLine, double nShowCmd)
{

wartosci_poczatkowe[0] = 1;
wartosci_poczatkowe[1] = 1;
wartosci_poczatkowe[2] = 1;
wartosci_poczatkowe[3] = 1;
wartosci_poczatkowe[4] = 1;
wartosci_poczatkowe[5] = 1;
wartosci_poczatkowe[6] = 1;
wartosci_poczatkowe[7] = 1;



wyniki[0] = TABCOMPUTE(wartosci_poczatkowe,1,0);
wyniki[1] = TABCOMPUTE(wartosci_poczatkowe,1,1);
wyniki[2] = TABCOMPUTE(wartosci_poczatkowe,1,2);
wyniki[3] = TABCOMPUTE(wartosci_poczatkowe,1,3);
wyniki[4] = TABCOMPUTE(wartosci_poczatkowe,1,4);
wyniki[5] = TABCOMPUTE(wartosci_poczatkowe,1,5);
wyniki[6] = TABCOMPUTE(wartosci_poczatkowe,1,6);
wyniki[7] = TABCOMPUTE(wartosci_poczatkowe,1,7);
i potem mam wypisanie wyświetlenie wyników z którego wynika, że odwołuje się do innych rejestrów 3 przypadkowo w trafiam ale i tak są na nie właściwych miejscach. W jaki sposób znaleźć lokalizację rejestrów od r0-r7?
Za pomoc oferuję nagrodę Smile


RE: Odwoływanie się w C do asemblera - jarex_67 - 29-08-2017

Spróbuj tutaj jest fajne szkolenie http://geek-on.pl Smile