31.03.2020, 22:35 [+3 UTC]
в нашей команде: 4 317 чел. | участники онлайн: 6 (рекорд: 21)

:: РЕГИСТРАЦИЯ

задать вопрос

все разделы

правила

новости

участники

доска почёта

форум

блоги

поиск

статистика

наш журнал

наши встречи

наша галерея

отзывы о нас

поддержка

руководство

Версия системы:
7.83 (12.03.2020)
JS-v.1.35 | CSS-v.3.37

Общие новости:
28.03.2020, 20:29

Форум:
28.03.2020, 21:05

Последний вопрос:
31.03.2020, 15:56
Всего: 151887

Последний ответ:
31.03.2020, 19:49
Всего: 259909

Последняя рассылка:
31.03.2020, 03:15

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
28.09.2019, 15:20 »
dar777
Это самое лучшее решение! [вопрос № 196454, ответ № 278785]
27.04.2016, 23:16 »
Посетитель - 399158
Спасибо большое. Все понятно объяснили [вопрос № 189213, ответ № 273732]

РАЗДЕЛ • Assembler

Создание программ на языке Assembler.

[администратор рассылки: Лысков Игорь Витальевич (Старший модератор)]

Лучшие эксперты в этом разделе

Коцюрбенко Алексей Владимирович
Статус: Старший модератор
Рейтинг: 1061
Зенченко Константин Николаевич
Статус: Старший модератор
Рейтинг: 114
cain52
Статус: 3-й класс
Рейтинг: 1

Перейти к консультации №:
 

Консультация онлайн # 145324
Раздел: • Assembler
Автор вопроса: Полковников Игорь
Отправлена: 28.09.2008, 18:15
Поступило ответов: 0

Уважаемые граждане самой лучшей страны Россия! Прощу помощи с тестом! Буду очень благодарен если вы мне с этим поможете!
Вот и она)
1. Напишите битовые представления ASCII-кодов для следующих однобитовых символов:
а) Р;
б) р;
в) #;
г) 5.
2. Напишите битовые представления для следующих чисел:
а) 5;
б) 13;
в) 21;
г) 27.
3. Сложите следующие двоичные числа:
а) 00010101 б) 00111110 в) 00011111
00001101; 00101001; 00000001.
4. Определите двоичные дополнения для следующих двоичных чисел:
а) 00010011;
б) 00111100;
в) 00111001.
5. Определите положительные значения для следующих отрицательных двоичных цифр: а) 11001000;
б) 10111101;
в) 10000000.
6. Определите шестнадцатеричные представления для следующих значе-ний:
а) ASCII-символа 0;
б) ASCII-символа 7;
в) двоичного числа 01011101;
г) двоичного числа 01110111.
7. Сложите следующие шестнадцатеричные числа:
а) 23A6 б) 51FD в) 7779 г) EABE
0022; 3; 887; 26C4.
8. Определите шестнадцатеричные представления для следующих деся-тичных чисел:
а) 19;
б) 33;
в) 89;
г) 255;
д) 4095;
е) 63398.
Проверь также полученные результаты, преобразовав шестнадцатеричные значения в двоичные и сложив единичные биты.
9. Что представляют собой три типа сегментов, каковы их максимальные размеры и адреса, с которых они начинаются?
10. Какие регистры можно использовать для следующих целей:
а) сложения и вычитания;
б) подсчета числа циклов;
в) умножения и деления;
г) адресации сегментов;
д) индикации нулевого результата;
е) адресации выполняемой команды?
11. Что представляют собой два основных типа памяти компьютера и ка-ково их основное назначение?
12. Напишите машинные команды для:

а) пересылки значения 4629Н в регистр АХ;
б) сложения 036АН с содержимым регистра АХ.
13. Имеется программа, которая выполняет следующее:
• пересылает значения 25Н в регистр AL;
• сдвигает содержимое регистра AL на один бит влево (в результате в AL будет 4A);
• пересылает значения 15Н в регистр BL;
• умножает содержимое регистра AL на содержимое регистра BL.
Какое значение будет в регистре AX после выполнения программы?
14. Программа выполняет следующее:
 пересылает содержимое одного байта по адресу DS:00 (25) в ре-гистр AL;
 сдвигает содержимое регистра AL влево на один бит (получая в ре-зультате 4А);
 умножает AL на содержимое одного байта по адресу DS:01 (15);
 пересылает результат из AX в слово, начинающееся по адресу DS:02.
Напишите команды этой программы.
15. Напишите результат выполнения следующей программы:

MOV BX,25
ADD BX,30
SHL BX,01
SUB BX,22
16. Какие команды заставляют Ассемблер печатать заголовок в начале каждой страницы листинга?
17. Какие из следующих имен неправильны:

а) PC_AT;
б) $50;
в) @$_Z;
г) 3487;
д) AX?
18. Каково назначение каждого из трех сегментов: сегмента кода, сегмен-та данных, сегмента стека?
19. Что конкретно подразумевает директива END, если она завершает:

