%cpx 100h       ;256
;start here
        pusha           ;save all registers
        jmp l04 ;skip to print
        jmp l02 ;go to decoder
l00:    db " Love is long suffering and kind. Love is not Jealous, it does not brag,",13,10
        db "does not get puffed up, does not behave indecently, does not look for",13,10
        db "it's own interests, does not become provoked. It does not keep account",13,10
        db "of the injury. It does not rejoice over unrighteousness, but rejoices",13,10
        db "with the truth. It bears all things, beleives all things, hopes all",13,10
        db "things, endures all things. Love never fails. - 1 CORINTHIANS 13:4-7"
$s00
; probably something like this?
; s00 equ $-l00
; does this look right? It's too complex for me.. or, is it? j/k :)
l01:    db 000h,008h,0F9h,0F3h,00Eh,000h,000h,000h,000h,002h,000h,006h,001h,049h,0FBh,0F2h,0BAh,007h,00Ah,000h
        db 0FCh,0B2h,00Dh,048h,004h,000h,0BCh,041h,0B5h,00Bh,0F7h,00Fh,046h,00Ch,0D4h,0F7h,0F9h,00Dh,000h,00Bh
        db 0F5h,04Fh,005h,0F6h,0ACh,057h,01Eh,00Ah,0BFh,0FCh,0F2h,001h,0F2h,0F4h,046h,000h,0F3h,055h,00Eh,0F6h
        db 0FFh,0ADh,049h,006h,0B1h,0FBh,055h,012h,0BCh,0CDh,0B9h,035h,057h,05Ah,0BCh,000h,009h,09Ah,0EAh,007h
        db 0FFh,000h,049h,005h,0BBh,0F5h,054h,0B0h,0F8h,0FFh,0FFh,00Fh,00Fh,000h,0FFh,0F8h,039h,000h,0FFh,0F9h
        db 0FCh,0FFh,041h,0F5h,005h,0F1h,052h,0BEh,014h,007h,014h,0AAh,012h,041h,005h,006h,0CAh,0C9h,0CBh,0BBh
        db 005h,0F5h,001h,0F7h,040h,045h,0C8h,0B1h,010h,000h,049h,000h,0F8h,0ACh,054h,0FCh,0F6h,0B1h,0D7h,02Ch
        db 0BAh,0F2h,001h,013h,06Ah,0FFh,0F1h,0F9h,0F6h,04Eh,0F7h,0F8h,0FFh,052h,0F8h,006h,0F5h,00Ah,0FCh,0DDh
        db 0D5h,0ACh,0F6h,047h,000h,0FDh,0FDh,012h,0EEh,059h,005h,0B1h,0FEh,045h,011h,000h,011h,0B1h,007h,00Ah
        db 000h,0C0h,0BEh,0B1h,0FDh,000h,0B5h,004h,010h,0F2h,044h,026h,0F1h,053h,00Ah,0B8h,00Fh,0ADh,048h,0F3h
        db 0FFh,002h,045h,0B5h,0FEh,003h,0F1h,04Eh,002h,002h,010h,0B1h,0FFh,001h,0ACh,063h,06Bh,005h,0BAh,055h
        db 0FCh,0B8h,00Fh,048h,0FCh,0B2h,0FBh,0FDh,000h,0F6h,044h,000h,01Dh,0F8h,041h,003h,004h,0C9h,09Ah,0EAh
        db 0D3h,0FFh,0F0h,000h,0F4h,00Ah,008h,0B1h,0F8h,009h,007h,000h,005h,0F2h,00Ah,001h,045h,0ABh,001h,002h
        db 0FFh,0FEh,00Ah,0ACh,00Bh,003h,0FAh,0F4h,004h,0FCh,0FAh,0FAh,039h,052h,011h,0B7h,0ACh,054h,0F6h,004h
        db 009h,0B1h,00Eh,0FEh,00Eh,0ADh,060h,057h,0EDh,0FCh,0ACh,0FAh,059h,0ACh,005h,014h,000h,0FBh,005h,0F9h
        db 0ACh,0FBh,041h,04Dh,027h,0F5h,04Ch,003h,00Dh,0BFh,0CFh,0DBh,024h,0ACh,09Eh,001h,059h,0ACh,007h,00Eh
        db 000h,0B9h,0EEh,047h,053h,003h,008h,0F6h,007h,0FCh,0FCh,0C9h,0BBh,000h,0E8h,0B4h,0FCh,04Fh,0FCh,0FDh
        db 0B7h,00Bh,008h,002h,0F4h,045h,006h,0FBh,0FFh,014h,0ADh,049h,013h,0B4h,0CEh,01Ch,016h,0D5h,0FEh,0B7h
        db 00Bh,008h,002h,0F4h,057h,0FCh,000h,010h,0B7h,0AEh,004h,0ADh,043h,000h,002h,0B4h,045h,004h,008h,003h
        db 0F3h,002h,0FBh,0F2h,048h,023h,008h,0AAh,00Fh,048h,0FBh,00Eh,097h,0A5h,005h,04Fh,00Ch,00Ah,00Ah,0B4h
        db 0F6h,040h,000h,040h,04Fh,041h,045h,0DDh,015h,013h,02Bh,013h,015h,024h,0E5h,0DFh,0F7h,01Fh,041h,0EFh
        db 0FAh,0E6h,006h,000h,0F2h
;for this part, i just let another program work it.. i don't want
;to bother translating it, instead i put a 0 on first (says it's a number)
;and then an H to identify a hexidecimal. It's a bit bigger, but.. same
;results

l02:    mov cx,s00  ;set looping for length of messages.. (Both have to be same size)
                    ;here, it is 425 bytes.. but not limited to that with it's current code
l03:    mov ax,l00  ;starting point (first letter)
        add ax,cx   ;put to right position
        mov bx,ax
        mov al,[bx] ;grab first letter
        mov dl,al   ;assign value
        mov ax,l01  ; start point (second letter)
        add ax,cx   ;put to right position
        mov bx,ax
        mov al,[bx] ;grab change
        mov dh,al   ; assign value
        mov ax,l00  ;back to first letter..
        add ax,cx
        mov bl,dh   ;prepair for loop
        mov bh,0    ;clear other side
        add bl,dl   ;loop - finding the real character..
        mov dh,bl   ;move back for transfer
        mov bx,ax   ;get real value
        mov [bx],dh ;change for first letter letter
        loop l03    ;loop till end
l04:    mov bx,1    ;function?
        mov dx,l00  ;location of letter
        mov cx,s00  ;size of letter
        mov ah,40h  ;print function
        int 21h     ;activate function
        popa        ;return all registers
        ret         ;return to dos :)
;add cx,s00     ;@-->-->---
;mov dl,[cx]     ;  @    @
;add bl,dl       ;   \ @/
;sub cx,s00      ;   @\|
;mov [cx],bl     ;     \||
;sub cx,s00      ;      |/
;loop l03:       ;      |
;i couldn't dare part without my roses :)
;end of program
