besoin d'aide pour le montage

J

janakiram.sistla

Guest
Salut à tous
pleasse tout organisme peut me suggérer comment écrire cas commutateur à l'aide de l'Assemblée peut être d'une syntaxe

 
vous pouvez écrire changer la casse dans l'assemblage
comme l'ancien, si u avons 5 cas énoncé comme beow un.
switch (var)
Cas 5: déclaration
case 4:
case 3:
Cas 2:
case1:

u peut écrire la même chose que dans l'assemblage

movAjouté après 1 minutes:vous pouvez écrire changer la casse dans l'assemblage
comme l'ancien, si u avons 5 cas énoncé comme beow un.
switch (var)
Cas 5: déclaration
case 4:
case 3:
Cas 2:
case1:

u peut écrire la même chose que dans l'assemblage

mov a, var
décembre une
JZ case1
décembre une
JZ Cas2
décembre une
JZ case3
décembre une
4 cas jz
décembre une
JZ case5

 
SWITCH peut être écrit comme ci-dessous:

mov a, «cas»

CJNE 'case1 »,« objectif »
CJNE 'Cas2 »,« objectif »
CJNE 'case3 »,« objectif »

et ainsi de suite.CJNE: Comparez et sauter si elle n'est pas égale.

 
CJNE?Comparez et Jump sinon égal?Je pense que c'est ne fonctionne que si vous utilisez cette assemblée pour Uc?Je ne pense pas que vous travailler sur Intel 8088 de l'Assemblée.
S'il vous plaît corrigez-moi si je me trompe

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Sourire" border="0" />Merci

 
CJNE est une instruction du microcontrôleur 8051 de la famille.Je ne suis pas sûr qu'il est valable dans Intel 8088 ou non.S'il vous plaît vérifier le jeu d'instructions.Mais, c'est une façon de faire passer l'affaire.Je pense qu'il ya l'instruction de comparer et de faire sauter pour 8088 d'Intel.

 
ou:

Inscrivez-mov, variable
Inscrivez-CMP, comparaison1
JE case1
Inscrivez-CMP, comparison2
JE Cas2
Inscrivez-CMP, comparison3
JE case3
Inscrivez-CMP, comparison4
JE espèce4
Inscrivez-CMP, comparison5
JE case5
défaut jmp

mais c'est plus d'un if ... else ... else approche si

 
Vous devez être un peu plus précis sur les conditions de l'affaire.
Par exemple, si le nombre de ses monotone (0,1,2,3, .., n)
alors il peut être fait par une horloge de manutention
(32 bits mode d'adressage)
. Données
jmptbl dd case0, case1 ,..., CASEN
. Code
, Le nombre de cas en supposant que dans eax
jmptbl eax * [4] jmp
case0:; code pour case0
....
endcase jmp
case1:; code pour case1
...
endcase jmp
....
CASEN: ;....
....

endcase:

si son monitonic mais il ya des cas "else" qui ne sont pas dans la gamme monotone puis à filtrer les doit précéder le code ci-dessus,
par exemple le Ragne monotinic est de m à n (inclus) puis devant le code ci-dessus, vous devez filtrer les cas "d'autre", l'un des moyens à court peut-être non ramifié
, Le nombre de cas en supposant que dans eax
EAX sous, m
eax cmp, n-m 1
caseelse jnc
jmptbl m * 4 * eax [4] jmp
Il existe d'autres moyens selon le type de cas.
Il n'ya pas de relation isomorphique entre un HLL cas où la condition de programmation et de la traduction de montage de celui-ci.Bien que la plupart des «universel» de manière couvrant la plupart de la conception condition HLL (mais pas le plus rapide) est
eax cmp, CASEone
JE @ CASEoneHandler
eax cmp, CASEother
JE @ CASEotherHangler
eax cmp, 17
jc @ CASElessThen17Handler
CaseOtherOnes @:

 
goto
http://www.osdata.com/topic/language/asm/asmintro.htm
intantly

 

Welcome to EDABoard.com

Sponsor

Back
Top