Problema: escriba un programa en lenguaje ensamblador para encontrar el número más pequeño entre dos números.
Ejemplo –
Algoritmo –
- Cargue el contenido desde la ubicación de la memoria
- Mover el contenido del Acumulador al Registro B
- Cargue el contenido desde la ubicación de la memoria
- Comparar el contenido del Registro B
- Si la bandera de acarreo es igual a 1, vaya al paso 7
- Mover el contenido del Registro B al Acumulador
- Almacene el contenido en la memoria
- fin de programa
Programa –
Memoria | Mnemotécnica | Usar Operando | Comentarios |
---|---|---|---|
2000 | LDA | [2500] | [A]<-[2500] |
2003 | MOV B, A | [B]<-[A] | |
2004 | LDA | 2501 | [A]<-[2501] |
2007 | CMP B | [A]<-[A]-[B] | |
2008 | JC * | [200C] | saltar llevar |
200B | MOV A, B | [A]<-[B] | |
200C | ESTA | [2502] | [A]->[2502] |
200F | HLT | DETÉNGASE |
Explicación –
- LDA se utiliza para cargar el acumulador (instrucción de 3 bytes).
- CMP se utiliza para comparar el contenido del acumulador (instrucción de 1 byte).
- STA se usa para almacenar el acumulador directamente usando una dirección de 16 bits (instrucción de 3 bytes).
- JC salta si lleva (instrucción de 3 bytes).
Publicación traducida automáticamente
Artículo escrito por faizanahmad1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA