0% encontró este documento útil (0 votos)
40 vistas87 páginas

Etapas y Estructuras en Programación

El documento describe las etapas de solución de problemas mediante algoritmos, incluyendo comandos de depuración y ejemplos de estructuras de control como 'si entonces' y estructuras de repetición. También se abordan conversiones entre ASCII y hexadecimal, así como el empaquetamiento y desempaquetamiento de números. Finalmente, se menciona la introducción a MASM y el uso de Turbo Assembler para compilar programas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
40 vistas87 páginas

Etapas y Estructuras en Programación

El documento describe las etapas de solución de problemas mediante algoritmos, incluyendo comandos de depuración y ejemplos de estructuras de control como 'si entonces' y estructuras de repetición. También se abordan conversiones entre ASCII y hexadecimal, así como el empaquetamiento y desempaquetamiento de números. Finalmente, se menciona la introducción a MASM y el uso de Turbo Assembler para compilar programas.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPT, PDF, TXT o lee en línea desde Scribd

Etapas de solución de un problema

Módulo o secciones de un algoritmo


Comandos de debug
Comandos debug
Ejemplo:

Al= perimetro
Ch= base
Bx=altura

Si
al: 10
ch: 05
Add al,ch 15
Mul 2
2A
Diagrama de flujo si entonces
Crear un programa que determine que número
es mayor o son iguales

Si a>b entonces bh=1


Si b>a entonces bh=2
inicio Si a=b entonces bh=0

a,b MOV AH,20


MOV AL,10
CMP AH,AL
v El mayor es a JB XX
a>b
MOV BH,01
JMP FIN
F
XX : CMP AH,AL
v JZ YY
a<b El mayor es b
MOV BH,02
JMP FIN
F
YY: MOV BH,00
Son iguales FIN: NOP

fin
Estructura de selección múltiple
Crear un programa que dada una opción(opc) y los operandos (a,b)realice las
siguientes operaciones
Si opc=1 entonces c=a+b
Si opc=2 entonces c=a-b
Si opc=3 entonces c=a/b Si ch=opc
en caso contrario c=a/b al=operando 1
ah=operando 2

inicio Mov ch,01


Mov al,10
Mov ah,02 //mov ch,02
opc,a,b
Cmp ch,01
Jnz resta
opc Add al,ah
1 default Jmp fin
2 3 resta: cmp ch,02
Jnz division
c=a+b c=a-b c=a/b c=a*b Sub al,ah
Jmp fin
division: cmp ch,03
Jnz mult
Div ah
c Jmp fin
mult: mult ah
Fin: nop
fin
Estructuras de repetición

• For(valor inicial; condición;incremento)


{

}
• While(condición){

}
• Do{
}while(condición)
for
while
Conversión ASCIIHEXADECIMAL
letra A-B
30 carácter  39 41  carácter 46
CODIGO CÓDIGO
CODIGO CÓDIGO DECIMAL HEXA ASCII
DECIMAL HEXA ASCII 65 41 A
66 42 B
48 30 0 67 43 C
49 31 1 68 44 D
69 45 E
50 32 2 70 46 F
51 33 3
52 34 4 CODIGO CÓDIGO
53 35 5 DECIMAL HEXA ASCII
54 36 6 97 61 a
98 62 b
55 37 7 99 63 d
56 38 8 100 64 c
56 39 9 101 65 e
102 66 f
Ascii  hexadecimal

Inicio: lee dato


dato30 inicio
dato39 numero
dato <41 inicio
dato 41 letra
si no inicio
Letra: dato=dato-7
Numero:dato=dato-30
fin
Conversión
HEXADECIMAL ASCII
0
A
.
B
. +30
C +37 .
D
E
9
F

Ejemplo:

A
+37
41
Escritura Carácter

Mov AH,02 Espera entrada proveniente


Int 21 del teclado, la exhibe y la
ret coloca en el registro AL

Lectura Carácter
Mov AH,01 El carácter a escribir debe
Int 21 estar en DL
ret
Empaquetamiento 2 números
push cx
lee (al)
ascii-hex(al)
Mov cl,04
Shl al,cl
Mov ch,al
lee (al)
ascii-hex(al)
Add al,ch
Pop cx
ret
Desempaquetamiento 2 números
(para escribir en pantalla)
Suponiendo que el dato lo recibe en dl

push cx
Mov dh,dl
Mov cl,04
Shr dl,cl
Hex-ascii (dl)
Escribir(dl)
Mov dl,dh
And dl,0f
Hex-ascii (dl)
Escribir(dl)
Pop cx
ret
Uso del segmento de datos
Buscar una Letra

DS:1526 IP:400
-500 ‘no se encontro’ 0d 0a ‘$’
-E:400 -600 ‘si se encontro’ 0d 0a ‘$’

HEX CAR
46 F
45 E
44 D
43 C
42 B
41 A
F

Llamada a
una subrutina

Terminación de un
programa (dos)

Fin de una
subrutina
retorno el
control a la
siguiente
instrucción de
donde se
llamo
A B C D E F
Ejemplo de uso DS
Mostrar los datos del DS

$
Introducción a masm
Comments
1. ;This entire line is a comment
2. ADD AX,BX ;comment on same line as instruction

Coding Format
The en general format an Assembler instruction is the is the following

[name] operation operand(s)

Ejem:
Name Oper’s Operand

COUNTER DB 1 ;Name, operation, one operand

MOV AX,0 ;Operation, two operands


Name
A name in Assembler lenguage can use the following characters:
Usando Turbo Assembler
Compilador modo dos usando
masm y link
Ejemplo
Compilación modo usando ml.exe
dos con errores
Compilando usando
AssemblerEditor, ml y link

También podría gustarte