max_payne hat geschrieben:also ich versteh das programm überhaupt nicht....
bitte wo programmiert man noch so?
z.b. in der htlstp/dept. elektronik
handelt sich hierbei um die programmierung von µCs, wovon ich zwar auch nicht wirklich ein freund bin, aber mich trotzdem damit abmühen muss.
alles kann ich dir auch nicht sagen, ich versuch mich mal, wo ichs weis
Assembler:
- Code: Alles auswählen
ANFG: MOV SP,#80H ;
CLR RI ; setzt das RI-bit auf 0
HLOOP: MOV R2,#00H ;
MOV DPTR,#TAB ;
LADE: MOV A,R2 ;
MOVC A,@A+DPTR ;
CALL WAITOUT ;aufruf von unterprogramm WAITOUT
INC R2 ;R2 um eins inkrementieren
CJNE R2,#20D,LADE ;falls R2!=525 springt er nach LADE
JNB RI,HLOOP ;falls RI=0x0 springt er nach HLOOP
LJMP UEXIT ;sprung nach UEXIT
;
;
;****************************************
;* *
;* UNTERPROGRAMM *
;* *
;* TABELLENPARAMETER FUER FARBE UND *
;* ZEIT WIRD IM REGISTER A UEBERGEBEN *
;* UPRO GIBT ENTSPRECHENDE FARBE MIT *
;* GEWUENSCHTER ZEIT AUF PERIPHERIE AUS *
;****************************************
;
ORG 0200H ;
WAITOUT: MOV R3,A ;
ANL A,#0FCH ;hat was mit AND-Logik zu tun, denke, das wird bitweise mit AND verknüpft
MOV P1,A ;
MOV A,R3 ;
ANL A,#03H ;
JNZ WAIT ;
MOV A,P4 ;
;
WAIT: ;
MOV R4,#HIGH(NUL5) ;
X1: MOV R5,#LOW (NUL5) ;
DEC R5 ; R5 um eins dekrementiern
NOP ; null-operation
PUSH 00 ;
POP 00 ;
CJNE R5,#00,$-6 ; überprüft R5 auf 0, falls R5!=0 führt er den jump-befehl "$-6" aus. was mit $-6 gemeint ist, weis ich jedoch auch nicht, vllt 6 anweisungen nach oben
DJNZ R4,X1 ; springt nach X1 falls (R4-1)==0
DEC A ;dekrementiert A
JNZ X1 ;
RET ; springt dahin zurück, wo die funktion aufgerufen wurde
END
zum C programm kann ich nicht viel sagen...