Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Команда ввода данных в память




ЛАБОРАТОРНАЯ РАБОТА № 1

Архитектура ЭВМ на базе процессоров Intel

Цель работы: изучить структурную организацию ЭВМ, построенную на базе процессоров Intel, набор и доступность регистров процессора Intel 8086, организацию оперативной памяти, способы представления и форматы данных ЭВМ.

Основные понятия

Архитектура ЭВМ и ее структурная схема

Архитектура ЭВМ это абстрактное представление ЭВМ, которое отражает ее структурную, схемотехническую и логическую организацию. Понятие архитектуры ЭВМ является комплексным и включает в себя:

– структурную схему ЭВМ;

– средства и способы доступа к элементам структурной схемы ЭВМ;

– организацию и разрядность интерфейсов ЭВМ;

– набор и доступность регистров;

– организацию и способы адресации памяти;

– способы представления и форматы данных ЭВМ;

– набор машинных команд ЭВМ;

– форматы машинных команд;

– обработку нештатных ситуаций (прерываний).

Структурную схему ЭВМ можно представить в виде отдельных модулей, объединенных каналом обмена информации. Набор модулей, входящих в состав ЭВМ, может быть достаточно велик и изменяется в зависимости от назначения конкретной машины. Одна из возможных структур ЭВМ приведена на рис. 1.1.

Согласно этому рисунку, в состав ЭВМ входят центральный процессор, оперативная память и периферийные устройства ввода-вывода, такие, как, видео (монитор и видеоадаптер), аудио (адаптер звуковых устройств и динамики), накопители на жестком магнитном диске (НЖМД) и гибком магнитном диске (НГМД) с соответствующими адаптерами, принтер и модем, которые подключаются через ЭВМ через стандартные средства расширения. К таким стандартным средствам расширения относят параллельный и последовательный интерфейсы.

Все указанные устройства объединяются в систему посредством общего канала обмена информацией, называемого интерфейсом "общая шина".

 

Рис. 1.1. Структурная схема ЭВМ

Общая шина состоит из трех частей: шины адреса, шины данных и шины управления. Непосредственно для обмена информацией между отдельными устройствами ЭВМ предназначена шина данных. За исключением режима прямого доступа к памяти, управление обменом информации по шине данных осуществляет центральный процессор. В этом случае он выступает в качестве одной из сторон обмена (источником или приемником). Другая из сторон – оперативная память, или периферийное устройство. Центральный процессор использует шину адреса для указания, с каким именно устройством, и какой его частью происходит обмен. Шина управления предназначена для передачи в оперативную память или периферийное устройство управляющей информации о том, какая именно операция производится: считывание или запись.

Разрядности шины данных и шины адреса определяют такие характеристики ЭВМ, как разрядность центрального процессора и максимальный объем оперативной памяти соответственно.

Центральный процессор

Центральный процессор – основное устройство ЭВМ, выполняющее управление обменом информации по интерфейсу "общая шина" и все необходимые арифметико-логические операции обработки информации. Ниже будут рассмотрены основы архитектуры процессора Intel 8086 – родоначальника семейства процессоров Intel x86 и Intel Pentium. На базе этого семейства в настоящее время построено большинство персональных компьютеров (ПК).

В состав центрального процессора входят устройство управления и блок микрокоманд, регистровая память, арифметико-логическое устройство и кэш-память 1-го уровня.

Устройство управления предназначено для организации обмена информации между центральным процессором и остальными частями ЭВМ. С помощью этого устройства процессор считывает команды и данные из оперативной памяти и записывает данные в память. Другой его функцией является дешифрирование кодов команд.

Результат дешифрирования используется блоком микрокоманд, для генерации так называемой микропрограммы – последовательности внутренних сигналов процессора, обеспечивающих совместное функционирование устройств центрального процессора с целью исполнения той или иной команды.

Регистровая память используется центральным процессором для хранения данных и управляющей информации. Регистровая память образуется так называемыми регистрами, которые представляют собой ячейки памяти, входящие в состав процессора и доступные из машинной программы. Доступ к регистрам осуществляется значительно быстрее, чем к ячейкам оперативной памяти, поэтому использование регистров заметно уменьшает время выполнения программ.

Все регистры центрального процессора Intel 8086 имеют размер слова (два байта – 16 битов), за каждым из них закреплено определенное имя (AX, SP и т.п.).

