Sie können, wie andere vorgeschlagen haben, einen geeigneten Zeiger deklarieren, zB
%Vor% Beachten Sie, dass ich das Qualifikationsmerkmal volatile
hinzugefügt habe. Dies ist immer dann eine gute Idee, wenn Sie Hardware-Register lesen oder schreiben, da dadurch sichergestellt wird, dass jeder Zugriff, den Sie in Ihrem C-Code ausführen, tatsächlich im generierten Code angezeigt wird.
Normalerweise bevorzuge ich es jedoch, Makros wie dieses zu schreiben
%Vor%und fülle diese mit den entsprechenden gcc asms ein. Ich mag diese besser als direkte Verwendung von Zeigern, weil:
asm
s benutze, weiß ich genau, wie ich auf das Register zugreife. Manchmal sind spezielle Anweisungen oder Adressräume erforderlich, um zu einem Register zu gelangen, das normalerweise nicht vom C-Compiler erzeugt werden kann. In Ihrem Fall sollten die einfachsten Definitionen lauten:
%Vor%Ich glaube, ein Wort der Vorsicht über die Verwendung des Schlüsselwortes volatile ist in Ordnung.
Manchmal (oft), was der Compiler volatil meint, ist nicht das, was der Programmierer beabsichtigt hat (und umgekehrt). Es empfiehlt sich, den resultierenden Maschinencode immer zu überprüfen, wenn das flüchtige Schlüsselwort verwendet wird, um Überraschungen zu vermeiden.
Für weitere Referenzen siehe z. Ссылка
Ich weiß nicht, was LCDCW1 bedeutet, sondern um in eine konstante Adresse zu schreiben:
%Vor%Passen Sie es an (Ihr Register ist möglicherweise nicht int.).