| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Asm для начинающих > Сложение чисел |
| Автор: N0rd 16.12.2004, 21:56 |
| Разработать программу, которая суммирует произвольное количество одноцифровых чисел. При получении символа "@" суммирование прекращается и сумма выводится на экран. Сумма должна накапливаться в машинном слове. Сделать контроль переполнения. Помогите пожалуйста с программой.Для начала хотелось бы узнать что такое переполнение и как его проконтролировать? Добавлено @ 22:00 Кстати забыл добавить,используем TASM 2.0. |
| Автор: maxim1000 16.12.2004, 23:46 | ||
это, когда результат не помещается в переменную (например 300 не помещается в байт, т.к. в его двоичной записи участвует 9 бит) его легко проконтролировать, анализируя старший бит слова (если он изменился с 1 на 0, значит переполнение произошло) |
| Автор: Akina 17.12.2004, 09:18 | ||
не факт. 0FFFFh + 0FFFFh = CF + 0FFFEh. Анализировать надо именно CF после ADD. |
| Автор: maxim1000 17.12.2004, 09:59 | ||
да, и про флаг забыл, и с битом перепутал (там надо было не бит смотреть, а уменьшение результата после сложения) |
| Автор: N0rd 17.12.2004, 21:23 |
| А как это все на языке ассемблера будет выглядеть?Подскажите пожалуйста начинающему програмисту |
| Автор: Chingachguk 18.12.2004, 10:44 | ||
|
| Автор: N0rd 22.12.2004, 00:52 |
| Спасибо большое!Программу сдал. Добавлено @ 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 22.12.2004, 10:05 |
| А попросить чтобы кто-нить книжку купил по АСМу и подарил ее тебе - мысля не приходила в голову? Значит скоро придет... только не вздумай тут ее высказать... |