| 
			
			 Обьясняю так:
  Я сохраняю адрес картинки в ds:si, адрес точки куда выводить - es:di
  mov di,10000 - это то же, что в твоем примере mov bx,10000 т.е. будет выводиться по адресу A000h:10000 (адрес первой точки)
  Значение сегмента ds сохраняется потому, что если его потом не востановить - будут глюки в паскале (можешь попробовать его закоментировать)
  Далее собственно у меня цикл типа     for  i:=0 to 10 do   for  j:=0 to 10 do
  команда movsb помещает содержимое ds:[si] в es:[di] и увеличивает si и di на 1. Т.е я фактически помещаю точку из массива color на экран :-)
  в сх я храню кол-во линий, в dx - колво точек в линии.
  Рисую я по линиям: @l1:     movsb    loop @l1  
  И еще : заметь, у меня команда
  pop cx loop @l2 
  уменьшает cx на 1, а далее я это изменение СОХРАНЯЮ! (push cx)
  add di,309 - адрес следующей строки (320-11)   Ну разбирайся... ;D 
			
			
  -------------------- 
- Где я? - Во тьме. - В какой тьме? - Во тьме твоего мозга. 
					
		 |