В мире
Самое читаемое на сайте
Последние новости
Новости: 19.02.18Выбор и выгодный заказ могильной плиты 30.11.17 Когда необходим проект ПНООЛР? 11.09.17 Преимущества использования тепловентиляторов 14.08.17 Посредничество в получении кредита 17.06.17 Немного об автобусных турах 17.05.17 Как ухаживать за робот-пылесосом? 04.05.17 Печать рекламы на пакетах: достоинства 29.04.17 Профлист: особенности и достоинства 26.04.17 Запчасти редуктора по привлекательным ценам 17.04.17 Чистый воздух в собственном доме Календарь новостей
|
ВНИМАНИЕ!!!
УВАЖАЕМЫЕ ПОЛЬЗОВАТЕЛИ!!!
Сайт поменял владельца и на нём грядут большие перемены.
Убедительная просьба не пользоваться покупкой рефератов через смс.
ДАННЫЙ СЕРВИС БОЛЬШЕ НЕ РАБОТАЕТ
Стоит вопрос об его удалении, дабы сделать рефераты бесплатными. Извините за неудобство и спасибо за понимание
Поиск реферата
Реферат, курсовая, контрольная, доклад на тему: Программа перевода десятичного числа в двоичную и шестнадцатеричную системы счисленияСодержание 1. Введение V Описание программы V Этапы разработки ассемблерных программ ___ V Программа перевода десятичного числа в двоичную и шестнадцатеричную системы счисления 4. Список литературы Введение Средства, обеспечивающие функционирование вычислительной техники подразделяются на 2 части: аппаратную и программную. В состав аппаратной части входят такие устройства как: . центральный процессор; . оперативная память; . периферийные устройства; Все вышеперечисленные устройства построены на интегральных схемах Интегральная схема это микроэлектронное изделие, выполняющее определенные функции преобразования, имеющее высокую плотность упаковки электрически соединенных между собой элементов и компонентов и представляющее единое целое с точки зрения требований к испытаниям приемки и эксплуатации. Примером ИС являются схемы цифровых устройств: регистры, сумматоры, полусумматоры, счетчики, шифраторы, дешифраторы и т.д. К программной части относятся: совокупность программ и правил со всей относящейся к ним документацией, позволяющая использовать вычислительную машину для решения различных задач. Программа - законченная последовательность машинных команд или операторов языка программирования, определяющая последовательность действий для решения некоторой задачи. Задачей в нашей работе является: преобразование трехразрядного десятичного числа в двоичную и шестнадцатеричную системы счисления. Задача эта реализуется с помощью языка ассемблера. В этом низкоуровневом языке используются символические (мнемонические) обозначения машинных команд и адресов. Преимуществом этого языка является: во-первых, то что, программы, написанные на нем, требуют значительно меньшего обьема памяти; во-вторых, знание этого языка и результирующего машинного кода дает представление архитектуры машины, что вряд ли обеспечивается при работе на языке програмирования высокого уровня. Общие сведения о языке ассемблера Символический язык ассемблера позволяет в значительной степени устранить недостатки программирования на машинном языке. Главным его достоинством является то, что на языке ассемблера все элементы программы представлены в символической форме. Преобразование символических имен команд в их двоичные коды возлагаются на специальную программу – ассемблер, которая освобождает программиста от трудоемкой работы и исключает неизбежные при этом ошибки. Символические имена, вводимые при программировании на языке
ассемблера, как правило отражают семантику программы, а аббревиатура команд Для программирования на языке ассемблера необходимо иметь сложные
инструментальные средства, чем при программировании на машинном языке:
нужны вычислительные комплексы на базе микро – ЭВМ или ПЭВМ с комплектом
периферийных устройств (алфавитно-цифровая клавиатура, символьный дисплей, Языки ассемблера являются машинно-ориентированными, т. е. зависимыми от машинного языка и структуры соответствующего микропроцессора, так как в них каждой команде микропроцессора присваивается определенное символическое имя. Языки ассемблера обеспечивают существенное повышение производительности труда программистов по сравнению с машинными языками и в то же время сохраняют возможность использовать все программно-доступные аппаратные ресурсы микропроцессора. Это дает возможность квалифицированным программистам составлять программы, выполняемые за более короткое время и занимающие меньший объем памяти по сравнению с программами, создаваемыми на языке высокого уровня. В связи с этим практически все программы управления устройствами ввода/вывода (драйверы ) пишутся на языке ассемблера не смотря на наличие достаточно большой номенклатуры языков высокого уровня. С помощью языка ассемблера программист может задать следующие параметры: мнемонику ( символическое имя ) каждой команды машинного языка микропроцессора; стандартный формат для строк программы, описываемой на ассемблере; формат для указания различных способов адресации и вариантов команд; формат для указания символьных констант и констант целочисленного типа в различных системах счисления; псевдокоманды, управляющие процессом ассемблирования (трансляции) программы. На языке ассемблера программа записывается построчно, т. е. для каждой команды отводится одна строка. Для микро – ЭВМ, построенных на базе наиболее распространенных типов микропроцессоров, может существовать несколько вариантов языка ассемблера, однако практическое распространение обычно имеет один – это так называемый стандартный язык ассемблера. В дальнейшем мы будем рассматривать именно стандартные языки ассемблера. Каждая строка написанной на языке ассемблера программы содержит четыре поля: МЕТКА КОД ОПЕРАНД КОММЕНТАРИЙ Поле МЕТКА не является обязательным, оно помечает адрес той ячейки памяти, в которой размещен первый байт отмеченной команды. Метки используются в качестве адресов перехода команд передачи управления, и благодаря их наличию программист может не оперировать абсолютными адресами, а использовать символические адреса, что значительно удобнее. Метка может иметь длину от одного до шести символов, первым из которых должна быть буква. Во многих ассемблерах допускается использование меток любой длины, но распознаются только первые шесть символов. Метка не должна содержать пробелов и знаков пунктуации. В некоторых ассемблерах за последним символом метки должно следовать двоеточие. В поле метки каждая метка должна быть определенна только один раз, но ссылок к ней можно использовать столько раз, сколько это необходимо. В противном случае ассемблер выдаст диагностическое сообщение о многократно определенной метке. Поле КОД содержит символическое имя выполняемой команды или псевдокоманды. Мнемоника большинства команд представляет собой аббревиатуру предложений на английском языке, характеризующих их основную функцию. Например: MOV (MOVE) -передать, переслать ADD (ADDITION) -сложение SUB (SUBSTRACT) -вычитание LDA (LOAD DIRECT ACCUMULATOR) -непосредственная загрузка INR (INSCREMENT аккумулятора REGISTER) -инкремент регистра DCR (DECREMENT REGISTER) декремент регистра Мнемоники команд являются ключевыми словами ассемблера, и если они не входят во множество допустимых мнемоник, то ассемблер выдает сообщение о недействительной команде. Поле ОПЕРАНД определяется обычно в зависимости от поля кода команды. Операнд представляет собой выражение, содержащее мнемоническое обозначение, константы и операторы. Простейшие операнды содержат одно мнемоническое обозначение или одну константу. В качестве мнемонического обозначения могут использоваться идентификаторы внутренних рабочих регистров, метки и текущее значение программного счетчика. Константы могут быть представлены в различных системах счисления. Программная часть Описание программы 1. Ввод числа с клавиатуры. 2. Вывод сообщения о введеном числе. 3. Перевод числа в двоичный эквивалент. 4. Вывод на экран двоичного числа. 5. Перевод числа в шестнадцатеричную систему. 6. Вывод на экран шестнадцатеричного числа. 7. Цикл (продолжим?) если ДА то пункт 1, иначе пункт 8 8. Выход из программы. этапы разработки ассемблерных программ 1. ПОСТАНОВКА ЗАДАчИ. ВКЛЮчАЕТ В СЕБя СОДЕРЖАТЕЛЬНОЕ ОПИСАНИЕ ЗАДАчИ И РАЗРАБОТКУ АЛГОРИТМА. Файл с расширением *.ASM . Файла с расширением *.ASM в объектный Файл, содержащий программу в машинном коде с расширением *.OBJ . Так же на этом этапе может быть создан листинг программы. Файл с расширением *.LST, в котором содержится основная информация о программе, а так же Файл перекрёстных ссылок с расширением *.CRF. На этом этапе происходит проварка текста программ на наличие ошибок. Ассемблирование осуществляется при помощи программы транслятора TASM.EXE (ASM.EXE – в ассемблере, MASM.EXE - в макроассемблере). TASM [опции] *.ASM [,,] - команда для выполнения трансляции. Если в команде указана одна запятая, то Файл листинга Формируется. В TASM имеются две опции: /ZI и /N. Они вызываются: ТАSМ. *.ЕХЕ или *.СОМ. Для этого используется TLINK.exe (для макроассемблера LINK.EXE). Имеются опции: /Т и /X. ;ПРОГРАММА ПЕРЕВОДА ДЕСЯТИЧНОГО ЧИСЛА В ;ДВОИЧНУЮ И ШЕСТНАДЦАТЕРИЧНУЮ
;Процедура ввода десятичного числа xor cx,cx l1: mov ah,1 int 21h stosb inc cx cmp al,0dh jnz l1 dec cx ret ink endp dis proc ;Процедура вывода на экран десятичного числа r1: mov dl,[di] mov ah,2 int 21h inc di loop r1 ret dis endp des_2 proc ;Перевод числа(десятичного) в двоичную систему mov si,10 lea di,x_ascii sub ax,ax v1: mul si mov bp,ax mov al,[di] sub al,48 inc di mov ah,ch add ax,bp loop v1 ret des_2 endp bin_dis proc ;Процедура вывода на экран двоичного числа lea di,buf mov cx,16 mov bx,ax mov dx,ax conv: mov al,ch shl dx,1 adc al,'0' stosb loop conv mov ah,9h lea dx,buf int 21h mov ax,bx ret bin_dis endp ;Процедура перевода числа(двоичного)в шестнадцатеричную end g_k Примечания: Мнемоника: sub , call – вызов процедуры. Передает управление процедуре адрес которой задан операндом, после завершения процедуры, выполнение продолжается командой следующей за командой call Мнемоника: call ret – возврат к процедуре shr – сдвинуть логически вправо xor – исключающее ИЛИ Мнемоника: xor , lea – загрузить ЕА Мнемоника: lea reg, push – включить в stack Мнемоника: push pop – извлечь из stack Мнемоника: pop mov – переслать Мнемоника: mov , inc – увеличение на 1 Мнемоника: inc dec – уменьшение на 1 Мнемоника: dec stosb – пересылает соединения регистра al или ax на который указывает регистр di loop – команда организации цикла со счетчиком, также короткие переходы (127б) команда уменьшает значение счетчика cx, без изменения каких- либо флагов, если соединение cx >0, то осуществляется переход на заданную метку, в противном случае цикл завершается. Мнемоника: loop Список литературы
“Компьютер”,1993
Рекомендуем
|
Поиск по сайту
Рекомендуем
Подписка на новости
Нас считают
Онлайн
Ваш IP: 54.173.237.152
Сейчас на сайте
![]() ![]() |