Главная » Просмотр файлов » А.А. Белеванцев, С.С. Гайсарян, В.П. Иванников, Л.С. Корухова, В.А. Падарян - Задачи экзаменов по вводному курсу программирования

А.А. Белеванцев, С.С. Гайсарян, В.П. Иванников, Л.С. Корухова, В.А. Падарян - Задачи экзаменов по вводному курсу программирования (1113412), страница 4

Файл №1113412 А.А. Белеванцев, С.С. Гайсарян, В.П. Иванников, Л.С. Корухова, В.А. Падарян - Задачи экзаменов по вводному курсу программирования (А.А. Белеванцев, С.С. Гайсарян, В.П. Иванников, Л.С. Корухова, В.А. Падарян - Задачи экзаменов по вводному курсу программирования) 4 страницаА.А. Белеванцев, С.С. Гайсарян, В.П. Иванников, Л.С. Корухова, В.А. Падарян - Задачи экзаменов по вводному курсу программирования (1113412) страница 42019-04-24СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 4)

Даны две перемешанные таблицы Т1[13] и Т2[13] с функциейпервичногоперемешиванияI=K%13,функциейвторичногоперемешивания I=(I+4)%13 , где K – ключ. В таблицы Т1 и Т2 занесеныследующие ключи:23АдресТ1Т201234234052714789185106191112636Дополнить таблицу Т2 ключами из таблицы T1, причем, порядок записиключей такой же, как и был при заполнении таблицы Т1. Указатьсодержимое таблицы Т2 после дополнения:10. Ответить на вопрос: может ли в дереве Фибоначчи высоты 10существовать вершина, левое поддерево которой имеет на 50 вершинбольше, чем правое поддерево? (Считать, что пустое дерево имеет высоту0.) Ответ обосновать.2.5. ВАРИАНТ_1.

2012 г. ( “Архитектура ЭВМ и языкассемблера”)1.Инструкции 1-6 выполняются последовательно. Выпишите вшестнадцатеричном формате значение регистра EAX послевыполнения помеченных инструкций.section .bss y resw 4 section .data x dd 0xFEE1DEAD section .text movsx eax, word [x + 2] ; 1 imul eax, eax, 16 ; 2 ‐ (А) ror eax, 24 ; 3 mov al, 42 ; 4 ‐ (Б) mov word [y + 5], ax ; 5 mov eax, dword [y + 4] ; 6 ‐ (В) 2.Для данного фрагмента ассемблерногосоответствующий код на языке Си.24кодавосстановить mov eax, dword [a] mov eax, dword [eax] mov ecx, dword [b] lea eax, [eax + 4 * ecx] movsx ax, byte [eax] mov word [c], ax static ________________ a; static ________________ b; static ________________ c; ________________ = ________________;3.Для данного фрагмента ассемблерного кода восстановитесоответствующий код на языке Си, заполнив пропуски. mov eax, dword [d] test eax, eax jle .L5 xor edx, edx jmp .L4 .L3: add edx, 1 cmp dword [d], edx jle .L5 .L4: mov eax, dword [b+edx*4] add eax, dword [a+edx*4] test eax, eax mov dword [c+edx*4], eax jns .L3 neg eax mov dword [c+edx*4], eax add edx, 1 cmp dword [d], edx jg .L4 .L5: 25#define N ... static ________________ a[N]; static ________________ b[N]; static ________________ c[N]; static ________________ d; for (__________; __________; __________) { ______________________; if (_______________) { __________________; } } 4.

