Цитата:
org 100h
mov ax, 0B800h
mov es, ax
lea si, msg у тебя тут будет mov si, p
mov di, 150
;mov cx, 5
;rep movsb
next:
lodsb
cmp al, 0
je finish
stosb
inc di
jmp short next
finish:
ret
msg db '10:10',0
надо подумать как оптимальнее сделать
понятно почему так сделали - для цвета
Цитата:
org 100h
mov ax, 0B800h
mov es, ax
lea si, msg
mov di, 150
mov ah, 10
next:
lodsb
cmp al, 0
je finish
stosw
jmp short next
finish:
ret
msg db '10:10',0
Цитата:
org 100h
mov ax, 0B800h
mov es, ax
lea si, msg
mov di, 150
mov ah, 10
mov cx, 5
next:
lodsb
stosw
loop next
ret
msg db '10:10',0
Цитата:
org 100h
mov ax, 0B800h
mov es, ax
lea si, msg
mov di, 150
mov ah, 10
mov cx, 5
rep movsw
ret
msg db 31h,0Ah,30h,0Ah,3Ah,0Ah,31h,0Ah,30h,0Ah
у мине проц древний, средней древности команда lods stos movs и тд выполняются медленне чем mov+inc (а изменение флага направления вообще долго), на более модных процах эти команды оптимизированы и уже быстрее выполняются.
но в любом случае будет быстрее чем прерывания биоса вызывать - тут надо регистры в стек засунуть, адрес возврата, вызвать код который сидит в другом месте и может не быть в кеше, потом вернуться....
и тута еще можно схитрить использовать для пересылки данных 32 битные регистры, все равно 8088 процов уже мало и врядли кто на них твою сишную прогу будет запускать, на них винду то не поставить, это в два раза может ускорить выведение изображения - если бмп картинку надо вывести например