Řetězcové konstanty
Verze z 12. 10. 2012, 08:05, kterou vytvořil Zdeno Sekerák (diskuse | příspěvky) (1 revízia: Integrovany asm)
V assembleru musí být řetězcová konstanta uzavřena do apostrofů nebo úvozovek.
Dva po sobě následující apostrofy (resp. úvozovky) v řetězci, uzavřeném do apostrofů (resp. úvozovek), znamenají jeden znak apostrof (resp. úvozovka).
Řetězcové konstanty libovolné délky jsou povoleny v direktivě DB a způsobí přidělení posloupnosti bajtů, obsahujících ASCII hodnoty znaků v řetězci.
Není-li řetězcová konstanta v direktivě DB, nesmí být delší než čtyři znaky, a určuje číselnou hodnotu, která se může objevit i ve výrazu.
Číselná hodnota řetězcové konstanty je vypočítána jako
Ord(Ch1) + Ord(Ch2) shl 8 + Ord(Ch3) shl 16 + Ord(Ch4) shl 24
kde
- Ch1 je nejpravější (poslední)
- Ch4 je nejlevější (první) znak
Jestliže je řetězec kratší než čtyři znaky, nejlevější znaky jsou nahrazeny nulou.
Zde je několik příkladů řetězcových konstant a jejich odpovídajících číselných hodnot:
Řetězcová Číselná Konstanta Hodnota —————————————— ——————————— 'a' 00000061H 'ba' 00006261H 'cba' 00636261H 'dcba' 64636261H 'a ' 00006120H ' a' 20202061H 'a'*2 000000E2H 'a'-'A' 00000020H NOT 'a' FFFFFF9EH