|
0 / 0 / 0
Регистрация: 10.10.2018
Сообщений: 8
|
||||||
TASM Перехватив прерывание от таймера, вывести на экран последовательность степеней числа 208.12.2019, 17:20. Показов 4405. Ответов 6
Перехватив прерывание от таймера, вывести на экран последовательность степеней числа 2. Вывод прекратить, когда числа выйдут за пределы 16-разрядной сетки
При запуске возникают данные ошибки:
0
|
||||||
| 08.12.2019, 17:20 | |
|
Ответы с готовыми решениями:
6
Перехватив прерывание от таймера вывести на экран сумму двух соседних нечетных элементов массива Перехватив прерывание от таймера проверить есть ли в нем число 10h |
|
Модератор
|
|||||||||||
| 08.12.2019, 18:05 | |||||||||||
|
Размер переменной другой
shlДобавлено через 7 минут Если все 16 чисел вывести за 1 вызов прерывания таймера - отработайте без таймера. Такой неформатированный код очень тяжело читать, поэтому не проверял его - уверен, что он полон логических ошибок, которые пройдут компиляцию. Ещё раз повторю: Если все 16 чисел вывести за 1 вызов прерывания таймера - отработайте без таймера.
0
|
|||||||||||
|
Модератор
1245 / 676 / 292
Регистрация: 10.11.2019
Сообщений: 1,406
|
||||||
| 09.12.2019, 18:30 | ||||||
0
|
||||||
|
Модератор
|
|
| 09.12.2019, 19:51 | |
|
Это победа?
0
|
|
|
Модератор
1245 / 676 / 292
Регистрация: 10.11.2019
Сообщений: 1,406
|
||||||
| 09.12.2019, 20:21 | ||||||
|
Вообще дальше можно исправлять:
0
|
||||||
|
Модератор
|
|
| 09.12.2019, 20:31 | |
|
qbfan, я почему-то решил, что вы топикстартер.
Раз приводите решение, то хотя бы вкратце расскажите о нём. Непонятно, чем оно лучше предложенного топикстартером.
0
|
|
|
Модератор
1245 / 676 / 292
Регистрация: 10.11.2019
Сообщений: 1,406
|
||||||
| 10.12.2019, 13:48 | ||||||
Сообщение было отмечено ФедосеевПавел как решение
Решение
Когда-то давным-давно, в конце 80х годов
все компьютерные журналы были забиты программами-русификаторами дисплея и клавиатуры, из которых можно было понять, как организовать работу по прерываниям и резидентные программы. Сейчас эта информация просто забыта и утеряна. Также есть небольшой секрет - очень старая программа под DOS - Tech Help by Dan Rollings, из которой можно почерпнуть практически всю информацию о компьютерах 90х годов (функции DOS, BIOS, порты ввода-вывода, система команд 286 процессора) Очень рекомендую скачать эту программу из Сети. Основная идея аппаратного прерывания - это некая подпрограмма, которая получает управление под действием контроллера прерываний и выполняет некие действия, не нарушая при этом работу основной программы (например текстового редактора или игры, запущенной в данный момент) Есть ещё прерывания 0 - деление на ноль, 1 - пошаговая отладка, но речь пока не о них. Важно понять, что в современных компьютерах прямое перепрограммирование контроллера прерываний (как это было в DOS) недопустимо, так как нарушит работу Windows. Очень хорошо, что у Kuabi не дошло дело до реального запуска собственной программы так как внутри прерывания используются функции DOS Int 21h и особенно выход в DOS по AX=4C00h. Это неизбежно привело бы к краху системы. Внутри аппаратных прерываний крайне нежелательно использовать функции DOS, для этого используются специальные трюки. Но нам это и не нужно - мы можем воспользоваться функциями BIOS для работы с дисплеем Int 10h или даже прямым обращением к видеопамяти через сегмент 0B800h. Но важно понять, что работа DOS программ в Windows эмулируется, например мы заносим в 0B800h:0000h слово 0721h (восклицательный знак), а Windows опять-таки через достаточно сложный и запутанный механизм прерываний рисует "!" (по точкам) в режиме True Color в окне консоли, причём мы можем двигать окно мышкой и даже запускать одновременно несколько одинаковых программ в разных окнах, и все они должны выполняться без ошибок. Итак, мы используем внутри нашего прерывания по тайьеру Int 10, а также вызываем старую функцию прерывания (которая выдает аппаратное подтверждение mov AL,20h mov 20h,AL так что эти две команды мы уже не пишем). Ключевой для понимания является команда
зависнуть. На самом деле выполняется наше прерывание, которое меняет intcnt. Далее всё просто: printdigit печатает на дисплее число, cls стирает экран указанным цветом, at устанавливает курсор (если не нравится название, можно поменять например на locate) putchar выводит на экран символ. Компилировалось на MASM 5.10 и TASM 4.0
1
|
||||||
| 10.12.2019, 13:48 | |
|
Помогаю со студенческими работами здесь
7
Вывести на экран последовательность степеней числа 2
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|