Vladimir
Как вариант, можно прочитать параметры фреймбуфера из конфигурационных регистров
Eugene
Спецификация VBE не определяет максимальный размер фреймбуфера, ЕМНИП, всё зависит от реализации прошивки.
Параметры прочитать не проблема на одной конкретной машине. Меня интересуют максимальные стартовые адреса везде.
Vladimir
Вообще стартовый адрес может варьироваться от режима к режиму, согласно спецификации
Vladimir
Можно пробежаться по всем режимам и узнать максимум и минимум, последний, скорее всего, совпадёт с базой из BAR'ов, но это не точно
Eugene
Можно пробежаться по всем режимам и узнать максимум и минимум, последний, скорее всего, совпадёт с базой из BAR'ов, но это не точно
Из каких баров? У меня во всех режимах адреса одинаковые. Максимальное значение, которое я видел - E8000000 (на VMware).
Vladimir
Теоретически, наверное, (x100000000 - 640 * 480 * 2) & 0xFFFFF000
Eugene
Теоретически, наверное, (x100000000 - 640 * 480 * 2) & 0xFFFFF000
Многовато как-то. Где же тогда будет лежать BIOS ?
Vladimir
Многовато как-то. Где же тогда будет лежать BIOS ?
Ну это теоретический предел, а BIOS обязана всегда находиться на самом верху?
Eugene
Вот что я нашёл...
Eugene
­
Кто там писал про незаслуженный бан в чате за вход — читайте закреп.
LISP
Есть у кого справка по команде STOS и как она используется? В плане расширенно.
Aiwan \ (•◡•) / _bot
Есть у кого справка по команде STOS и как она используется? В плане расширенно.
что за расширенное использование? применение stоs четко и однозначно
Eugene
Есть у кого справка по команде STOS и как она используется? В плане расширенно.
xk8.ru/inteldoc Там всё есть по всем командам. Вкратце - запись al (ax, eax) по адресу es:di (edi).
Eugene
✌️ Кто шарит в VESA и работе с LFB? Я не понимаю, как видеопамять в LFB работает. Это какой-то трындец! Если просто копировать заготовленный ранее рисунок в видеопамять из обычной памяти, то всё ок. Если выводить по точкам, то ощущение, что память не линейная, а хз какая.
Eugene
Вот это должны быть изогнутые линии (вертикальные, горизонтальные, диагональные... они случайным образом генерируются), а выводится такая хрень. В DOSBox при этом всё норм. Это режим 800х600, 16 бит.
Eugene
Eugene
Вот я ещё писал как-то (только там про другой видеорежим)...
Eugene
Фигня какая-то... Пишу подряд строку — выводится группа из 4 пикселей, затем 12 пропкскается, затем снова 4, затем 12 пропускается. Но если я пишу со смещением +4, т.е. не в 0..3, 16..19, 32..35, а 4..7, 20..23, 36..39, то заполняется вторая четверть экрана. Если смещение +8, то третья четверть, +12 — четвертая. Т.е. экран как будто так: +0 (смещение) = 0,0 (координаты) +1 = 1,0 +2 = 2,0 +3 = 3,0 +4 = 0,50 +5 = 1,50 +6 = 2,50 +7 = 3,50 +8 = 0,100 +12 = 0,150 +16 = 4,0 +17 = 5,0 ... Но почему-то, когда пишешь 64000 байт, то заполняется только четверть. И если пишешь 64000*4, то заполняется всё.
Eugene
Вывожу каждый 4-й пиксель, получаются вертикальные полоски. (это тоже старое сообщение, как продолжение)
Eugene
Спасибо.
Да и вообще, в чём проблема забить в гугле? Вопрос-то простой.
LISP
Да и вообще, в чём проблема забить в гугле? Вопрос-то простой.
Я забил, там везде +- так же коротко описано.
Vladimir
Там же есть функция, которая возвращает формат пикселя.
Eugene
Значит неправильно определяешь формат
А при чём тут формат? Если режим 16 бит на пресекль и есть кол-во байт на строку, значит адрес пикселя вычисляется как Y*BytesPerScanLine + X*2, так? А пиксель рисуется мимо по факту. Не в цвете проблема, а в позиции.
Aiwan \ (•◡•) / _bot
­
Отладчиком бы посмотреть...
arichild
Здраствуйте, кто может пожалуйста помочь с решением задачи по masm32?
arichild
Задача: Процедура Str_scan производит сканирование строки для поиска первого вхождения определенного символа. Входные параметры в ES:DI содержат указатель на строку, а в регистре AL находится символ для поиска. Возвращаемые значения: если символ найден ZF=1 и в AX содержится позиция соответствующего символа (0..N). В противном случае ZF=0 и AX= -1
Ask
repne scasb в помощь
DarkPerl
Тем более, что примеров масса, в том же пакете masm32 есть примеры
arichild
Да, вроде решение нашлось верное. Не разбираюсь и не понимаю ассемблер, но колледж требует так что деваться некуда. Приходиться выкручиваться. Спасибо всем за ответы
DarkPerl
Да, вроде решение нашлось верное. Не разбираюсь и не понимаю ассемблер, но колледж требует так что деваться некуда. Приходиться выкручиваться. Спасибо всем за ответы
Лучше его понимать, так как на нем все остальное лежит сверху ))) И без понимания, вы рискуете не понять многие вещи. Придется принимать на веру и заучивать, и программирование будет казаться вам магией )
arichild
У меня направление веб-программирование поэтому я больше разбираюсь в этом, но ассемблер решили как "бонус" добавить
arichild
Ну С больше идет для разработки программного обеспечения вроде. А для сайтов хватает php, js ну и соответственно html/css
DarkPerl
Ну С больше идет для разработки программного обеспечения вроде. А для сайтов хватает php, js ну и соответственно html/css
Вся правда в том, любое ПО, написанное на любом языке, работает в среде операционной системы и других программ. И понимание этого факта и понимание процессов происходящих во время исполнения вашей программы дает вам огромное приемущество перед другими людьми.
DarkPerl
А там, делайте выводы сами, учить или нет
­
Во флудилку.
DarkPerl
Во флудилку.
Простите 😁
arichild
Вся правда в том, любое ПО, написанное на любом языке, работает в среде операционной системы и других программ. И понимание этого факта и понимание процессов происходящих во время исполнения вашей программы дает вам огромное приемущество перед другими людьми.
Понимание того как работает одно, а писать на этом языке другое. Конкретно какие-то вещи я понимаю в теории, но с практикой по ассемблеру проблемы. Ну и изучать несколько языков параллельно - сложно. И в какой-то степени глупо. Но колледжу видней, что лучше и как
Сергей
Посоветуйте вводный урок видео или статью чтобы заинтересовать человека асмом
DarkPerl
Посоветуйте вводный урок видео или статью чтобы заинтересовать человека асмом
Нет таких уроков ) Придумайте интересную задачу, которая решается лучше всего на асме
Eugene
Посоветуйте вводный урок видео или статью чтобы заинтересовать человека асмом
Покажи им демосцену, какие-нибудь крутые демки на 64 байта или на 256.
Eugene
Pyrit, Gyroid, Symetrie, Everbloom, spongy, Bit Runner 2048
Anonymous
8 поинтеров ? Такие бывают ?
Anonymous
А, ок )
Eugene
У быка бела губа? :)
Anonymous
Да, ага )
Artur
Привет всем, пытаюсь написать программу , в которую вводишь буква на английском языке, и программа выводит все буквы английского алфавита , начиная с этой буквы до буквы z . Пример input: x output : xyz *Требуется сделать проверку на input, чтобы char по таблице ASCII был от 'a' до 'z'.
Так
И что тут не работает?
Artur
И что тут не работает?
При запуске программы получаю бесконечный loop
После ввода символа или сразу?
А пошагового отладчика в этой замечательной программе нет?
Artur
*UPDATE В строке 30 , 31 заменил: 'a' на $t0 'z' на $t1 И не важно какую букву ввожу всегда пишет Ivalid input
Artur
Думаю, что ошибка здесь , как правильно проверить или ,char который я ввожу меньше чем char a ?
А где ты сравнимвашеь
Я бы писал типа cmp, а потом je jne ну в таком духе
А блин это арм, да?
Artur
MIPS
Artur
MIPS MARS 4.5
Ну удали все и оставь только сравнение и посмотри работает ли оно
Микропрограмму напиши которая два символа ascii сравнивает