По назначению и способу использования регистры можно разбить на следующие группы:

– регистры общего назначения (AX, BX, CX, DX, BP, SI, DI, SP);

– сегментные регистры (CS, DS, SS, ES);

– счетчик команд (IP);

– регистр флагов (Flags).

Запомнить названия регистров совсем не сложно, если учесть, что вторая буква ' X ' в названиях регистров означает принадлежность к группе регистров, предоставляющих доступ к отдельным байтам, вторая буква ' S ' – принадлежность к группе сегментных регистров. Дальнейшая расшифровка этих названий: A – accumulator (аккумулятор); B – base (база); C – counter (счетчик); D – data (данные); BP – base pointer (указатель базы); SI – source index (индекс источника); DI – destination index (индекс приемника); SP – stack pointer (указатель стека); CS – code segment register (сегментный регистр кода команд); DS – data segment register (сегментный регистр данных); SS – stack segment register (сегментный регистр стека); ES – extension segment register (дополнительный сегментный регистр данных); IP – instruction pointer (счетчик команд).

Регистры общего назначения применяются для хранения данных. Их можно использовать во всех арифметических и логических командах. В то же время каждый их них имеет определенную специализацию (некоторые команды "работают" только с определенными регистрами). Например, команды умножения и деления требуют, чтобы один из операндов находился в регистре AX или в регистрах AX и DX (в зависимости от размера операнда), а команды управления циклом используют регистр CX в качестве счетчика цикла. Регистры BX и BP очень часто используются как базовые регистры при обращении к памяти, а SI и DI – как индексные. Регистр SP обычно указывает на вершину стека – специально организованной области памяти, аппаратно поддерживаемой в ЭВМ.

Регистры AX, BX, CX и DX конструктивно устроены так, что возможен независимый доступ к их старшей и младшей половинам; можно сказать, что каждый из этих регистров состоит из двух байтовых регистров, обозначаемых AH, AL, BH и т.д. (H – high, старший; L – low, младший):

AX: AH AL
BX: BH BL
CX: CH CL
DX: DH DL
Биты: 15 8 7 0

Таким образом, с каждым из этих регистров можно работать как с единым целым, а можно работать и с его "половинками". Например, можно записать слово в AX, а затем считать только часть слова из регистра AH или заменить только часть в регистре AL и т.д. Такое устройство регистров позволяет использовать их для работы и с числами, и с символами.

Все остальные регистры на "половинки" не делятся, поэтому считать или записать их содержимое (16 битов) можно только целиком.

Сегментные регистры CS, DS, SS и ES используются при формировании адресов команд и данных, расположенных в оперативной памяти. Они не могут быть операндами никаких команд, кроме команд пересылки и стековых команд.

Счетчик команд IP всегда содержит адрес (смещение от начала программы) той команды, которая должна быть выполнена следующей (начало программы хранится в регистре CS). Содержимое регистра IP можно изменить только командами перехода.

В процессоре имеется особый регистр флагов. Флаг – это бит, принимающий значение 1 ("флаг установлен"), если выполнено некоторое условие, и значение 0 ("флаг сброшен") в противном случае. В процессоре Intel 8086 используется 9 флагов, каждому из них присвоено определенное имя (ZF, CF и т.д.). Все они собраны в 16-разрядном регистре флагов (каждый флаг – это один из разрядов регистра, часть его разрядов не используется). Формат регистра флагов, отражающий распределение отдельных флагов по битам этого регистра, приведен на рис. 1.2.

Рис. 1.2. Формат регистра флагов

Непосредственного доступа как к отдельным флагам, так и к регистру флагов в целом центральный процессор не предоставляет.

Некоторые флаги принято называть флагами условий; они автоматически меняются при выполнении команд и фиксируют те или иные свойства их результата (например, равен ли он нулю). Другие флаги называются флагами состояний; они меняются из программы и оказывают влияние на дальнейшее поведение процессора (например, блокируют прерывания).

К флагам условий относят:

CF (carry flag) – флаг переноса;

OF (overflow flag) – флаг переполнения;

ZF (zero flag) – флаг нуля;

SF (sign flag) – флаг знака;

PF (parity flag) – флаг четности;

AF (auxiliary carry flag) – флаг дополнительного переноса.

