Главная » Просмотр файлов » assembler. Учебник для вузов_Юров В.И_2003 -637с

assembler. Учебник для вузов_Юров В.И_2003 -637с (862834), страница 18

Файл №862834 assembler. Учебник для вузов_Юров В.И_2003 -637с (Юров В.И - Assembler. Учебник для вузов. 2003) 18 страницаassembler. Учебник для вузов_Юров В.И_2003 -637с (862834) страница 182021-12-22СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Перевод в шестнадцатеричную систему счисления80Глава 4. Системы счисленияПеревод из двоичной системы счисленияИдея алгоритма состоит в том, что двоичное число разбивается на тетрады начиная с младшего разряда. Далее каждая тетрада приводится к соответствующемушестнадцатеричному числу, согласно табл. 4.2.К примеру, пусть требуется перевести в шестнадцатеричную систему счисления следующее число:111001011010111101011000110110001111010101011012.Разобьем его на тетрады:0111 0010 1101 0111 1010 11000110 11000111 1010 1010 1101.По тетрадам приводим последовательности нулей и единиц к шестнадцатеричному представлению:72d7ac6c7aad.То есть в результате преобразования мы получим шестнадцатеричное число72d7ac6c7aad1(i.Перевод дробных чиселПрограммист должен уметь выполнять перевод в различные системы счисленияне только целых чисел, но и дробных чисел.

Особенно важно это при программировании алгоритмов, использующих операции с плавающей точкой. Без владенияв полной мере знаниями о том, как представляются дробные числа в памяти компьютера и в регистрах сопроцессора, вам вряд ли удастся овладеть программированием на ассемблере в полной мере. Давайте разберемся с наиболее часто используемыми на практике способами перевода дробных чисел. Для этого формулу (4.1)преобразуем к следующему виду:\,Га^-Р"1+а„-2-Р"2 + -...+ at-pl + а0-р" + а_, • р~1 + а 2-р2 + ... + а т-р~т.Рассмотрим операции перевода чисел па примерах.(4.3)Пример 1Пусть требуется перевести в десятичное представление следующее дробное число, заданное в двоичной системе счисления:110100,010010112.Для перевода используем формулу (4.3):110100,010010112= 1 - 2 3 + 1 - 2 4 + 0 - 2 3 + 1 • 22 + 0 • 2 1 + 0 • 2° + 0 • 2 ~ ' +2345G7+ 1 • 2- + 0 • 2- + 0 • 2~ + 1 • 2- + 0 • 2- + 1 • 2" + 1 • 2~8.Для вас не составит труда вычислить целую часть десятичной дроби:54321 .

2 + 1 . 2 + 0 • 2 + 1 • 2 + 0 • 2' + 0 • 2°.Для вычисления остальной части выражения удобно использовать табл. 4.3.Перевод чисел из одной системы счисления в другую81Таблица 4.3. Значения отрицательных степеней по основанию числа 2Отрицательная степеньДва в указанной степени10,520,2530,12540,062550,0312560,015625.70,0078125Вы можете сами продолжить табл. 4.3 значениями отрицательных степеней пооснованию числа 2 и в конце концов подсчитать результат перевода в десятичноепредставление значения110100,010010112.Пример 2Пусть требуется перевести в десятичное представление следующую дробь, заданную в шестнадцатеричной системе счисления:Idf2,ale4 |6 .Вновь используем формулу (4.3):Idf2,ale4 16 = 1 • 163 + 13 • 162 + 15 • 2 1 + 2 • 16" + 10 •+ 1 • 16 2 ++ 14- 16-3 + 4 - 16ЛДля удобства вычисления дробной части приведем значения отрицательныхстепеней числа 16 (табл.

4.4).Таблица 4.4. Значения отрицательных степеней по основанию числа 16Отрицательная степеньШестнадцать в указанной степени10,062520,0039062530,00024414062540,0000'! 5258789062550,0000009536743164062560,00000005960464477539062570,0000000037252902984619140625Перевод из двоичной системы счисления в шестнадцатеричную и обратно выполняется, как обычно, на основе тетрад и трудности вызывать не должен.82Глава 4. Системы счисленияПример 3Рассмотрим теперь проблему представления десятичных дробей в двоичной и шестнадцатеричной системах счисления:Общий алгоритм перевода десятичной дроби в другую систему счисления можнопредставить следующей последовательностью тагов.1.

Выделить целую часть десятичной дроби и выполнить ее перевод в выбраннуюсистему счисления по алгоритмам, рассмотренным ранее.2. Выделить дробную часть и умножить ее на основание выбранной новой системы счисления.3. Bv полученной после умножения дробной части десятичной дроби выделитьцелую часть и принять ее в качестве значения первого после запятой разрядачисла в новой системе счисления.4. Если дробная часть значения, полученного после умножения, равна нулю, топрекратить процесс перевода. Процесс перевода можно прекратить также в случае, если достигнута необходимая точность вычисления.

