La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Etapas de solución de un problema. Módulo o secciones de un algoritmo.

Presentaciones similares


Presentación del tema: "Etapas de solución de un problema. Módulo o secciones de un algoritmo."— Transcripción de la presentación:

1 Etapas de solución de un problema

2 Módulo o secciones de un algoritmo

3

4

5

6

7

8

9

10

11 Comandos de debug

12

13

14

15 -n conteo.asm

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32 Dirección de memoria de la que se ha leído el código CS : Desplazamiento Bytes que hay a partir de esa zona de memoria, la instrucción en código máquina ejecutables directamente del procesador Conversión a ensamblador que efectúa debug a partir de la 2da. columna

33 Comandos debug

34 Ejemplo: Al= perimetro Ch= base Bx=altura Si al: 10 ch: 05 Add al,ch 15 Mul 2 2A

35

36 Diagrama de flujo si entonces

37 Crear un programa que determine que número es mayor o son iguales inicio a,b El mayor es a fin a>b a<b El mayor es b Son iguales v v F F MOV AH,20 MOV AL,10 CMP AH,AL JBE XX MOV BH,01 JMP FIN XX : CMP AH,AL JZ YY MOV BH,02 JMP FIN YY: MOV BH,00 FIN: NOP Si a>b entonces bh=1 Si b>a entonces bh=2 Si a=b entonces bh=0

38

39

40

41

42

43 Estructura de selección múltiple

44 inicio opc,a,b opc c=a+bc=a*bc=a-bc=a/b 1 23 default c fin 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 en caso contrario c=a/b Si ch=opc al=operando 1 ah=operando 2 Mov ch,01 Mov al,10 Mov ah,02 //mov ch,02 Cmp ch,01 Jnz resta Add al,ah Jmp fin resta: cmp ch,02 Jnz division Sub al,ah Jmp fin division: cmp ch,03 Jnz mult Div ah Jmp fin mult: mult ah Fin: nop

45

46

47

48

49

50 Estructuras de repetición For(valor inicial; condición;incremento) { } While(condición){ } Do{ }while(condición)

51 for

52 while

53 Práctica de banderas

54 Conversión ASCII  HEXADECIMAL Num letra 30  carácter  39 41  carácter  46 57

55 Inicio: lee dato dato  30 inicio dato  39 numero dato <41 inicio dato  41 letra si no inicio Letra: dato=dato-37 Numero:dato=dato-30 fin Ascii  hexadecimal

56 Conversión HEXADECIMAL  ASCII ABCDEFABCDEF +37 0...90...9 +30 A +37 41 Ejemplo:

57 Rutinas y llamados 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

58 Escritura Carácter Mov AH,02 Int 21 ret Espera entrada proveniente del teclado, la exhibe y la coloca en el registro AL Lectura Carácter Mov AH,01 Int 21 ret El carácter a escribir debe estar en DL

59 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

60 Desempaquetamiento 2 números (para escribir en pantalla) 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 Suponiendo que el dato lo recibe en dl

61 Uso del segmento de datos

62

63 Buscar una Letra -500 ‘no se encontro’ 0d 0a ‘$’ -600 ‘si se encontro’ 0d 0a ‘$’

64 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

65 ABCDEF

66 Ejemplo de uso DS

67 Mostrar los datos del DS $

68 Funciones bios int 10h [screen] gotoxy Mov ah,02 ;solicitud iniciar el cursor Mov bh,00 ;screen #0 Mov dh,05 ;ren 5 h Mov dl,12 ;col. 12 h (18 d ) Int 10

69 before after C Dos clrscr(); >cls Mov ax,0600 ;ah 06(scroll), al 00 (full screen) Mov bh,07 ;noraml attribute (black & white) Mov cx,0000 ;upper left row/col Mov dx,184f ;lower right row/col Int 10 ;interrupt– exit to bios

70 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: NameOper’sOperand COUNTERDB1;Name, operation, one operand MOVAX,0;Operation, two operands

71 Name A name in Assembler lenguage can use the following characters:

72

73

74

75

76

77

78

79

80

81

82

83 Usando Turbo Assembler

84

85

86

87

88

89 Compilador modo dos usando masm y link

90

91 Ejemplo

92

93 Compilación modo usando ml.exe dos con errores

94

95

96

97 Compilando usando AssemblerEditor, ml y link

98

99

100

101

102 Ensamblando con nasm Para ensamblar un archivo en assembler con nasm debemos ejecutar la siguiente instrucción: nasm -felf rapidas.asm Donde 1.rapidas.asm es nuestro archivo assembler en cuestión 2.la opci´on -felf indica que el formato del archivo objeto será ELF (el más común para Linux). Aquí también se podría haber utilizado la opción -o rapidas.o pero nasm por omisión utiliza ese archivo como destino. Nuevamente, si tuviéramos varios archivos en lenguaje ensamblador que utilizan funciones entre ellos, debemos ensamblarlos por separado y obtener así un archivo objeto para cada.

103

104

105 Linkeando todo para obtener el ejecutable

106

107

108

109

110

111

112

113

114

115

116 Sort.asm i  j j  i+1 dl  table1(i) bl  table1(j) dl<bl table1(i)  table1(j) j  j+1 Fin de table1? i  i+1 Fin de table1? v F v v F F

117 Compilando sort.asm con masm

118

119

120

121 Instrucciones de cadenas movsMueve un byte, palabra o palabra doble desde una localidad de memoria a otra lodsCarga desde memoria un byte en el al, una palabra en el AX o un palabra doble en EAX stosAlmacena los registros AL, AX, o EAX en memoria CmpsCompara localidades de memoria de un byte, palabra o palabra doble scasCompara el contenido de AL, AX, o EAX con el contenido de una localidad de memoria repUna instrucción asociada a REP provoca que una instrucción para que cadena se realice de manera repetitiva un numero especifico de veces. Ejem: string1 db 20 dup(‘*’); string2 db 20 dup(‘*’); …. cld Lea di,string2 ; Lea si, string1 Rep movsb jcxz Label1: mov al,[si] mov[di],al inc di inc si loop label1 

122 Cadenas en ensamblador usando masm

123

124

125

126 Matrices

127

128

129

130

131 Archivos (escritura)

132

133

134

135

136

137 antes Después

138 Archivos (lectura)

139

140

141

142


Descargar ppt "Etapas de solución de un problema. Módulo o secciones de un algoritmo."

Presentaciones similares


Anuncios Google