Флаг переноса (CF) принимает значение 1, если при сложении целых чисел появилась единица переноса, не "влезающая" в разрядную сетку, или если при вычитании чисел без знака первое из них было меньше второго. В командах сдвига в CF заносится бит, вышедший за разрядную сетку. CF фиксирует также особенности команды умножения.

Флаг переполнения (OF) устанавливается в 1, если при сложении или вычитании целых чисел со знаком получился результат, по модулю превосходящий допустимую величину (произошло переполнение мантиссы и она "залезла" в знаковый разряд).

Флаг нуля (ZF) устанавливается в 1, если результат команды оказался равным 0.

Флаг знака (SF) устанавливается в 1, если в операции над знаковыми числами получился отрицательный результат.

Флаг четности (PF) равен 1, если результат очередной команды содержит четное количество двоичных единиц. Учитывается обычно только при операциях ввода-вывода.

Флаг дополнительного переноса (AF) фиксирует особенности выполнения операций над двоично-десятичными числами.

К флагам состояний относят:

DF (direction flag) – флаг направления;

IF (interrupt enable flag) – флаг разрешения прерываний;

TF (trap flag) – флаг трассировки.

Флаг направления (DF) устанавливает направление просмотра областей памяти в цепочечных командах: при DF = 0 области просматриваются "вперед" (от начала к концу), при DF = 1 – в обратном направлении.

Флаг разрешения прерываний (IF): при IF = 0 процессор перестает реагировать на поступающие к нему прерывания, при IF = 1 блокировка прерываний снимается.

Флаг трассировки (TF): при TF = 1 после выполнения каждой команды процессор делает прерывание (с номером 1), чем можно воспользоваться при отладке программы для ее трассировки.

Арифметико-логическое устройство предназначено для организации переработки информации внутри центрального процессора. Оно позволяет выполнять арифметические и логические операции над данными, а также сдвиги. К арифметическим операциям относятся: сложение, вычитание, умножение и деление. В состав логических операций входят: отрицание, операция "И", операция "ИЛИ" и операция "ИСКЛЮЧАЮЩЕЕ ИЛИ".

Кэш-память является "посредником" между процессором и оперативной памятью. В ней хранятся наиболее часто используемые участки оперативной памяти. Время доступа процессора к кэш-памяти в несколько раз меньше, чем к обычной памяти. За счет этого среднее время доступа к памяти значительно сокращается.

Оперативная память

Оперативная память предназначена для хранения программ и данных. Ее можно рассматривать как конечную последовательность ячеек, имеющих размер 1 байт. Номер байта в этой последовательности называется физическим адресом (или просто адресом).

Физический адрес используется для получения доступа к конкретной ячейке памяти. Именно эта информация выставляется центральным процессором на шину адреса.

Для обеспечения доступа к оперативной памяти в процессоре Intel 8086 и процессорах последующих поколений, работающих в реальном режиме, используется так называемая сегментированная модель памяти.

В сегментированной модели вводится понятие "сегмента". Так называется любой участок памяти размером до 64 Кб и с начальным адресом, кратным 16. Физический адрес формируется процессором на основании этого начального адреса и смещения конкретной ячейки памяти относительно начала сегмента. Для хранения начального адреса сегмента применяются сегментные регистры процессора.

Процессор обеспечивает доступ к четырем сегментам одновременно. Эти сегменты называются сегментом кода, сегментом данных, сегментом стека и дополнительным сегментом данных.

Сегмент кода содержит команды программы. Для доступа к этому сегменту используется сегментный регистр cs. Он содержит адрес сегмента с машинными командами.

Сегмент данных содержит обрабатываемые программой данные. Для доступа к этому сегменту служит сегментный регистр DS, который хранит адрес сегмента данных текущей программы.

Сегмент стека – этот сегмент представляет собой область памяти, называемую стеком. Работу со стеком микропроцессор организует по следующему принципу: последний записанный в эту область элемент выбирается первым. Для доступа к этому сегменту служит сегментный регистр ss, содержащий адрес сегмента стека.

Дополнительный сегмент данных применяется в некоторых командах для организации обмена информации между этим сегментом и сегментом данных. Адрес дополнительного сегмента данных должен содержаться в сегментном регистре es.

Представление данных

С представлением данных в памяти ЭВМ тесно связано понятие типа данных.

Понятие типа данных носит двойственный характер. С точки зрения размерности микропроцессор аппаратно поддерживает следующие основные типы данных.

