→ Пошук по сайту       Увійти / Зареєструватися
Знання

Асемблер (assembler) і системне програмування

Асемблер

Асемблер (англ. assembler) — загальноприйнята назва транслятора з автокоду. Асемблер переводить початкову програму, написану на автокоді, в переміщувану програму на мові машинній. Оскільки асемблер здійснює трансляцію на мову завантажувача, при завантаженні програми необхідна налаштування умовних адрес, тобто адрес, значення яких залежать від розташування даної програми в пам'яті ЦВМ і від її зв'язків з іншими незалежно трансльованими програмами.

У простому випадку асемблер переводить одну пропозицію початкової програми в один об'єкт (команду, константу) модуля завантаження (т. з. трансляція «один в один»). При цьому взаємне розташування об'єктів в модулі завантаження і, зрештою, в пам'яті машини визначається порядком пропозицій в початковій програмі на автокоді і повністю залежить від програміста. Асемблер виконує і допоміжні функції, такі, як підготовка до друку документів необхідної форми, реєстрація зв'язків даної програми з іншими програмами і т. д. Для цієї мети в автокодах передбачаються команди асемблера, які не породжують об'єктів в робочій програмі і призначені тільки для вказівки допоміжних дій асемблера.

Асемблер (assembler) — система програмування, яка включає мову асемблера та транслятор з цієї мови. Асемблер є мовою програмування низького рівня. Чим нижчий рівень мови програмування, тим ближча специфіка роботи програми до самого процесора, для якого вона й була написана. Вважається, що мови низького рівня складніші й потребують більш вузької спеціалізації програміста, оскільки програма написана на асемблері для одного типу процесорів виявиться не завжди придатною для роботи з іншими процесорами. З іншого боку програми написані на асемблері компактні та швидкі, що теж є немаловажливим.

Поки існують процесори, буде існувати й асемблер!

Історична довідка про асемблер

Assembler — мова програмування, за допомогою якого можна написати такі програми, які неможливо, або дуже складно написати на інших мовах програмування. Наприклад: генератори ключів(keygen), системні монітори, драйвера для устаткування або навіть операційні системи.

Асемблер. Вступ

Мікропроцесори корпорації Intel і персональні комп'ютери на їх базі пройшли не дуже довгий в часі, але значний по суті шлях розвитку, впродовж якого кардинально змінювалися і можливості і навіть самі принципи їх архітектури.

Архітектура реального режиму

Пам'ять і процесор, Розподіл адресного простору, Регістри процесора, Сегментна структура програм, Стік, Система переривань, Система введення-виводу

Основи програмування на асемблері

Підготовка і відладка програми, представлення данних, опис даних, структури і записи, способи адресациї, переходи, викликі підпрограм, макрозасоби асамблера.

Команди і алгоритми

Організація додатків MS-DOS, цикли і умовні переходи, обробка рядків, використання підпрограм, двійково-десяткові числа, програмування апаратних засобів

Розширені можливості сучасних мікропроцесорів

Архітектурні особливості, додаткові режими адресації, використання засобів 32-розрядних процесорів в програмуванні, основи захищеного режиму

Система команд процесорів Intel

Команди асемблера для Intel: AAA, AAD, AAM, AAS

Команди асемблера для Intel: 386+ BSF, 386+ BSR, 486+ BSWAP, 386+ ВТС

Команди асемблера для Intel: 386+ BTR, 386+ BTS, CALL, CBW, 386+ CDQ

Команди асемблера для Intel: CLC, CLD, Cl1, 386р+ CLTS, СМС

Команди асемблера для Intel: СМР, CMPS, CMPSB, CMPSW, 386+ CMPSD

Команди асемблера для Intel: 486+ CMPXCHG, Pentium+ Cmpxchg8b, Pentium+ CPUID, CWD, 386+ CWDE

Команди асемблера для Intel: DAA, DAS, DEC, DIV, 386+ ENTER,

Команди асемблера для Intel: HLT, IDIV, IMUL, IN, INC

Команди асемблера для Intel: INS, INSB, INSW, INSD

Команди асемблера для Intel: INT, INTO, IRET, 386+ IRETD, Jcc,

Команди асемблера для Intel: MP, LAHF, 386р+ LAR, LDS, LEA,

Команди асемблера для Intel: 386+ LEAVE, LES, LFS, LGS, LSS

Команди асемблера для Intel: 386р+ LGDT, 386р+ LIDT, 386р+ LLDT, 386р+ LMSW

Команди асемблера для Intel: LOCK, LODS, LODSB, LODSW

Команди асемблера для Intel: 386+ LODSD, LOOP, Loope/loopz, 386р+ LSL

Команди асемблера для Intel: 386р+ LTR, MOV, 386р+ MOV

Команди асемблера для Intel: MOVS, MOVSB, MOVSW, 386+ MOVSD, 386+ MOVSX, 386+ MOVZX

Команди асемблера для Intel: MUL, NEG, NOP, NOT, OR, OUT

Команди асемблера для Intel: OUTS, OUTSB, OUTSW, OUTSD

Команди асемблера для Intel: POP, 386+ РОРА, 386+ POPAD, POPF,

Команди асемблера для Intel: PUSH, 386+ PUSHA, 386+ PUSHAD, SAHF, SAL

Команди асемблера для Intel: RCR,

Команди асемблера для Intel: RET, RETN, RETF

Команди асемблера для Intel: ROL, ROR, SAHF, SAL, SAR

Команди асемблера для Intel: SBB, SCAS, SCASB, SCASW, 386+ SCASD

Команди асемблера для Intel: 386+ Setcc, 386р+ SGDT, SHL, 386+ SHLD, SHR, 386+ SHRD,

Команди асемблера для Intel: 386p+ SIDT, 386р+ SLDT, 386р+ SMSW, STC, STD

Команди асемблера для Intel: STI, STOS, STOSB, STOSW, 386+ STOSD

Команди асемблера для Intel: 386p+ STR, SUB, TEST, 386р+ VERR, 386р+ VERW

Команди асемблера для Intel: 486+ XADD, XCHG, XLAT, XOR,

При підготовці курсу використовувались матеріали сайту
assem.us


загрузка...
Сторінки, близькі за змістом