Привет, прошу небольшой помощи: Код (Text): .model tiny .code org 100h start: push es pop ds lea di, StringEnd-1 mov ax,es:[046ch] mov cx,10 std Repeat: xor dx,dx div cx xchg ax,dx add al,'0' stosb xchg ax,dx or ax,ax jne Repeat xor bp,bp mov bp, word ptr es:[di] push ax push cx push si tt: mov ah,09h mov al, byte ptr [bp+si] mov cx,10 mov bl,00011111b int 10h inc si cmp bp,'$' jne tt int 20h String db 8 dup (?), '$' StringEnd=$-1 Программа берет время, прошедшее со времени сброса процеесора из BIOS, конвертирует его в строку, и выводит на экран с пом. BIOS и прямым доступом. С пом. BIOS я написал, только он почему-то выводит 10 одинаковых символов и считает этот цикл, как бесконечный. Почему он выводит не строку, которая хранится в bp ?
Вспомним DOS! 1. Цикл бесконечный, потому что bp не изменяется 2. Не настроен регистр si, вообще непонятно, откуда берется байт al 3. Объясни, для чего нужны эти строки xor bp, bp mov bp, es:[di] Что у тебя будет после этого в регистре bp? А почему ты не пользуешься тем же CodeView или другим дебуггером для отладки программы? Он здорово помогает!