Си-программа, использующая структуру order, была скомпилированана платформе IA‐32/Linux.typedef struct t_order { char status; int vendorId; char partNo[16]; struct usrInfo * customer; } order, *p_order; Выпишите значения:А) sizeof(order)Б) Смещение поля customer Реализуйте приведенный Си-кодна языке ассемблера: В) static order o; o.partNo[10] = 0; Г) static p_order po; 26 static int x; x = po‐>vendorId; 5. Компилятор построил для тела Си-функции f следующий ассемблерныйкод. Исходя из этого кода и того, что было использовано соглашениеcdecl, восстановите заголовок функции: типы параметров, ихпорядок, тип возвращаемого значения. mov edx, dword [ebp+16] movzx ecx, byte [ebp+20] mov ebx, dword [ebp+12] mov eax, edx sal eax, cl mov dword [ebx], eax mov eax, dword [ebp+8] mov dword [eax], edx mov eax, dword [ebx] ____________ f(___________________ , ___________________ , ___________________ , ___________________ ) { *w = y << x; *v = y; return *w; } 6.

Реализуйте на языке ассемблера заданную функцию. Запрещенопользоваться командами ввода/вывода из файла io.inc. Передвызовом функции g стек уже выровнен должным образом.int g(short *pnum) { int tmp; printf("%d\n", tmp = scanf("%hd", pnum)); return tmp; } 7.Для данного фрагмента Си-кода приведите соответствующийассемблерный код, учитывая побочные эффекты. Значение выраженияпоместите в регистр EAX. static int a, b, c; 27++a && (c = b /a ); 8. Перепишите фрагмент кода без использования строковых инструкций,но с сохранением итогового значения регистра ECX и флага ZF. cld mov esi, dword [a] mov edi, dword [b] mov ecx, 16 repne cmpsw 9.

Используется 8-и битный формат, удовлетворяющий требованиямстандарта IEEE 754: знаковый бит, 3 бита – порядок, 4 бита мантисса. Заполните таблицу. Округление выполнять к ближайшемучетному.ЧислоНаибольшее нормализованноеНаименьшееденормализованное2/513Битовое представление10. Память модельного компьютера состоит из 32 однобайтовых ячеек.

2канальный ассоциативный кэш имеет следующие характеристики:B=2 байта в блоке, S=2 канала, E=2 блока в канале, вытесняется блок снаиболее давним использованием (LRU). В начальный моментвремени кэш пуст. Определите, что происходит при последовательномобращении к следующим адресам памяти (промах/попадание).АдресПромах/Попадание 2 = 00010b 3 = 00011b 8 = 01000b 16 = 10000b 29 = 11101b 8 = 01000b 2828 = 11100b 2.6. Коллоквиум №1. 2012 г. ( “Архитектура ЭВМ и языкассемблера”)1.

Выпишите значение регистра AL в шестнадцатеричной системе и ввиде десятичного числа (знакового и беззнакового), а также значенияфлагов CF, OF, ZF, SF после выполнения следующих инструкций.MOV AL, 145 ADD AL, 157 2. Выписать значение регистра EAX после выполнения следующего кода.section .data a dw 0x0DEC b dw 0x4A6F c dw 0x7921 d dw 0xFEFF section .text mov ebx, dword [с] mov eax, ‐1 movzx ax, bh 3. Для данного фрагмента ассемблерного кода восстановитьсоответствующий код на языке Сиmov ecx, dword [a] movsx edx, word [d] mov eax, ecx imul eax, dword [b] sub eax, edx movsx ebx, word [c] cdq idiv ebx sub ecx, eax mov dword [a], ecx static ________________ a; static ________________ b; static ________________ c; static ________________ d; ______ = __________________________; 4.

Для данного фрагмента ассемблерного кода восстановитьсоответствующий код на языке Си.29mov edx, dword [b] mov eax, dword [a] mov edx, dword [edx] lea eax, [4*eax] neg eax mov eax, dword [edx+eax] mov dword [c], eax static _____________ a; static _____________ b; static _____________ c; ______ = ______________________; 5. Для данного фрагмента ассемблерного кода восстановитьсоответствующий код на языке Си xor ecx, ecx xor eax, eax .L3: mov edx, dword [a+ecx*4] cmp edx, 1024 jle .L2 mov dword [a+ecx*4], 1024 mov edx, 1024 .L2: add ecx, 1 add eax, edx cmp ecx, 16 jne .L3 mov dword [sum], eax #define N ____ #define C ____ static int a[N]; static int sum; _______________; for (__________; __________; ________) { if (_____________) { ____________________; } ____________________; } 306.

