Организация ЭВМ и С
###THEMES###
Представление информации в ЭВМ
Выполнение операций в ВТ
Основы программирования на Ассемблере
Базовые принципы организации ЭВМ
Логический уровень организации ЭВМ
Архитектура и организация МП IA-32
Формат команд и способы адресации
Память ЭВМ
Система прерываний
Организация ввода-вывода
Представление информации в ЭВМ
Система счисления в которой вес цифры меняется в зависимости от ее местоположения в числе называется
-Двоичной
-Позиционной
-Непозиционной
-восьмеричной
Количественный эквивалент числа в позиционной системе счисления описывается выражением
, где n –
-Количество цифр в дробной части
-Количество цифр в целой части
-Количество цифр в числе
-Основание системы счисления
Количественный эквивалент числа в позиционной системе счисления описывается выражением, где m –
-Количество цифр в дробной части
-Количество цифр в целой части
-Количество цифр в числе
-Основание системы счисления
Количественный эквивалент числа в позиционной системе счисления описывается выражением, где p –
-Количество цифр в дробной части
-Количество цифр в целой части
-Количество цифр в числе
-Основание системы счисления
Двоичное число 0101,1b cоответствует десятичному эквиваленту
-4,5d
--5,2d
-5,5d
-11d
Шестнадцатеричное число A9h cоответствует десятичному эквиваленту
-169d
-89d
-38d
--09d
Двоичное число 10101111b соответствует шестнадцатеричному эквиваленту
-FAh
-AAh
-10Fh
-AFh
Шестнадцатеричное число 93h соответствует двоичному эквиваленту
-10010011b
-00111001b
-11001001b
-10000011b
Десятичное число 25d соответствует двоичному эквиваленту
-10011b
-11001b
-11101b
-10111b
Десятичное число 0,375d соответствует двоичному эквиваленту
-1,111b
-0,110b
-0,011b
-0,001b
Расположите шестнадцатеричные числа в порядке возрастания:
C9h
A9h
9Ah
9Ch
Дополнительный двоичный код десятичного числа со знаком +12d равен
-11000000b
-11001100b
-00001100b
-10001100b
Дополнительный двоичный код десятичного числа со знаком -12d равен
-11001111b
-11110100b
-00001100b
-10001100b
Двоичные целые числа без знака форматом 1 байт находятся в диапазоне
--127…+128
--128… +127
- 0… 255
-0…65535
Двоичные целые числа со знаком форматом 1 байт находятся в диапазоне
--127…+128
--128… +127
--32768…+32767
-0…65535
Двоичные целые числа без знака форматом 2 байта (слово) находятся в диапазоне
--128… +127
--127…+128
-0… 255
-0…65535
Двоичные целые числа со знаком форматом 2 байта (слово) находятся в диапазоне
--127…+128
--128… +127
- -32768…+32767
-0…65535
В стандарте IEEE754 для представления двоичных чисел с плавающей точкой используются нормализованные числа, в которых точка располагается
-слева от старшего ненулевого бита мантиссы
-справа от старшего бита мантиссы
-слева от старшего бита мантиссы
-справа от старшего ненулевого бита мантиссы
Нормализованное по стандарту IEEE754 двоичное число 10110,0011*22 соответствует
-1,01100011*26
-0,01100011*26
-1,01100011*2-4
-0,01100011*2-4
Вещественные числа в формате IEEE754 имеют в своем представлении три двоичных поля
-Знак мантиссы
-Знак порядка
-Смещенный порядок
-Порядок
-Целая часть мантиссы
-Дробная часть мантиссы
Смещенный порядок в представлении вещественного числа в формате IEEE754 позволяет сэкономить 1 бит, предназначенный для
-Знака мантиссы
-Знака порядка
-Дробной части числа
-Целой части числа
Вещественные числа одинарной точности в формате IEEE754 разрядность
-80 бит
-16 бит
-32 бита
-64 бита
Вещественные числа двойной точности в формате IEEE754 разрядность
-80 бит
-16 бит
-32 бита
-64 бита
Сколько двоичных разрядов занимает беззнаковое число 96d (десятичное) в неупакованном двоично-десятичном формате (BCD)
-8
-12
-16
-32
Сколько двоичных разрядов занимает число 96d (десятичное) в упакованном двоично-десятичном формате (BCD)
-8
-12
-16
-32
ASCII коды символов “C” и “D” отличается на
-2
-1
-28
-8
Cтарший разряд четырехразрядного целого двоичного числа имеет вес
-2
-8
-4
-1
Младший разряд восьмиразрядного целого двоичного числа имеет вес
-2
-8
-4
-1
Старший разряд восьмиразрядного целого двоичного числа имеет вес
-27
-28
-20
-21
Знаковый разряд однобайтового числа – это разряд
-D7
-D0
-D1
-D8
Выполнение операций в вт
Результат логической операции AND над операндами A = 01100011b и В = 10000111b будет равен
-00000011b
-11100111b
-10011100b
-11111100b
Результат логической операции OR над операндами A = 01100011b и В = 10000111b будет равен
-00000011b
-11100111b
-10011100b
-11111100b
Результат арифметической операции сложения над операндами A = 01100011b и В = 10000111b будет равен
-00000011b
-11100111b
-10011100b
-11101010b
Результат арифметической операции сложения над операндами A = -9d и В = 15d будет равен
-00000011b
-11100111b
-00000110b
-11111100b
Результат арифметической операции сложения над операндами A = 12d и В = -15d будет равен
-00000011b
-11100111b
-00000110b
-11111101b
Результат арифметической операции сложения равен 11111101b, а флаги результата имеют значения
-PF=0, ZF=0, SF=1
-PF=1, ZF=1, SF=1
-PF=0, ZF=0, SF=0
-PF=1, ZF=0, SF=1
Результат операции логического умножения равен 10000101b, а флаги результата имеют значения
-PF=0, ZF=0, SF=0
-PF=1, ZF=1, SF=1
-PF=0, ZF=0, SF=0
-PF=0, ZF=0, SF=1
Результат арифметической операции вычитания равен 00111101b, а флаги результата имеют значения
-PF=0, ZF=0, SF=0
-PF=1, ZF=1, SF=1
-PF=0, ZF=1, SF=0
-PF=0, ZF=0, SF=1
При сложении беззнаковых чисел индикатором переполнения является флаг
-OF
-SF
-CF
-AF
При сложении чисел со знаком индикатором переполнения является
-CF= OF
-CF=1
-OF=1
-CF# OF
При сложении чисел со знаком переполнение может происходить если операнды имеют
-Разные знаки
-Одинаковые знаки
-не происходит никогда
-происходит всегда
При вычитании чисел со знаком переполнение может происходить если операнды имеют
-Разные знаки
-Одинаковые знаки
-не происходит никогда
-происходит всегда
При выполнении логических операций знак результата кодируется
-значением старшего бита
-значением младшего бита
-результат не имеет знака
-всегда отрицательный
При выполнении логических операций сигнал межразрядного переноса
-не формируется
-учитывается в следующем разряде
-устанавливает флаг CF
-устанавливает флаг AF
Беззнаковые целые числа - это числа
-среди которых нет отрицательных
-среди которых нет 0
-в диапазоне -65535...+65535
-среди которых нет положительных
Основы программирования на Ассемблере
Процесс преобразования программы на ассемблере в машинные коды называется
-компиляцией
-загрузкой
-компоновкой
-ассемблированием
Для создания программы на Ассемблере последовательно выполняются этапы
Отладка
Компоновка
Создание исходного модуля
Трансляция
Непосредственную загрузку регистра можно выполнить с помощью команды
-MOV dst, data
-MOV dst, src
-LEA reg, mem
-XCHG reg, mem
Внутрисегментное смещение переменной var_1 может быть загружено в регистр DX командами
-MOV DX, var_1
-MOV var_1, DX
-MOV DX, offset var_1
-LEA DX, var_1
Переменную var_1 можно загрузить в регистр AL командой
-MOV AL, var_1
-MOV var_1, AL
-MOV AL, offset var_1
-LEA AL, var_1
Операндом команды работы со стеком PUSH src может быть
-Любой 16 битовый регистр или двухбайтовая ячейка памяти
-Любой регистр или ячейка памяти
-Любой 16 битовый регистр кроме сегментного или двухбайтовая ячейка памяти
-Любой 16 битовый регистр кроме сегментного
Операндом команды работы со стеком POP dst может быть
-Любой 16 битовый регистр кроме сегментного
-Любой 16 битовый регистр кроме сегментного или двухбайтовая ячейка памяти
-Любой 16 битовый регистр или двухбайтовая ячейка памяти
-Любой 16 битовый регистр кроме сегментного регистра CS или двухбайтовая ячейка памяти
При прямой адресации к портам ввода-вывода используются команды
-IN ac, port
-IN ac, DX
-OUT DX, ac
-OUT port, ac
При косвенной адресации к портам ввода-вывода в качестве указателя адреса порта используется регистр
-DS
-CS
-CX
-DX
При прямой адресации к портам ввода-вывода используются команды IN ac, port и OUT port, ac в которых операнд port является
-Числом в диапазоне 0..255
-Числом в диапазоне –128…-127
-Числом в диапазоне 0…65535
-Числом в диапазоне 0…220
Ошибочными являются ассемблерные команды
-MOV AL, CH
-MOV CX, 3Eh
-MOV SI, AH
-MOV DS, 8EEEAh
-MOV DX, var_1
Операндами команды MOV dst, src могут быть
-Регистр – регистр
-Сегментный регистр – сегментный регистр
-Память – регистр
-Память – память
-Регистр – непосредственные данные
-Непосредственные данные – регистр
-Регистр – память
-Сегментный регистр – непосредственные данные
Длина операндов в командах передачи данных должна быть
-Равна 1 байту
-Разной
-Одинаковой
-Равна 2 байтам
Операнды логических команд являются
-Целыми Числами без знака
-Целыми Числами со знаком
-Вещественными числами со знаком
-Вещественными числами без знака
При выполнении команд логических операций флаг переноса CF
-Формируется
-Всегда равен 1
-Всегда равен 0
-Не формируется
Если содержимое AL = 0Fh , то результатом выполнения команды NOT AL, будет
-11110000b
-00001111b
-10101010b
-00000000b
Формат директив Ассемблера предусмативает следующие поля
-имя
-метка
-директива
-комментарий
-мнемоника
-операнд(ы)
-префикс
Формат команд Ассемблера предусматривает следующие поля
-метка
-мнемоника
-имя
-префикс
-директива
-операнд(ы)
-комментарий
Каждая команда при трансляции формирует код длиной
-1 байт
-4 байта
-длина зависит от способов адресации операнда
-2 байта
В каждой программе на Ассемблере обязательно должен быть
-сегмент стека
-сегмент кода
-сегмент адреса
-сегмент данных
Команды Ассемблера могут быть
-адресными
-безоперандными
-двухоперандными
-безадресными
-однооперандными
.Code это директива
-закрытия сегмента кода
-открытия сегмента кода
-объявления данных
-резервирования памяти под сегмент кода
. Data - это директива
-объявления данных в программе
-резервирования памяти под данные, используемые в программе
-открытия сегмента данных
-объявления констант, используемых в программе
.Model <модель памяти> - это директива предполагает использования
-организацию дополнительного сегмента данных в программе
-упрощенных директив описания сегментов .Data, .Stack, .Code
-стандартных директив SEGMENT и ENDS
-директивы ASSUME для связывания сегментов программы с сегментными регистрами
Директива ASSUME связывает
-метку команды с командой
-сегментные регистры с логическими сегментами программы
-точку входа в программу с командой
-точку выхода из программы с командой
Для исполняемых модулей типа .COM справедливо
-(DS)>(SS)>(CS)
-(DS)<(SS)<(CS)
-(DS)=(SS)=(CS)
-(DS)(SS)(CS)
В исполняемых модулях типа .COM
-логические сегменты программы увеличиваются на 64 Кбайт
-стек отсутствует
-данные, стек и команды размещаются в одном сегменте
-логические сегменты программы равны 16 Кбайт
Сегменты исходного модуля должны располагаться в порядке
-данные, стек, код
-произвольном
-код, данные, стек
-стек, данные, код
Результат операции умножения операндов размером byte MUL src помещается в
-ячейку памяти
-в регистр DX
-регистр-аккумулятор АХ
-в стек
Результатом выполнения команды MUL CL будет
-AX:=(AX)*(CX)
-DX:=(DL)*(CL)
-AX:=(AL)*(CL)
-AL:=(AL)*(CL)