Este programa toma un numero colocado en una posicion de memoria y lo muestra como binario en la memoria.
1: .model small
2: .stack 64h
3: .data
4: datos db 99h,0,0,0,0 dup (?)
5: base db 10
6: numero db ?
7: resultado db 8 dup (0)
8:
9: .code
10: mov ax,@data
11: mov ds,ax
12: mov es,ax
13:
14: lea si,datos
15: mov dl,al
16:
17: mov al,[si+1]
18: and al,11110000b
19: rol al,4
20: mul dl
21: mov numero,al
22: xor ax,ax
23: mov al,[si+1]
24: and al,00001111b
25: add numero,al
26: lea si,numero
27: lea di,resultado
28: binario: mov al,[si]
29: rcl al,1
30: jnc aaa15
31: mov byte ptr [di],1
32: aaa15: rcl al,1
33: jnc aaa16
34: mov byte ptr [di+1],1
35: aaa16: rcl al,1
36: jnc aaa17
37: mov byte ptr [di+2],1
38: aaa17: rcl al,1
39: jnc aaa18
40: mov byte ptr [di+3],1
41: aaa18: rcl al,1
42: jnc aaa19
43: mov byte ptr [di+4],1
44: aaa19: rcl al,1
45: jnc aaa20
46: mov byte ptr [di+5],1
47: aaa20: rcl al,1
48: jnc aaa21
49: mov byte ptr [di+6],1
50: aaa21: rcl al,1
51: jnc aaa22
52: mov byte ptr [di+7],1
53: aaa22: .exit(0)
54:
55: end
No hay comentarios:
Publicar un comentario