![]() |
|
![]() ![]() ![]() |
|
N0rd |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 24.10.2004 Где: Карелия,Петрозаво дск Репутация: нет Всего: нет |
Разработать программу, которая суммирует произвольное количество одноцифровых чисел. При получении символа "@" суммирование прекращается и сумма выводится на экран. Сумма должна накапливаться в машинном слове. Сделать контроль переполнения.
Помогите пожалуйста с программой.Для начала хотелось бы узнать что такое переполнение и как его проконтролировать? Добавлено @ 22:00 Кстати забыл добавить,используем TASM 2.0. |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: нет Всего: 110 |
это, когда результат не помещается в переменную (например 300 не помещается в байт, т.к. в его двоичной записи участвует 9 бит) его легко проконтролировать, анализируя старший бит слова (если он изменился с 1 на 0, значит переполнение произошло) -------------------- qqq |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 1 Всего: 454 |
не факт. 0FFFFh + 0FFFFh = CF + 0FFFEh. Анализировать надо именно CF после ADD. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
maxim1000 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: нет Всего: 110 |
да, и про флаг забыл, и с битом перепутал (там надо было не бит смотреть, а уменьшение результата после сложения) -------------------- qqq |
|||
|
||||
N0rd |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 24.10.2004 Где: Карелия,Петрозаво дск Репутация: нет Всего: нет |
А как это все на языке ассемблера будет выглядеть?Подскажите пожалуйста начинающему програмисту
![]() |
|||
|
||||
Chingachguk |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1232 Регистрация: 25.3.2002 Где: Москва Репутация: 11 Всего: 18 |
Это сообщение отредактировал(а) Chingachguk - 18.12.2004, 10:44 -------------------- I don't like the drugs (but the drugs like me). M.Manson. |
|||
|
||||
N0rd |
|
|||
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 24.10.2004 Где: Карелия,Петрозаво дск Репутация: нет Всего: нет |
Спасибо большое!Программу сдал.
Добавлено @ 00:56 Помогите пожалуйста ещё с одним.Подскажите ответы на теоретические вопросы так или иначе связанные с ассемблером.Завтра зачетная работа за первый семестр ![]() 1 Необходимость овладения архитектурной культурой. 2 Понятие процессора. Основное назначение и функции центрального процессора. 3 Перечислить 3 основных компонента системной среды центрального процессора Intel 8086/8088 и назначение каждого из них. 4 Изобразить в виде блок-схемы основной цикл процессора. 5 Перевод числа из системы с произвольным основанием в 10-ю систему. 6 Перевод числа из 10-й системы в систему с произвольным основанием. 7 Перевод числа из 2-й системы в 8-ю систему и обратно. 8 Перевод числа из 2-й системы в 16-ю систему и обратно. 9 Перевод числа из 8-й системы в 16-ю систему и обратно. 10 С использованием понятий: "двоичная арифметика, дополнительный код, переполнение" описать процесс вычисления процессором в однобайтовой ячейке памяти значения выражения 128-45+180. 11 Указать в 16-ричной системе диапазоны возможных значений для знаковых и беззнаковых чисел, хранящихся в ячейках памяти: байт, слово, двойное слово. Обосновать ответ. 12 Указать максимальный размер адресного пространства оперативной памяти, которое способен адресовать центральный процессор при использовании 16-битного режима адресации. Обосновать ответ. 14 Регистры процессора: понятие, свойства, основные группы регистров процессора 8086. 15 Особенности стекового доступа к памяти в сравнении с адресным. 16 Чем объяснить, что 20-битное значение базового адреса сегмента кратно 16? Чему равен размер сегмента и чем это объясняется?" 18 В DS записано значение 1234h. В сегменте данных хранится строка 'Ассемблер$', причем между символом конца этой строки и начальным байтом сегмента данных находится 50 байт. Написать значения near и far адресов этой строки. 19 Регистр CS и командный сегмент. Почему нельзя напрямую менять значение CS? 20 Регистр DS и сегмент данных. С какой целью в начале программы присутствуют строки: mov ax, @data mov ds, ax 21 Регистр ES и дополнительный сегмент данных. 22 Регистры SS, SP, BP и стековый сегмент. 23 Написать формулу, связывающую логический и физический адреса ячейки ОП. Привести пример, демонстрирующий возможность принадлежности одного физического адреса двум сегментам: командного и данных. 24 Умолчания процессора при выборе сегментных регистров и перемещений. 25 Операционные регистры. Коротко описать назначение каждого. Основное их отличие от регистров остальных групп. 26 Регистр IP. 27 Регистр флагов и флаги. Отличие флага переноса CF от флага переполнения OF. 28 Основные возможности отладчика Turbo Debugger. 29 Язык ассемблера, определение, достоинства. 30 Символьное имя в языке ассемблера, именуемые объекты языка, атрибуты имени. 31 Формат команды языка ассемблера. 32 Машинные команды, директивы ассемблера. 33 Операции OFFSET и SEG. Как с помощью их комбинации определить логический адрес начала строки, которой соответствует метка данных Stroka DB 'TURBO ASSEMBLER'? 35 Директивы определения данных. 36 Процесс ассемблирования и текущий счетчик адреса. 37 Перемещение, смещение, исполнительный адрес команды. Пожалуйста выручите!! |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 1 Всего: 454 |
А попросить чтобы кто-нить книжку купил по АСМу и подарил ее тебе - мысля не приходила в голову? Значит скоро придет... только не вздумай тут ее высказать...
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Asm для начинающих" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Asm для начинающих | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |