;start here push ax push bx push cx push dx jmp l04 jmp l02 l00: ;this may look a 'little' weird.. my assembler can only do one type at a time.. ;which means, either do the 00,00,00,00 line like that, or normal text... ;beleive me, this looked a lot more complicated before i added the label ;controls.. (jumping and pointing) db " Love is long suffering and kind. Love is not Jealous, it does not brag," db 0d,0a db "does not get puffed up, does not behave indecently, does not look for" db 0d,0a db "it's own interests, does not become provoked. It does not keep account" db 0d,0a db "of the injury. It does not rejoice over unrighteousness, but rejoices" db 0d,0a db "with the truth. It bears all things, beleives all things, hopes all" db 0d,0a 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 00,08,F9,F3,0E,00,00,00,00,02,00,06,01,49,FB,F2,BA,07,0A,00 db FC,B2,0D,48,04,00,BC,41,B5,0B,F7,0F,46,0C,D4,F7,F9,0D,00,0B db F5,4F,05,F6,AC,57,1E,0A,BF,FC,F2,01,F2,F4,46,00,F3,55,0E,F6 db FF,AD,49,06,B1,FB,55,12,BC,CD,B9,35,57,5A,BC,00,09,9A,EA,07 db FF,00,49,05,BB,F5,54,B0,F8,FF,FF,0F,0F,00,FF,F8,39,00,FF,F9 db FC,FF,41,F5,05,F1,52,BE,14,07,14,AA,12,41,05,06,CA,C9,CB,BB db 05,F5,01,F7,40,45,C8,B1,10,00,49,00,F8,AC,54,FC,F6,B1,D7,2C db BA,F2,01,13,6A,FF,F1,F9,F6,4E,F7,F8,FF,52,F8,06,F5,0A,FC,DD db D5,AC,F6,47,00,FD,FD,12,EE,59,05,B1,FE,45,11,00,11,B1,07,0A db 00,C0,BE,B1,FD,00,B5,04,10,F2,44,26,F1,53,0A,B8,0F,AD,48,F3 db FF,02,45,B5,FE,03,F1,4E,02,02,10,B1,FF,01,AC,63,6B,05,BA,55 db FC,B8,0F,48,FC,B2,FB,FD,00,F6,44,00,1D,F8,41,03,04,C9,9A,EA db D3,FF,F0,00,F4,0A,08,B1,F8,09,07,00,05,F2,0A,01,45,AB,01,02 db FF,FE,0A,AC,0B,03,FA,F4,04,FC,FA,FA,39,52,11,B7,AC,54,F6,04 db 09,B1,0E,FE,0E,AD,60,57,ED,FC,AC,FA,59,AC,05,14,00,FB,05,F9 db AC,FB,41,4D,27,F5,4C,03,0D,BF,CF,DB,24,AC,9E,01,59,AC,07,0E db 00,B9,EE,47,53,03,08,F6,07,FC,FC,C9,BB,00,E8,B4,FC,4F,FC,FD db B7,0B,08,02,F4,45,06,FB,FF,14,AD,49,13,B4,CE,1C,16,D5,FE,B7 db 0B,08,02,F4,57,FC,00,10,B7,AE,04,AD,43,00,02,B4,45,04,08,03 db F3,02,FB,F2,48,23,08,AA,0F,48,FB,0E,97,A5,05,4F,0C,0A,0A,B4 db F6,40,00,40,4F,41,45,DD,15,13,2B,13,15,24,E5,DF,F7,1F,41,EF db FA,E6,06,00,F2 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,00 ;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 al,dh ;prepair transfer to first letter mov [bx],al ;change for first letter letter ;here's that move thing.. i would have done mov [bx],dh ;but my assembler wouldn't take it.. so, just a code or ;two extra loop l03 ;loop till end l04: mov bx,0001 ;function? mov dx,l00 ;location of letter mov cx,s00 ;size of letter mov ah,40 ;print function int 21 ;activate function pop dx ;return original value pop cx ;return original value pop bx ;return original value pop ax ;return original value 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