![]() |
1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!
![]() ![]() |
![]() |
LOVE133 |
![]()
Сообщение
#1
|
![]() Гарцующая лошадка ![]() ![]() Группа: Пользователи Сообщений: 107 Пол: Женский Реальное имя: Любовь Репутация: ![]() ![]() ![]() |
Почитала туториал.Все равно понять не могу когда и где какие использовать буковки.
Есть задача , что-то типа " Сосчитать выражение 1024*(12-43)+135/5*(50-156) (числа могут быть любыми:))) " Можно организовать программку на ассемблере, подробно поясняя почему необходимо 3 раза подряд использовать MOV Ax,12 и почему именно Ax? полного кода программы не требуется, только рабочий кусок... |
xds |
![]()
Сообщение
#2
|
![]() N337 ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 737 Пол: Мужской Репутация: ![]() ![]() ![]() |
mov ax,12 ;ax = 12 где dx:ax - 32-разрядное значение, старшая половина которого храниться в dx, а младшая - в ax. Команды умножения выдают произведение в два раза большей разрядности, чем множители. Команды деления используют делимое в два раза большей разрядности, чем делитель и частное. Поскольку все числа в приведённом примере вмещаются в 16 бит, то старшие половинки произведений игнорируются, а у делимого устанавливаются в 0. Добавлено через 9 мин. Выбор регистров осуществляется на основе знания о том, что 16-разрядные команды умножения неявно используют значение ax в качестве одного из множителей, а произведение всегда записывается в dx:ax; команды деления неявно используют значение dx:ax в качестве делимого, частное всегда записывается в ax, а остаток - в dx. -------------------- The idiots are winning.
|
![]() ![]() |
![]() |
Текстовая версия | 19.06.2025 13:11 |