Précédent   Forum du club des développeurs et IT Pro > Autres langages > Assembleur > Autres architectures
Autres architectures Toutes les autres architectures (PIC, MIPS, ARM, 68K, Z80...) et leurs outils
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 13/12/2011, 03h40   #1
nodoubtman
Invité de passage
 
Homme Marc
REception, electronique, musique.. informatique...
Inscription : novembre 2011
Messages : 3
Détails du profil
Informations personnelles :
Nom : Homme Marc
Localisation : Canada

Informations professionnelles :
Activité : REception, electronique, musique.. informatique...
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : novembre 2011
Messages : 3
Points : 0
Points : 0
Par défaut Boucle pour la fonction main

Bonjour !

Je me présente : je m'appelle Marc et je viens de Montréal, au Canada. J'ai un petit souci :-( je voudrais faire une boucle à l'infini en assembleur pour la fonction main. ... j'aimerais avoir votre aide.

voici le code :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
 
; { main ; function begin
	BCF STATUS, RP0
	CLRF main_1_brightest
	BSF STATUS, RP0
	BSF gbl_option_reg,7
label268438975
	CALL is_night_00000
	MOVF CompTempVarRet504, F
	BTFSC STATUS,Z
	GOTO	label268438979
	MOVLW 0x70
	BSF STATUS, RP0
	MOVWF gbl_osccon
	CLRF gbl_trisio
	BCF STATUS, RP0
	CLRF main_1_si
label268438984
	MOVLW 0x08
	SUBWF main_1_si, W
	BTFSC STATUS,C
	GOTO	label268438985
	CLRF main_1_alpha
label268438988
	MOVLW 0x80
	SUBWF main_1_alpha, W
	BTFSC STATUS,C
	GOTO	label268438989
	MOVLW LOW(gbl_sequence+D'0')
	MOVWF FSR
	MOVF main_1_si, W
	ADDWF FSR, F
	MOVLW 0x07
	ANDWF INDF, W
	MOVWF gbl_gpio
	CLRF main_1_i
label268438994
	MOVLW 0x80
	SUBWF main_1_i, W
	BTFSC STATUS,C
	GOTO	label268438995
	MOVF main_1_alpha, W
	XORWF main_1_i, W
	BTFSC STATUS,Z
	CLRF gbl_gpio
	INCF main_1_i, F
	GOTO	label268438994
label268438995
	MOVLW LOW(gbl_sequence+D'0')
	MOVWF FSR
	MOVF main_1_si, W
	ADDWF FSR, F
	MOVF INDF, W
	MOVWF delay_ms_00000_arg_del
	CALL delay_ms_00000
	INCF main_1_alpha, F
	GOTO	label268438988
label268438989
	MOVLW LOW(gbl_sequence+D'0')
	MOVWF FSR
	MOVF main_1_si, W
	ADDWF FSR, F
	MOVLW 0x02
	MOVWF do_cap_sen_00015_arg_led
	CALL do_cap_sen_00015
	MOVF CompTempVarRet503, W
	ADDWF INDF, F
	MOVLW 0x80
	MOVWF main_1_alpha
label268439015
	MOVF main_1_alpha, F
	BTFSC STATUS,Z
	GOTO	label268439016
	MOVLW LOW(gbl_sequence+D'0')
	MOVWF FSR
	MOVF main_1_si, W
	ADDWF FSR, F
	MOVLW 0x07
	ANDWF INDF, W
	MOVWF gbl_gpio
	CLRF main_1_i
label268439021
	MOVLW 0x80
	SUBWF main_1_i, W
	BTFSC STATUS,C
	GOTO	label268439022
	MOVF main_1_alpha, W
	XORWF main_1_i, W
	BTFSC STATUS,Z
	CLRF gbl_gpio
	INCF main_1_i, F
	GOTO	label268439021
label268439022
	MOVLW LOW(gbl_sequence+D'0')
	MOVWF FSR
	MOVF main_1_si, W
	ADDWF FSR, F
	MOVF INDF, W
	MOVWF delay_ms_00000_arg_del
	CALL delay_ms_00000
	DECF main_1_alpha, F
	GOTO	label268439015
label268439016
	INCF main_1_si, F
	GOTO	label268438984
label268438985
	MOVLW 0xFF
	BSF STATUS, RP0
	MOVWF gbl_trisio
	CLRF gbl_osccon
	MOVLW 0x0A
	BCF STATUS, RP0
	MOVWF delay_s_00000_arg_del
	CALL delay_s_00000
	MOVLW 0x01
	MOVWF do_cap_sen_00015_arg_led
	CALL do_cap_sen_00015
	MOVF CompTempVarRet503, W
	MOVWF delay_ms_00000_arg_del
	CALL delay_ms_00000
	GOTO	label268438975
label268438979
	CLRF main_1_i
label268439053
	MOVLW 0x02
	SUBWF main_1_i, W
	BTFSC STATUS,C
	GOTO	label268438975
	MOVLW 0x3C
	MOVWF delay_s_00000_arg_del
	CALL delay_s_00000
	INCF main_1_i, F
GOTO	label268439053
 
; } main function end
Merci encore!

A++!
marC
nodoubtman est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2011, 14h50   #2
golden boy
Membre confirmé
 
Avatar de golden boy
 
Homme
Étudiant
Inscription : novembre 2010
Messages : 120
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2010
Messages : 120
Points : 224
Points : 224
Il est bizarre ton assembleur... Le plus simple qu'on puisse faire serait simplement de brancher avec un JMP perpétuellement, sur le label qui désigne là où ta fonction commence :

Code :
1
2
3
4
5
6
7
8
9
10
11
 
main:
    instr
    instr
    instr
 
    ...
 
    instr
    instr
    jmp main
golden boy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/12/2011, 15h16   #3
nodoubtman
Invité de passage
 
Homme Marc
REception, electronique, musique.. informatique...
Inscription : novembre 2011
Messages : 3
Détails du profil
Informations personnelles :
Nom : Homme Marc
Localisation : Canada

Informations professionnelles :
Activité : REception, electronique, musique.. informatique...
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : novembre 2011
Messages : 3
Points : 0
Points : 0
Par défaut merci:)

Citation:
Envoyé par golden boy Voir le message
Il est bizarre ton assembleur... Le plus simple qu'on puisse faire serait simplement de brancher avec un JMP perpétuellement, sur le label qui désigne là où ta fonction commence :

Code :
1
2
3
4
5
6
7
8
9
10
11
 
main:
    instr
    instr
    instr
 
    ...
 
    instr
    instr
    jmp main
merci bien!
A++!
marC
nodoubtman est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 07h34.


 
 
 
 
Partenaires

Hébergement Web