J'ai du mal à comprendre comment sauter fonctionne réellement,Comprendre Sauts en langage d'assemblage (TASM)
laissez-moi vous donner un exemple, Ce que je veux est en boucle par L1 et sauts L2 si la valeur de DX est> 5 donc je l'ai fait, mais comment le code sait combien de lignes de code doivent être lues en L2?
MOV DX,0
MOV CX,10
L1:
ADD DX,30H
MOV AH,02H
INT 21H
SUB DX,30H
ADD DX,1
CMP DX,5
JA L2
LOOP L1
après avoir sauté sur L2 si je veux effectuer plusieurs opérations i.e. A, B, C comment puis-je mettre fin à la L2 après la troisième opération?
L2:
A
B
C
;Go back into the Loop L1 , How can i terminate L2 here ?
déjà essayé ceci mais c'est une boucle non-stop quand j'ai utilisé JMP L1 – micheller
@Greatmailz: Oui, vous devrez probablement faire une comparaison et sauter quand la condition n'est pas remplie, similaire à l'instruction 'JA' utilisée dans votre code . – gusbro
ou placez une étiquette 'L3:' juste avant l'instruction 'loop', et sautez vers celle-ci - ce qui équivaut presque à la combinaison' call'/'ret', juste qu'elle n'implique pas la pile. – IdiotFromOutOfNowhere