а) программу;
б) процедуру;
в) сегмент?
20. Укажите различия между директивой и командой.
21. Укажите различия в назначении RET и END.
22. Для сегментов кода, данных и стека даны имена CDSEG, DATSEG и STKSEG соответственно. Сформируйте директиву ASSUME.
23. Напишите три команды для сохранения в стеке регистра DS и нуля.
24. Какова длина в байтах для элементов данных, определенных директи-вами:

а) DW;
б) DD;
в) DT;
г) DB;
д) DQ?
25. Определите следующие числовые значения в элементах данных с име-нами от FLDA до FLDE:
a) четырехбайтового элемента, содержащего шестнадцатеричный эквивалент десятичного числа 115;
б) однобайтового элемента, содержащего шестнадцатеричный эквива-лент десятичного числа 25;
в) двухбайтового элемента, содержащего неопределенное значение;
г) однобайтового элемента, содержащего двоичный эквивалент деся-тичного числа 25;
д) директивы DW, содержащей последовательные значения 16, 19, 20, 27, 30.
26. Покажите сгенерированный шестнадцатеричный объектный код для:
а) DB '26' и
б) DB 26.
27. Определите ассемблерный шестнадцатеричный объектный код для:
а) DB 26h;
б) DW 2645h;
в) DD 25733Ah;
г) DQ 25733Ah.
28. Закодируйте следующие команды с непосредственными операндами:
а) загрузить 320 в регистр АХ;
б) сравнить поле FLDB с нулем;
в) прибавить 40h к содержимому регистра ВХ;
г) вычесть 40h из регистра СХ;
д) сдвинуть содержимое поля FLDB на один бит влево;
е) сдвинуть содержимое регистра СН на один бит вправо.
Напишите команду вызова Ассемблера с параметром получения LST-файла (листинга).
29. Каков максимальный размер СОМ-файла?
30. Какие сегменты можно определить в программе, которая будет преоб-разована в СОМ-файл?
31. Определение стека в СОМ-файлах отсутствует. Как ведет себя СОМ-файл с учетом этого обстоятельства?

32. Какое максимальное количество байтов могут обойти команды корот-кий JMP, LOOP и относительный переход?
33. Команда JMP начинается на 0624h. Определите адрес перехода, если шестнадцатеричный объектный код для операнда команды JMP:

а) 27;
б) 6В;
в) С6.
34. Напишите программу для вычисления 12 чисел Фибоначчи: 1, 1, 2, 3, 5, 13, ...(каждое число представляет собой сумму двух предыдущих чисел).
35. Предположим, что регистры AX и BX содержат знаковые данные, а CX и DX – беззнаковые. Определите команды CMP (где необходимо) и ко-манды безусловного перехода для следующих проверок:

а) значение в DX больше, чем в CX?
б) значение в BX больше, чем в AX?
в) CX содержит нуль?
г) было ли переполнение?
д) значение в BX равно или меньше, чем в AX?
е) значение в DX равно или меньше, чем в CX?
36. На какие флаги воздействуют следующие события и какое значение этих флагов:
а) произошло переполнение;
б) результат отрицательный;
в) результат нулевой;
г) обработка в одношаговом режиме;
д) передача данных должна быть справа налево.
37. Какая разница между кодированием в директиве PROC операнда с ти-пом FAR и с типом NEAR?
38. Каким образом может программа начать выполнение процедуры?
39. В EXE-программе процедура A10 вызывает B10, B10 вызывает C10, а C10 вызывает D10. Сколько адресов, кроме начальных адресов возврата в DOS, содержит стек?
40. Предположим, что регистр BL содержит 11100011 и поле по имени BOONO содержит 01111001. Определите воздействие на регистр BL для сле-дующих команд:

а) XOR BL, BOONO;
б) AND BL, BOONO;
в) OR BL, BOONO;
г) XOR BL, 11111111B;
д) AND BL, 00000000B.
41. Предположим, что регистр DX содержит 10111001 10111001, а ре-гистр CL – 03. Определите содержимое регистра DX после следующих несвя-занных команд:
а) SHR DX,1;
б) SHR DX,CL;
в) SHL DX,CL;
г) SHL DL,1;
д) ROR DX,CL;
е) ROR DL,CL;
ж) SAL DH,1.
42. Используя команды сдвига, пересылки и сложения, умножьте содер-жимое регистра АХ на 10.
43. Напишите программу, которая умножает содержимое пары регистров DX:AX на 2. Измените программу дл я:
а) умножения на 4;
б) деления на 4;
в) умножения 48 бит в регистрах DX:AX:BX на 2.
44. Какие шестнадцатеричные значения строки и столбца соответствуют нижнему правому углу экрана 25х45?
45. Напишите команды для установки курсора по координатам: строка 12, столбец 8.
46. Напишите команды для очистки экрана, начиная с 0-го столбца 12-й строки до 79-го столбца 22-й строки.
47. Составьте необходимые элементы данных и команды для вывода за-проса «Введите дату (дд/ммм/гг)». Используйте для вывода функцию базовой версии DOS.
48. Составьте необходимые элементы данных и команды для ввода с кла-виатуры ответа на вопрос 46 (формат ответа приведен в самом вопросе).

