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,al22: 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 aaa1531: mov byte ptr [di],1
32: aaa15: rcl al,1 33: jnc aaa1634: mov byte ptr [di+1],1
35: aaa16: rcl al,1 36: jnc aaa1737: mov byte ptr [di+2],1
38: aaa17: rcl al,1 39: jnc aaa1840: mov byte ptr [di+3],1
41: aaa18: rcl al,1 42: jnc aaa1943: mov byte ptr [di+4],1
44: aaa19: rcl al,1 45: jnc aaa2046: mov byte ptr [di+5],1
47: aaa20: rcl al,1 48: jnc aaa2149: mov byte ptr [di+6],1
50: aaa21: rcl al,1 51: jnc aaa2252: mov byte ptr [di+7],1
53: aaa22: .exit(0)
54: 55: end
No hay comentarios:
Publicar un comentario