Для данного фрагмента Си-кода приведите соответствующийассемблерный код. Необходимо учесть побочные эффекты. Значениевыражения поместите в регистр EAX.static int a, b, c; (a = ++b) && (c *= 7); 2.7. Коллоквиум №2. 2012 г. ( “Архитектура ЭВМ и языкассемблера”)1.

В приведенной ниже Си-программе (скомпилирована на платформе IA32/Windows), использующей структуру данных gadget, выпишитезначения: :А) sizeof(struct gadget) Б) Смещение поля prototype В) sizeof(union i_face) Г) Смещение поля magicstruct gadget { int id; short weight; union i_face { double resistor; char magic; int* i_desc; long pin_map[2]; } connector; struct gadget * prototype; }; 2. Компилятор построил для тела Си-функции f следующийассемблерный код.Исходя из этого кода, и того, что было использовано соглашение cdecl,восстановите заголовок функции: типы параметров, их порядок, типвозвращаемого значения.31 mov ecx, dword [ebp+12] mov eax, dword [ebp+20] movsx edx, byte [ebp+8] sal edx, 2 mov ebx, ecx sub ebx, edx mov dword [eax], ebx movsx edx, word [ebp+16] mov dword [ecx], edx ____________ f(___________________ , ___________________ , ___________________ , ___________________ ) { *c = d ‐ a; *d = b; return c; } 3.

Реализуйте на языке ассемблера заданную функцию.__attribute__((fastcall)) int f(int x, int y) { int t = (x / y) >> 10; return t; } 4. Реализуйте на языке ассемблера заданную функцию. Перед вызовомфункции g стек уже выровнен должным образом.long g(long *p) { long tmp; scanf(“%d %d”, &tmp, p); return *p – tmp; } 5. Выписать значение регистров ESI, EDI и ECX после выполненияследующего кода.Метке team соответствует адрес 0x4096.32section .data BUFSIZE equ 16 team: db “Charlie Brown“ times BUFSIZE‐$+team db 0 db “Snoopy“ times 2*BUFSIZE‐$+team db 0 db “Linus“ times 3*BUFSIZE‐$+team db 0 db “Lucy“ times 4*BUFSIZE‐$+team db 0 section .text cld mov esi, team mov edi, team add esi, 3*BUFSIZE add edi, 2*BUFSIZE mov ecx, 16 repe cmpsb 6.

Используется 10-ти битный формат, удовлетворяющий требованиямстандарта IEEE 754: знаковый бит, порядок - 4 бита, мантисса 5 битов. Заполните пустые ячейки таблицы.Описание Ноль Наибольшее нормализованное Наименьшее положительное 1/3 Точное значение 0.0 Номер вашей группы[101 – 106]33Битовое представление 0_0000_00000 2.8. ВАРИАНТ_1. 2011 г. ( “Архитектура ЭВМ и языкассемблера”)1. Выпишите значение регистра AL в шестнадцатеричной системе и вдесятичной системе, рассматривая содержимое регистра как беззнаковоечисло и как знаковое число, а также значения флагов CF, SF, OF и ZFпосле выполнения следующих инструкций. а) б) mov al, ‐20 add al, 144 mov al, 80 sub al, 86 2. Выписать в шестнадцатеричном виде значение регистра EAX, послевыполнения следующей инструкции.section .data a dw 0xDEAD b dw 0xF00D c dw 0xCAFE d dw 0xBABE section .text movsx eax, word [a + 1] 3.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6381
Авторов
на СтудИзбе
308
Средний доход
с одного платного файла
Обучение Подробнее