Dev - C++ - Lenguaje Asembler en Arquitectura de Computadoras a dev c++

 
Vista:
sin imagen de perfil

Lenguaje Asembler en Arquitectura de Computadoras a dev c++

Publicado por kevin (1 intervención) el 12/01/2016 18:11:44
amigos necesito ayuda tengo este codigo que me enviaron en assembler (no tengo ni idea de que tipo solo hey visto el de mplab ide ),no tengo idea de la cabecera ssi comprendo int ,call, mov,xor pero despues me pierdo y para el colmo en dev c++
me podrian ayudar para que se usa msj chr(char es igual o que?) y los demas
arquitecturas de los microprocesadores 8086 y 8088

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
.MODEL small
.STACK 100h
 
.DATA
msj1 db 'ingrese texto',10,13,'$'
msj2 db 10,10,13,'ingrese un caracter: $'
msj3 db 10,10,13,'el texto tiene $'
msj4 db ' caracteres',10,13,'$'
msj5 db 10,13,'el caracter $'
msj6 db ' aparece $'
msj7  db ' veces, lo que representa el $'
msj8 db ' %',10,10,10,13,9,'Fin',10,13,'$'
chr  db ?
ntot db 255
nch  db ?
texto   db 255 dup(?)
nsi db ?
cien db 100
 
.CODE
	MOV AX,@DATA
	MOV DS,AX
uno:    lea dx,msj1
        call mostrar
        mov ah,10
        lea dx,ntot
        int 21h
        lea dx,msj2
        call mostrar
        mov ah,1
        int 21h
        mov chr,al
        lea dx,msj3
        call mostrar
        mov al,nch
        call numero
        lea dx,msj4
        call mostrar
        lea dx,msj5
        call mostrar
        mov dl,chr
        mov ah,2
        int 21h
        lea dx, msj6
        call mostrar
dos:    mov cl,nch
        xor ch,ch
        xor bx,bx
tres:   mov al,texto[bx]
        cmp al,chr
        jne cuatro
        inc ch
cuatro: inc bx
        dec cl
        jne tres
        mov al,ch
        mov nsi,al
        call  numero
        lea dx, msj7
        call mostrar
        mov al,nsi
        mul cien
        div nch
	call numero
	lea dx, msj8
        call mostrar
        MOV AH,4ch
	INT 21h
mostrar:
        mov ah, 9
        int 21h
        ret
 
numero:
       xor ah,ah
       div cien
       mov dx,ax
       mov ah,2
       add dl,30h
       int 21h
       mov al,dh
       aam
       mov dx,ax
       xchg dh,dl
       add dx,3030h
       mov ah,2
       int 21h
       mov dl,dh
       int 21h
       ret
 
END.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 661
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Lenguaje Asembler en Arquitectura de Computadoras a dev c++

Publicado por agustin (522 intervenciones) el 14/01/2016 20:45:12
Me cuesta más entenderte a ti que al codigo en ensamblador jajaja.
msgX db 'ingrese texto', 10 13, '$'
digamos que seria algo en c como:
char cadena []="ingrese texto\n"
La $ es el equivalente del %s en c que se usaría en scanf por ejemplo. El resto del código no tiene mucha historia y buscando en Google sacas que hace cada instruccion.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar