|
1 / 1 / 0
Регистрация: 27.04.2014
Сообщений: 62
|
||||||
Бесконечное повторение кода после команды IDIV02.10.2016, 01:32. Показов 4431. Ответов 25
Метки нет (Все метки)
После idiv зацикливается
Вот сам код (буду благодарен если проверите на остальные косяки )
0
|
||||||
| 02.10.2016, 01:32 | |
|
Ответы с готовыми решениями:
25
Некорректное деление с использованием команды idiv нужно бесконечное повторение видео
|
|
780 / 412 / 75
Регистрация: 29.03.2013
Сообщений: 853
|
|
| 02.10.2016, 08:54 | |
|
slavik57, команда CBW работает только с регистром AL(расширяя его знак на AH), поэтому код в строках 35 и 43 не имеет смысла, ибо BL до BX он не расширит. Если надо из знакового байта сделать слово - помещай его в AL.
Непонятно, зачем идёт вычитание в строке 30, если следом результат заменяется значением переменной(стока 32). Судя по скринам, возможно "деление на ноль". Измени указанные косяки, возможно поможет.
0
|
|
|
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
|
||||||
| 02.10.2016, 10:37 | ||||||
|
У Вас происходит деление на 0. Это и в отладчике видно, все регистры по 0. И что хотите сделать строкой mov al, x3 непонятно.
Добавлено через 1 час 17 минут попробуй
1
|
||||||
|
1 / 1 / 0
Регистрация: 27.04.2014
Сообщений: 62
|
||||||||||||
| 02.10.2016, 22:12 [ТС] | ||||||||||||
|
Вот так всё заработало
Только вот почему при команде
0
|
||||||||||||
|
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
|
|
| 02.10.2016, 22:44 | |
|
А где загрузка сегмента данных mov ax,DATASEG как указывал?
0
|
|
|
Модератор
|
|
| 02.10.2016, 23:34 | |
|
Тут "или крест снимите или трусы оденьте".
Или модель TINY+JMP, или загрузка сегмента. Может быть повезло - линкер расположил сегменты по алфавиту.
2
|
|
|
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
|
|
| 03.10.2016, 06:16 | |
|
ФедосеевПавел, собирал на Fasm, залез в отладчик, все нормально, про ASSUME из головы вылетело, давно не пользовался.
0
|
|
|
Модератор
|
|||||||||||||||||||||
| 03.10.2016, 12:45 | |||||||||||||||||||||
Сообщение было отмечено slavik57 как решение
Решение
Ученики часто путаются в моделях программ (и, соответственно, в стартовом и финальном кодах). Наверное, мне нужно было просто пояснить для slavik57 различия, а не выкручиваться.
slavik57, чуть позже вы сами разберётесь. А пока просто примите как рецепт (заклинание), что для DOS программ есть несколько моделей организации программ (если не путаю - tyny, small, medium, huge - подробнее https://www.cyberforum.ru/post5323068.html). Они различаются способами размещения сегмента (сегментов) данных относительно сегмента кода. И соответственно, в коде (в начале и в конце) для них существуют "стандартные" строки - так называемые пролог и эпилог. При компиляции добавляются различные ключи в командной строке линкера. Для tiny (*.com) при организации данных после кода
3
|
|||||||||||||||||||||
|
1 / 1 / 0
Регистрация: 27.04.2014
Сообщений: 62
|
|
| 03.10.2016, 15:49 [ТС] | |
|
Не могу понять как ведут себя регистры в TD
Кликните здесь для просмотра всего текста
http://********/LhAu
у меня криво что-то сделано? или так и должно быть?
0
|
|
|
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
|
|
| 03.10.2016, 16:26 | |
|
Поспешишь - людей насмешишь. Это я о себе. Slavik57 выложи код который у тебя получился. В чем компилируешь Masm,Tasm?
0
|
|
|
1 / 1 / 0
Регистрация: 27.04.2014
Сообщений: 62
|
||||||
| 03.10.2016, 20:25 [ТС] | ||||||
/TASM /m .asm /TLINK /v .obj Предупреждение про стек писало после TLINK
0
|
||||||
|
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
|
|
| 03.10.2016, 20:49 | |
|
slavik57, если делаешь как у ФедосеевПавел код №1, то убери строки 10-11. У меня все скомпилировалось, получился файл с расширением com (как компилировать вверху кода). Под отладчиком все нормально (в al загружает 10 затем складывает, дальше не проверял)
0
|
|
|
1 / 1 / 0
Регистрация: 27.04.2014
Сообщений: 62
|
|
| 03.10.2016, 21:48 [ТС] | |
|
Компилится MS-DOS приложение, которое как я понимаю в TD не запустишь, если я хочу exe, мне нужно собирать(или как это называется) с параметрами /m и /v, но тогда у меня TD показывает какую-то х@ю(скрины выше прикреплял) или я просто не понял и регистры al и ax в TD не одно и тоже, тогда как узнать значения, если у меня всё идёт через al и bl
0
|
|
|
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
|
|
| 03.10.2016, 22:39 | |
|
TD запускаю в файловом менеджере Far. Прекрасно все загружает. Как видим, после сложения в AL - 25, что соответствует 37 дес. системе.
1
|
|
|
1 / 1 / 0
Регистрация: 27.04.2014
Сообщений: 62
|
|
| 06.10.2016, 22:54 [ТС] | |
|
Странно, у меня far не видит ms-dos
0
|
|
|
1719 / 568 / 187
Регистрация: 12.03.2016
Сообщений: 2,169
|
|
| 06.10.2016, 23:07 | |
|
slavik57, у тебя какое расширение исполняемого файла com или exe. Если com, что и должно было получиться если все правильно делал, в TD исправь под File name *.exe на *.com
0
|
|
|
1 / 1 / 0
Регистрация: 27.04.2014
Сообщений: 62
|
||||||
| 06.10.2016, 23:24 [ТС] | ||||||
0
|
||||||
|
Модератор
|
|
| 06.10.2016, 23:28 | |
|
Ну нет и нет символьной таблицы. Отлаживайте без неё.
Для получения отладочной информации нужно компилировать и линковать с ключами, тогда и в TD будет не "голый" асм, а исходный текст.
0
|
|
|
3410 / 1829 / 489
Регистрация: 28.02.2015
Сообщений: 3,696
|
|
| 07.10.2016, 10:49 | |
|
slavik57, 17-19 результат никуда не записывается, аналогично 28-32
0
|
|
|
1 / 1 / 0
Регистрация: 27.04.2014
Сообщений: 62
|
|
| 07.10.2016, 18:09 [ТС] | |
|
знаю, но по заданию нужно сделать без присваивания
0
|
|
| 07.10.2016, 18:09 | |
|
Помогаю со студенческими работами здесь
20
Не используя команды div, sub или idiv поделить число на 4 команды умножения и деления со знаком и без знака mul,imul,div,idiv
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|
|
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога
В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
|
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога
Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
|
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
|