1. Байт – восемь последовательно расположенных битов, пронумерованных от 7 до 0, при этом бит 0 является самым младшим значащим битом.

2. Слово – последовательность из двух байт, имеющих последовательные адреса. Размер слова – 16 бит; биты в слове нумеруются от 15 до 0. Байт, содержащий нулевой бит, называется младшим байтом, а байт, содержащий 15-й бит, – старшим байтом. Процессоры Intel имеют важную особенность – младший байт всегда хранится по меньшему адресу. Адресом слова считается адрес его младшего байта. Адрес старшего байта может быть использован для доступа к старшей половине слова.

3. Двойное слово – последовательность из четырех байт (32 бита), расположенных по последовательным адресам. Нумерация этих бит производится от 31 до 0. Слово, содержащее нулевой бит, называется младшим словом, а слово, содержащее 31-й бит, — старшим словом. Младшее слово хранится по меньшему адресу. Адресом двойного слова считается адрес его младшего слова. Адрес старшего слова может быть использован для доступа к старшей половине двойного слова.

Кроме трактовки типов данных с точки зрения их разрядности, процессор на уровне команд поддерживает логическую интерпретацию этих типов. С точки зрения логической интерпретации выделяют следующие типы данных.

1. Целый тип со знаком – двоичное значение со знаком, размером 8, 16 или 32 бита. Знак в этом двоичном числе содержится в 7, 15 или 31-м бите соответственно. Ноль в этих битах в операндах соответствует положительному числу, а единица – отрицательному. Отрицательные числа представляются в дополнительном коде. Числовые диапазоны для этого типа данных следующие:

– 8-разрядное целое – от – 128 до 127;

– 16-разрядное целое – от – 32 768 до 32 767;

– 32-разрядное целое – от – 231 до 231 – 1.

2. Целый тип без знака – двоичное значение без знака, размером 8, 16 или 32 бита. Числовой диапазон для этого типа следующий:

– байт – от 0 до 255;

– слово – от 0 до 65 535;

– двойное слово – от 0 до 232 – 1.

3. Указатель на память (адрес) бывает двух типов.

Ближний тип – 16-разрядный логический адрес, представляющий собой относительное смещение в байтах от начала сегмента (короткий адрес).

Дальний тип – 32-разрядный логический адрес, состоящий из двух частей: 16-разрядной сегментной части и 16-разрядного смещения (полный адрес).

4. Цепочка представляет собой некоторый непрерывный набор байтов, или слов максимальной длиной до 64 Кбайт.

5. Символ – байт, в который записывается код символа – целое от 0 до 255. В ЭВМ используется система кодировки ASCII (American Standard Code for Information Interchange).

6. Строка – последовательность символов, которая размещается в соседних байтах памяти, так, что код первого символа строки записывается в первом байте, код второго символа - во втором байте и т.п. Адресом строки считается адрес ее первого байта.

7. Неупакованный двоично-десятичный тип – байтовое представление десятичной цифры от 0 до 9. Неупакованные десятичные числа хранятся как байтовые значения без знака по одной цифре в каждом байте. Значение цифры определяется младшим полубайтом.

8. Упакованный двоично-десятичный тип представляет собой упакованное представление двух десятичных цифр от 0 до 9 в одном байте. Каждая цифра хранится в своем полубайте.

СОДЕРЖАНИЕ РАБОТЫ

1. Ознакомиться с теоретическим материалом.

2. Дать определение архитектуры ЭВМ.

3. Описать состав и назначение основных блоков, составляющих структурную схему ЭВМ.

4. Описать регистровую структуру процессора Intel 8086 и назначение регистров.

5. Описать механизмы организации оперативной памяти.

6. Описать способы представления данных в ЭВМ.

ЛАБОРАТОРНАЯ РАБОТА № 2

Программа-отладчик DEBUG как средство
практического изучения организации ЭВМ

Цель работы: изучить возможности программы-отладчика DEBUG и приобрести практические навыки работы с ней.

Основные понятия

DEBUG – это системная программа, позволяющая выполнять просмотр и изменение состояний процессора и памяти компьютера, побайтное тестирование и побайтную обработку дисковых файлов, что обеспечивает возможность выполнения отлаживаемых программ небольшими порциями. При этом программа выполняется под "наблюдением" отладчика.