В противном случаевернуться к шагу 3.Рассмотрим пример. Пусть требуется перевести в двоичную систему счисления десятичную дробь 108,40610.Сначала переведем целую часть десятичной дроби 108,40610 в двоичную систему счисления (рис. 4.5).Рис. 4.5. Перевод целой части десятичного числа 108,406 в двоичную систему счисленияЗатем переведем дробную часть десятичного числа 108,40610 (рис.

4.6) по приведенному ранее алгоритму.Результат перевода следующий:108,40610 = 1101100,011001111.При переводе дробного числа из десятичной системы счисления в шестнадцатеричную целесообразно предварительно перевести число в двоичную! систему,а затем двоичное представление разбить на тетрады отдельно до разделительнойПеревод чисел из одной системы счисления в другую83.406.972Рис. 4.6. Перевод дробной части числа 108,406 в двоичную систему счислениязапятой и после запятой.

Разбиение на тетрады двоичных разрядов целой частипроизводят от запятой в сторону старших разрядов. Неполную старшую тетрадудополняют слева нулями. Разряды дробной части, напротив, разбивают на тетрадыот запятой вправо к младшим разрядам. Если последняя тетрада неполная, то ее дополняют нулями справа. На рис. 4.7 показан процесс перевода того же дробного десятичного числа (108,40610) в эквивалентное шестнадцатеричное представление.108,406 = 110 1100, 01100111 1= 6с,678(о)ио 1100, 01100111 1 (ооо)8Рис. 4.7. Пример перевода десятичного числа в шестнадцатеричную систему счисленияПеревод чисел со знакомДо сих пор предполагалось, что числа положительные.

А как представляютсяв компьютере числа со знаком?Положительные целые со знаком — это 0 и все положительные числа.Отрицательные целые со знаком — это все числа, меньшие 0. Отличительнымпризнаком числа со знаком является особая трактовка старшего бита поля, представляющего число.

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

Если старший битравен 1, число считается отрицательным, а это предполагает, что оно записано в такназываемом дополнительном коде. Разберемся в том, что он собой представляет.84Глава 4. Системы счисленияДополнительный код некоторого отрицательного числа представляет собойрезультат инвертирования (замены 1 на 0 и наоборот) каждого бита двоичногочисла, равного модулю" исходного отрицательного числа плюс единица. К примеру, рассмотрим десятичное число -18510. Модуль данного числа в двоичном представлении равен 101 1 10012. Сначала нужно дополнить это значение слева нулямидо нужной размерности — байта, слова и т. д. В нашем случае дополнить нужнодо слова, так как диапазон представления знаковых чисел в байте составляет-128...127. Следующее действие — получить двоичное дополнение.

Для этого всеразряды двоичного числа нужно инвертировать:000000001011 10012-> 111 111 11010001 102.Теперь прибавляем единицу:1111 11 1 1010001 102 + 00000000000000012 = 11111 11 1010001 112.Результат преобразования равен 11111111010001112. Именно так и представляется число -185Ш в компьютере.При работе с числами со знаком от вас наверняка потребуется умение выполнять обратное действие — имея двоичное дополнение числа, определить значениеего модуля. Для этого необходимо выполнить два действия.1.

Выполнить инвертирование битов двоичного дополнения.2. К полученному двоичному числу прибавить двоичную единицу.К примеру, определим модуль двоичного представления числаСначала инвертируем биты:ИНН 11010001 112-> 00000000101 110002.Добавляем двоичную единицу:0000000010 1110002 + 00000000000000012 = 00000000101 110012 = |-185|.Теперь мы готовы разговаривать с компьютером на его языке, состоящем изкоманд и данных. В следующей главе мы напишем первую программу на ассемблере, разбирая которую, мы сможем применить знания, полученные в этой и предыдущих главах.Итогиж Системы счисления подразделяются на позиционные и непозиционные.

Какв позиционных, так и в непозиционных системах счисления используется определенный набор символов — цифр, последовательное сочетание которых образует число.и Специфика работы программиста предполагает хорошее владение счетом в трехсистемах счисления: двоичной, шестнадцатеричной и десятичной. При этомпрограммист должен достаточно уверенно переводить числа из одной системысчисления в другую.т Числа со знаком представляются в компьютере особым образом: положительные числа — в виде обычного двоичного числа, а отрицательные — в дополнительном коде.Глава 5Синтаксис ассемблераСтруктура программы на ассемблереТипы и структура предложений ассемблераПонятие о метасинтаксических языкахКлассификация лексем ассемблераОписание простых операндов и операндов-выраженийВарианты расположения операндов команд ассемблераВиды адресации операндов в памятиОператоры ассемблераСтандартные директивы сегментацииУпрощенные директивы сегментацииПростые типы данных ассемблера (диапазоны значений)Директивы описания простых типов данныхВ предыдущих главах основное обсуждение было посвящено внутреннему устройству процессора, его принципам работы и программной модели.

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

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

Тип файла
PDF-файл
Размер
14,34 Mb
Тип материала
Высшее учебное заведение

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

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