Codificacion en Ensamblador

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 2

Arquitectura

 del  Computador   1  
 
 

Codificación  en  ensamblador  


Estructuras  de  Control  
 
Lenguaje  C   Pseudo-­‐assembler   Assembler  8085  
if ( C ) { if not C goto L; cmp r
S; S; jzr L
} L: s
L:
if ( C ) { if not C goto L1; cmp r
S1 ; S1 ; jzr L1
} else { goto L2; s1
S2 ; L1 : S2 ; jmp L2
} L2 : L1: s2
L2:
while ( C ) { L2 : if not C goto L1; cmp r
S; S; L2: jzr L1
} goto L2; s
L1 : jmp L2
L1:
for (i=n; i = 0; i--) { i = n; mvi c,n
S; L2 : if i = 0 goto L1; L2: jzr,L1
} S; s
i = i-1; dcr c
se  transforma  en   goto L2; jmp L2
L1 : L1:
i = n;  
while ( i > 0 ) {
S;
i--;
}
do { L: S; L: s
S; if C goto L; cmp r
} while ( C ) jnz L
switch ( i ) { if i>1 goto L1;
case 1: S1; break; S1 ;
case 2: S2; break; goto L;
L1 : if i>2 goto L2;
case n: Sn; break; S2 ;
default S; break; goto L;
} L2 : if i>3 goto L3;
S3 ;
goto L;
L3 :

Ln-1: if i>n goto Ln;
Sn ;
goto L;
S;
L:
 
Ejemplo  de  un  programa:  sumatoria  de  los  n  primeros  números    
 
Especificación  de  algoritmo   Desarrollo     Codificación  en  assembler  8085  
sum ← 0 int sum,n,i; ; Sumatoria de n-numeros
for i ← 1 to n
sum=0; jmp start
sum ← sum + i
for (i=n; i > n; i--) { ;data
end-for
sum+=i; num: db 0Ah
{  post:  sum  =   !!!! 𝑖  }
} sum: db 00h

 
 

normalizado  a  notación  while.   ;code

int sum,n,i; start: nop


lda num
sum=0; mov c,a
i = n; dcr c ; en num-1
while (i > 0) { L2: jz L1
sum+=i; add c ; sum+=i
i--; dcr c ; i--;
} jmp L2
L1: sta sum
traducido  a  pseudo-­‐codigo  assembler.   hlt

sum = 0
i = n
L2: if (i = 0) goto L1;
sum = sum + i;
i = i – 1;
goto L2;
L1:

También podría gustarte