Таким образом, основное назначение этой программы – отладка программ на уровне машинных кодов и языка ассемблера. Однако возможности, предоставляемые этой программой, делают ее удобным инструментом для изучения организации персональных компьютеров.

Запуск отладчика

Чтобы запустить отладчик, в командной строке Windows (Меню Пуск – Выполнить) вводится команда debug (см. рис. 2.1). В качестве параметра команда запуска отладчика может включать имя обрабатываемого файла, например debug lab1.com

Рис. 2.1. Диалог "Запуск программы debug"

Если обрабатываемый файл не записан в текущем каталоге, то в командной строке необходимо указать полный путь к нему.

После нажатия кнопки " OK " диалога запуска отладчик загружается в память машины и переходит в режим ожидания ввода команды.

Команды программы DEBUG

DEBUG – это программа, работающая по принципу "команда – действие", т.е., чтобы произвести некоторую операцию отладчик должен получить соответствующую команду. В качестве сигнала о готовности принять команду, отладчик посылает на экран стандартный запрос – дефис (-).

Для управления процессом отладки в DEBUG применяется набор команд, список которых можно получить, введя команду помощи (символ "Вопрос"). Окно отладчика, в котором выведен список поддерживаемых команд, приведено на рис. 2.2. Более подробное описание этих команд приведено в приложении.

Рис. 2.2. Окно программы DEBUG

Общими замечаниями по вводу команд отладчика является следующее:

– все команды начинаются с буквы, заглавной или строчной;

– большая часть команд требует введения дополнительных параметров, часть из которых является необязательными;

– если два подряд расположенных параметра являются числами, то они разделяются пробелом или запятой (в противном случае параметры можно не отделять один от другого);

– все числа должны вводиться в шестнадцатеричном представлении;

– некоторые команды принимают в качестве параметра адрес, который может вводиться в двух формах: полный логический адрес – два шестнадцатеричных числа, записанные через двоеточие (первое число – сегментная компонента логического адреса, второе число – смещение) и короткий адрес – одно шестнадцатеричное число (смещение);

– при указании полного логического адреса допускается в качестве сегментной компоненты приводить имя сегментного регистра, из которого данная компонента будет выбираться.

С точки зрения изучения организации ЭВМ, набор команд, предлагаемый отладчиком, является избыточным. Минимально необходимый набор включает команды:

– (A)SSEMBLE – ассемблирование;

– (U)NASSEMBLE – дизассемблирование;

– (E)NTER – ввод данных в память;

– (D)UMP – вывод содержимого участка памяти на экран;

– (R)EGISTER – просмотр и изменение содержимого регистров;

– (T)RACE – пошаговое выполнение программы;

– (N)AME – задание имени файла программы;

– (L)OAD – загрузки файла в память;

– (W)RITE – запись области памяти в файл;

– (Q)UIT – выход из отладчика.

Перечисленные команды представляют для нас наибольший интерес. Рассмотрим их подробнее.

Команда ассемблирования
(перевод мнемокода ассемблера в машинный код)

Отладчик DEBUG можно использовать для введения операторов ассемблера непосредственно в память машины. Команду ASSEMBLE можно использовать при составлении коротких программ на ассемблере, а также при внесении изменений в существующие программы. Эта команда позволяет вводить мнемокод ассемблера непосредственно в память, избавляя от необходимости транслировать (ассемблировать) программу. Вводимый текст не может включать метки перехода в чистом виде.

При введении команды, необходимо набрать " а " или " A " и, через пробел, необязательный параметр – адрес первой команды загружаемой программы. Если указан короткий адрес, то адрес сегмента выбирается из регистра CS. Если адрес не задан вообще, то машинный код будет помещаться в память, начиная с того места, где закончилась обработка предыдущей командой ASSEMBLE. Если после старта отладчика команда вводится в первый раз и в командной строке отсутствует начальный адрес, то размещение машинного кода производится с адреса CS:0100.

После введения команды ассемблирования на экране появляется начальный адрес. Это сигнал на введение первой команды программы. Если команда введена без ошибок, на экран выдается адрес следующей команды и отладчик опять переходит в режим ожидания. В случае ошибки отладчик обозначает ее месторасположение. Если введены все команды программы, то нажимается Enter – команда ASSEMBLE заканчивает работу и возвращает управление отладчику.

Пример ассемблирования небольшой программы:

