@blahal 0100
@bits_test 0100
@dat_1 blahal
push ax
push bx
push cx
push dx

mov cx,blahal ;set loop
mov si,dat1   ;set location
dec si        ;for preset
mov al,30     ;set 0's

clear:
inc si        ;move up byte
mov [si],al   ;clear to 0
loop clear

inc ax        ;make 1
mov [si],al   ;write
mov ax,0a0d   ;for clcr
inc si        ;last location
mov [si],ax   ;save whole

mov cx,bits_test ;loop for bits
loopdaa:
push cx       ;saves loop
mov cx,dat_1 ;loop
mov si,dat1_eob ;location of end of text
clc           ;clear carry
mov bl,00     
loopda:
dec si
mov al,[si]
sub al,30
mov ah,al
add al,ah
add al,bl
mov bl,00
cmp al,0a
jb go_on
sub al,0a
mov bl,01
go_on:
cmp al,00
je go_on2
mov dx,si
go_on2:
add al,30
mov [si],al
loop loopda

mov cx,dat1_eob
sub cx,dx
add cx,0002
mov bx,0001
mov ah,40
int 21
pop cx
loop loopdaa

pop dx
pop cx
pop bx
pop ax
ret
dat1:
+cp blahal
dat1_eob:
-cp blahal
