Суббота, 23.11.2024, 06:59
Приветствую Вас Гость | RSS
Главная | | Регистрация | Вход
Меню сайта
Форма входа
Поиск
Календарь
«  Февраль 2012  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
272829
Архив записей
Наш опрос
Оцените мой сайт
Всего ответов: 20
Мини-чат
Друзья сайта
  • Заказ Художник
  • Рыбалка
  • Новости
  • Наш университет io-96
  • Железо и другие
  • Наш Counter-Strike
  • Google ot Turbokherson
  • Google ot Turbokherson87
  • Android
  • Программы и Софт
  • Программирование
  • Лечение здоровья
  • О Ремонт компьютер
  • Наш сайт Turbokherson
  • Программирование ICQ 378204653 от Turbokherson
    Главная » 2012 » Февраль » 12
    Рассмотрим процесс создания программы под компилятор TASM в ASMTool PE, допустим наша программа имеет такой вид:
    MODEL TINY
    STACK 256
    DATASEG
    Hellostr DB 'Hello First Step Site '
    CODESEG
    start:
    mov ax,@data
    mov ds,ax
    mov bx,1
    mov cx,21
    mov dx,offset Hellostr
    mov ah,40h
    int 21h
    mov ah, 04Ch
    int 21h
    end start


    Копируем ее в ASMTool, или набираем если Вы это делаете с книги, либо из головы:
    Так как код нашей подразумевает под собой создание EXE файла 16 бит, то выбираем пункт Компиляция -> Компилировать с -> TASM -> Создать EXE 16 bit
    Либо нажимаем комбинацию Ctrl+B, после чего в окне компиляции видим:
    Ошибок комп ... Читать дальше »
    Просмотров: 1182 | Добавил: Turbokherson | Дата: 12.02.2012 | Комментарии (0)

    Как упростить компиляцию программ на ассемблере


    Как известно, компиляторы ассемблера работают в командной строке, и, чаще всего, не имеют своего текстового редактора. А если и имеют – то без синтаксической подсветки. Так что для набора программы можно пользоваться редактором вроде Bred, а как без проблем компилировать – я покажу

    Инструкция

    Уровень сложности: Несложно

    1 шаг

    Просмотров: 638 | Добавил: Turbokherson | Дата: 12.02.2012 | Комментарии (0)

    Создание программы на языке ассемблера

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

    1. Постановка задачи (точное и подробное описание функциональности будущей программы, а также описание всех входных и выходных данных и способа их передачи программе);
    2. Разработка алгоритма программы (построение блок схемы, граф-схемы или текстовое или математическое описание решения);
    3. Формализация алгоритма (запись алгоритма на языке программирования).
      Создание текстового файла программы с расширением .asm (например my.asm). Отсутствие среды разработки позволяет программисту самостоятельно выбрать текстовый редактор для написания кода программы. Для ... Читать дальше »
    Просмотров: 1271 | Добавил: Turbokherson | Дата: 12.02.2012 | Комментарии (0)

    На рис.1 приведена общая схема процесса разработки программы на ассемблере. Название программы соответствует рассмотренному ранее примеру программы. На схеме выделено четыре этапа этого процесса. На первом этапе, когда вводится код программы, можно использовать любой текстовый редактор. В Windows таким редактором может быть Блокнот (Notepad). При выборе редактора нужно учитывать, что он не должен вставлять «посторонних» символов (специальных символов форматирования). С этой точки зрения Microsoft Word в качестве основного редактора ассемблерных программ не годится. Очень интересный редактор — Asm Editor for Windows. Созданный с помощью текстового редактора файл должен иметь расширение .asm.



    Рис. 1. Схема процесса разработки программы на ассемблере


    Для выполнения остальных этапов разработки требуются специализированные программны ... Читать дальше »

    Просмотров: 5856 | Добавил: Turbokherson | Дата: 12.02.2012 | Комментарии (0)

    Ассемблер.

    Альтернативный компилятор ассемблера для х86. Ассемблер написан сам на себе имеет очень простой синтаксис. Позволяет создавать .com файл для ДОС. Поддерживает 32 разрядные режимы адресации и данных. Доступен вместе с исходным кодом.

    Описание ассемблера.

    • Ассемблер работает из командной строки. Входной файл должен иметь любое имя с расширением:
      • .asm
      • .txt
      • .xxx или любым другим - значения не имеет, главное чтобы оно было

      Запуск на компиляцию: asm filename.ext. Результат - сообщение об ошибке в строке с № или filename.com / filename.obj

    • Ассемблер создает только *.com файлы, *.exe не созжаются. Конечно .com файл имеет ограничение 64 кб. кода, однако вряд ли кто-нибудь напишет на ассемблере больше. Т.к. создаются только *.com файлы не надо думать о сегментах. Нет у ассем ... Читать дальше »
    Просмотров: 1029 | Добавил: Turbokherson | Дата: 12.02.2012 | Комментарии (0)

    Структура COM файла

    Наверное всем известны файлы с расширением COM. Главным COM файлом на ПК является вездесущий command.com (командный файл DOS) . Что же такое COM файл, как он работает и запускается ?
    Структура COM - файла проста . В файлах данного типа,обычно не имеющими даже заголовка файла,содержатся только машинный код и данные программы.
    Размер COM - файла ограничен 64 кб, т.е. размером одного сегмента памяти

    В основном COM файлы пишут на языке Ассемблера, но это не обязательно. Нописать файл можно на любом языке, который можно потом компилировать.

    Пример небольшого COM файла выводящего на экран сообщение:

    .286 ; Ус ... Читать дальше »

    Просмотров: 1742 | Добавил: Turbokherson | Дата: 12.02.2012 | Комментарии (0)

    Ассемблер (от англ. assemble — собирать) — компилятор с языка ассемблера в команды машинного языка.
    Под каждую архитектуру процессора и под каждую ОС или семейство ОС существует свой Ассемблер. Существуют также так называемые «кросс-ассемблеры», позволяющие на машинах с одной архитектурой (или в среде одной ОС) ассемблировать программы для другой целевой архитектуры или другой ОС, и получать исполняемый код в формате, пригодном к исполнению на целевой архитектуре или в среде целевой ОС.

    Архитектура x86


    Ассемблеры для DOS

    Наиболее известными ассемблерами для операционной системы DOS являлись Borland Turbo Assembler (TASM) и Microsoft Macro Assembler (MASM). Также в своё время был популярен простой ассемблер A86.
    Изначально они поддерживали лишь 16-битные команды (до появления процессора Intel 80386). Более поздние версии TASM и MASM поддерживают и 32-битные команды, а также все команды, введённы ... Читать дальше »
    Просмотров: 1216 | Добавил: Turbokherson | Дата: 12.02.2012 | Комментарии (1)

    \tasm\
        tasm.exe as1.asm /L   
    (/l - Листинг)
        tlink.exe as1.obj       
    (/t  для .com)
        as1.exe
       
         td.exe as1.exe


           alt/F10

    __________________________________________________________________
    TASM.EXE PROG.ASM

    TLINK.EXE PROG.OBJ /t


    Параметр "/t" указывает TLINK.EXE, что необходимо создать файл типа COM.

    ___________________________________________________________________


    ... Читать дальше »
    Просмотров: 2770 | Добавил: Turbokherson | Дата: 12.02.2012 | Комментарии (2)

     Содержание:
    
    1. Покажите маленькую программку типа 'Hello, world!'
    2. А как ее запустить (слинковать, асссемблировать)?
    3. А где можно взять tasm и tlink?
    4. Что такое PSP?
    5. Где хранится командная строка и как ее получить?
    6. Как узнать полный путь к запущенной пpогpамме из нее самой?
    7. Что такое прерывание и как оно работает?
    8. Что такое вектор прерывания?
    9. А как можно сгенерировать звук?
    10. Что лучше - стандартные или упрощенные директивы определения сегментов?
    11. Для чего нужна команда LEA. То же самое может и OFFSET, да и Tasm
    заменяет LEA на MOV...OFFSET.
    12. Откуда программа узнает адрес сегмента? После компиляции стоит mov ax,1.
    13. Как сделать COM с отладочной информацией, понимаемой TD ?
    14. Не получается! COM есть, TDS есть, а TD отладочную информацию не
    видит: "Program has no symbol table"
    15. Как расчитать количество памяти, необходимое для резидента?
    16. Не могу запустить дочернюю задачу функцией 4Bh
    17. Не выделяется память по функции 48h
    18. Да вроде все ес
    		
    		... 
    		
    			Читать дальше »
    		
    	
    Просмотров: 2554 | Добавил: Turbokherson | Дата: 12.02.2012 | Комментарии (0)

    Создать бесплатный сайт с uCozCopyright MyCorp © 2024