-a 0976:0100

0976:0100 MOV AL,2A

0976:0102 MOV DI,0200

0976:0105 MOV CX,001D

0976:0108 CLD

0976:0109 REPNZ STOSB

0976:010B MOV AL,24

0976:010D STOSB

0976:010E PUSH ES

0976:010F POP DS

0976:0110 MOV DX,0200

0976:0113 MOV AH,09

0976:0115 INT 21

0976:0117 INT 20

0976:0119 <---- Нажимается Enter

-

Команда дизассемблирования
(перевод машинного кода в мнемокод ассемблера)

Команда UNASSEMBLE служит для перевода машинного кода на язык ассемблера. При введении команды необходимо набрать " u " или " U " и, через пробел, необязательные параметры – начальный адрес обрабатываемого кода, конечный адрес обрабатываемого кода или его размер.

В командной строке UNASSEMBLE можно не указывать начальный адрес обрабатываемого кода. Если указан короткий адрес, то адрес сегмента выбирается из регистра CS. Если адрес не задан вообще, то машинный код обрабатывается с того места, где закончилась обработка предыдущей командой UNASSEMBLE. Если после старта отладчика команда вводится в первый раз и в командной строке отсутствует начальный адрес, то обработка машинного кода производится с адреса CS:0100.

Обрабатываемый участок памяти можно определить начальным и конечным адресами. При этом, в не зависимости от формы начального адреса, конечный адрес должен быть коротким.

Другой вариант задания обрабатываемого участка памяти – задание его начального адреса и размера. Чтобы отличить размер от короткого конечного адреса перед ним вводится символ " L ".

Если размер участка памяти, обрабатываемой командой UNASSEMBLE, не определен, то по умолчанию длина обрабатываемого участка равна 32 байтам.

Результатом выполнения команды дизассемблирования является листинг программы, сгруппированный в три колонки. В листинге слева (первая колонка) указывается полный логический адрес команды. Затем (вторая колонка) – значение составляющих команду байтов в машинном коде. В третьей колонке находится соответствующая этому коду инструкция ассемблера.

Пример дизассемблирования небольшой программы, введенной в предыдущем примере:

-u CS:0100 L19

0976:0100 B02A MOV AL,2A

0976:0102 BF0002 MOV DI,0200

0976:0105 B91D00 MOV CX,001D

0976:0108 FC CLD

0976:0109 F2 REPNZ

0976:010A AA STOSB

0976:010B B024 MOV AL,24

0976:010D AA STOSB

0976:010E 06 PUSH ES

0976:010F 1F POP DS

0976:0110 BA0002 MOV DX,0200

0976:0113 B409 MOV AH,09

0976:0115 CD21 INT 21

0976:0117 CD20 INT 20

-

Команда ввода данных в память

Ввод данных осуществляется с помощью команды ENTER. Эта команда позволяет побайтно корректировать содержимое памяти. Команда состоит из буквы e (или E) и адреса первого байта корректируемого блока. Если указан короткий адрес, то адрес сегмента выбирается в регистре DS.

Вводимые данные также включаются в командную строку. Они представляют собой последовательность чисел в шестнадцатеричном представлении и/или символьных значений, разделенных пробелом или запятой. Символьные значения заключаются в апострофы.

Проиллюстрируем работу ENTER на следующем примере:

-e DS:0000 20 2A 44 41 54 41 20 'IS' 20 48 45 52 45 2A 20

Команда вводит 16 значений. Данные последовательно заполняют память (побайтно), начиная с адреса DS:0000. Четырнадцать байтов занимают числа в шестнадцатеричном формате, два байта отводятся под символьную константу 'IS'.

Команда ENTER может использоваться для отображения и, в случае необходимости, корректировки значения конкретного байта. В этом случае команда состоит из буквы e (или E) и следующего за ней адреса. При введении команды на экране появляется адрес байта и его значение:

-e DS:0000

0958:0000 20.

При нажатии на клавишу пробела на экране появляется значение следующего байта:

-e DS:0000

0958:0000 20. 2A.

Значение байта можно изменить. Для этого вводится новое шестнадцатеричное число. Однако символьные переменные в этом случае вводить нельзя.

Чтобы завершить выполнение команды, нажимается Enter. Появление дефиса (-) – стандартного запроса отладчика, свидетельствует о его готовности принять следующую команду.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...