49. Укажите вызовы функций:
а) для ввода с клавиатуры;
б) вывода на эк-ран (середина 15 строки; очистка строк от 0 до 15);
в) вывода на принтер.
50. Объясните назначение каждого из следующих файлов:
а) file.ASM;
б) file.LST;
в) file.OBJ;
г) file.EXE.
51. Напишите две команды для инициализации регистра DS, полагая, что имя сегмента данных DATSEG.
52. Составьте ассемблерную программу для:
- пересылки 30Н ( непосредственное значение ) в регистр AL;
- сдвига содержимого регистра AL на один бит влево ( команда SHL );
- пересылки 18Н ( непосредственное значение ) в регистр BL;
- умножения регистра AL на BL ( команда MUL BL ).

Последнее редактирование 28.09.2008, 22:05 [неизвестный]

Состояние: Консультация закрыта

Oтветов пока не поступило.

Мини-форум консультации № 145324
неизвестный

# 1

= общий = | 28.09.2008, 18:15

53. Модифицируйте программу из предыдущего вопроса 51 для:
• определения однобайтовых элементов (директива DB) по имени FLDА, содержащего 28Н, и по имени FLDB, содержащего 14h;
• определения двухбайтового элемента ( директива DW ) по имени FLDC, не имеющего значения;
• пересылки содержимого поля FLDA в регистр AL и сдвига на один бит;
• умножения содержимого регистра AL на значение в поле FLDB( MUL FLDB);
• пересылки результата из регистра AX в поле FLDC.
54. Составьте процедуры для:
а) установки вида курсора, начинающегося на 5-й линии сканирования и заканчивающегося на 12-й линии;
б) прокрутки экрана на 10 строк.
Вопросы с 55 по 59 имеют отношение к следующим данным:
DATAX DW 0148H
DW 2316H
DATAY DW 0237H
DW 4052H

55. Закодируйте команды для сложения:
а) слова DATAX со словом DATAY;
б) двойного слова, начинающегося по адресу DATAX, с двойным сло-вом в DATAY.
56. Объясните действие следующих команд:
STC
MOV BX,DATAX
ADC BX,DATAY
57. Закодируйте команды для умножения (MUL):
а) слова DATAX на слово DATAY;
б) двойного слова, начинающегося по адресу DATAX, на слово DATAY.
[b] 58. Какой делитель, кроме 0, вызывает ошибку переполнения? [/b]
59. Закодируйте команды для деления (DIV):
а) слова DATAX на 23;
б) двойного слова, начинающегося по адресу DATAX, на слово DATAY.
60. Выполните вручную:
а) преобразование ASCII 46328 в двоичный формат (покажите резуль-тат в шестнадцатеричном виде);
б) преобразование полученного шестнадцатеричного значения обратно в ASCII-формат.
61. Определите таблицу, которая содержит имена дней недели, начиная с воскресенья.
62. Предполагая, что воскресенье равно 1 и что под каждое имя отведено по 11 символов, напишите команды прямого доступа к таблице, определен-ной в вопросе 60.
63. Напишите функции базовой версии DOS для следующих операций:

а) создание файла;
б) установка DTA;
в) последовательной записи;
г) открытие файла;
д) последовательного чтения.
64. Напишите программу, которая создает дисковый файл.
65. Напишите программу, которая выводит файл на экран.
66. Закодируйте два макроопределения для умножения:

а) MULTBY должна генерировать код для умножения байта на байт;
б) MULTWD должна генерировать код для умножения слова на слово.
Для множителя и множимого используйте в макроопределении формаль-ные параметры. Напишите небольшую программу, в которой используются соответствующие макрокоманды и определены необходимые области дан-ных.
67. Предположим, что программа MAINPRO должна вызывать подпро-грамму SUBPRO:
а) какая директива в программе MAINPRO указывает Ассемблеру, что имя SUBPRO определено вне ее собственного кода?
б) какая директива в подпрограмме SUBPRO необходима для того, чтобы имя точки входа было доступно в основной программе MAINPRO?
68. Предположим, что в программе MAINPRO определены переменные QTY как DB, VALUE как DW и PRICE DW. Подпрограмма SUBPRO должна разделить VALUE на QTY и записать частное в PRICE:
а) каким образом программа MAINPRO указывает Ассемблеру, что три переменные должны быть доступны другим программам?
б) каким образом подпрограмма SUBPRO указывает Ассемблеру, что три переменные определены в другом модуле?
69. Измените программу из предыдущего вопроса так, чтобы программа MAINPRO передавала все три переменные как параметры. Подпрограмма SUBPRO должна возвращать результат через параметр.

 

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.18514 сек.

© 2001-2020, Портал RFPRO.RU, Россия
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.83 от 12.03.2020
Версия JS: 1.35 | Версия CSS: 3.37