Не могу передать переменную в asm вставку ...
int X;
void putChar()
{
asm { mov al,X;}
}Выдает ошибку, ...
invalid combination of opcode and и т д ...
И еще asm { push 0b800h;}
Тоже выдаёт ошибку ...
instruction not enable (((
>[оверквотинг удален]
> {
>
> asm { mov al,X;}
>
> }
> Выдает ошибку, ...
> invalid combination of opcode and и т д ...
> И еще asm { push 0b800h;}
> Тоже выдаёт ошибку ...
> instruction not enable (((asm-синтаксис не стандартизирован, так что для начала неплохо было бы назвать точно компилятор.
А затем можно таки взять в руки гуглю и... «inline asm КОМПИЛЯТОР syntax»
Тольки не ругайтесь, компилятор у меня пока Turbo C 3.2 for dos ...
Ё maё, это Ваше «inline asm КОМПИЛЯТОР syntax» помогло ... Спасибки
Переменные передались в asm вставку на ура.А вод asm{push 0b800h;} пока никак, ...
А можно допустим заменить
push 0b800h
pop esНа вот это
mov ax,0b800h
push ax
pop esА ? так компилятор воспринимает,
В любом случае пойду читать мануал ...
> А вод asm{push 0b800h;} пока никак, ...
> А можно допустим заменить
> push 0b800h
> pop es
> На вот это
> mov ax,0b800h
> push ax
> pop esПочему бы и нет? Если, конечно, вам не надо каждый такт считать.
Насколько я понял, 8086, в отличие от последующих моделей, не умел напрямую делать push константы:
http://bitsavers.informatik.uni-stuttgart.de/pdf/borland/tur... , страница 149
Поэтому, возможно, есть какие-то опции для компилятора, с помощью которых можно включить режим совместимости с 80186 или выше. Но это если моя догадка в целом верна.
Да пока такты считать не нужно, интересует запись в неактивную страницу видеопамяти , а именно в 1.
Потом переключение её в активную, потом запись в нулевую, и.т.д. ...
За мануал спасибо, буду читать, до просветления ...
Вроде заработало, но выводит только в самый верхний левый пиксель,
> Вроде заработало, но выводит только в самый верхний левый пиксель,Это уже отдельный разговор.
Я бы посоветовал вам, на самом деле, сделать публичный репозиторий с программой на любом современном хостинге с pull-запросами. Тогда и вопрос «покажи код» будет решаться проще, и изменения будет проще предлагать. Но это, конечно, если исходная лицензия позволяет.
Да какая лицензия, скажете тоже ...
А подскажите где лучше разместить ?А программа то примитивная ..., вот
Могу прям тут выложить ..., если можно, там строк 400 всего
https://youtu.be/elrfOh1zpN4