Сборник по задачам и примерам Assembler



         

Язык описания команд ассемблера - часть 2


elO | eO9 : elO | elO

elO => elO . ell | elO [[ expr ]] | ell

, ell => ( expr ) | [ expr ] | WIDTH id | MASK id | SIZE SizeArg | SIZEOF

sizeArg | LENGTH id | LENGTHOF id | recordConst | string | constant | type | id | $ | segmentRegister | register | ST | ST ( expr ) expr => SHORT eO5 | .TYPE eOl | OPATTR eOl | eOl exprList => expr | exprList . expr gpRegister => AX | EAX | BX | EBX | CX | ECX | DX 1 EDX | BP | EBP | SP | ESP I

DI | EDI | SI | ESI

hexdigit =>a|b|c|d|e|f|A|B|C|D|E|F

id => А5С11_символ_буква | id А5СП_символ_буква | id decdigit

mnemonic => название_команды

mulOp => * | / | MOD

nearfar => NEAR | FAR

oldRecordFieldList=> [[ constExpr ]] | oldRecordFieldList . [[ constExpr ]]

За основу языка ASMLENG было взято описание языка MASM (из документации на него), ассемблер, поддерживаемый TASM, незначительно отличается от этого описания (в основном это касается некоторых операторов, типа OPATTR). Подчеркнем тот факт, что язык ASMLENG описывает лишь правило построения команд ассемблера, не затрагивая синтаксиса всей программы ассемблера в целом. Все строки, не являющиеся командами, будут просто игнорироваться и включаться в выходной файл в своем изначальном виде.




Содержание  Назад  Вперед