Кіріспе

MS DOS үшін ассемблер және түзеткіш

A86 – Intel x86 микропроцессорлар отбасы үшін кодты құрастыратын MS DOS ассемблері. Эрик Айзексон жазған, алғаш рет 1986 жылдың маусымында үлесімді бағдарлама ретінде қолжеткілі болды. Ассемблер бір 32К орындалатын файлда орналасқан және стандартты байланыстырғышпен пайдалану үшін COM файлы немесе объектілік файлды тікелей құрастыра алады. Ол D86 түзеткішімен бірге келеді. Күтілетін x86 синтаксисін қолдай отырып, A86 кейбір жағдайларда қарапайым қысқартуларды ұсынады және Microsoft Macro Assembler және басқа да замандастарына тән ASSUME, SEGMENT және PROC сияқты директиваларды қажет етпейді. Ассемблеу жылдамдығы – басты сату артықшылығы. Айзексон A86 Pentium II немесе одан да жақсы процессорда секундына 100 000 жол кодты құрастыра алатынын мәлімдеді. A86 және D86 16 биттік x86 платформаларын қолдайды. Айзексон 1990 жылдардың ортасында A386 және D386 түрінде 32 биттік қолдауды қосты. Ассемблер 64 биттік кодты қолдамайды.

A86 ерекшеліктері

Бір әріптен тұратын және бір немесе бірнеше цифрдан тұратын кез келген белгі жергілікті болып табылады және қажет болған жағдайда қайта анықталуы мүмкін, әр анықтама алдыңғысын жояды. Нұсқаулықта әдеттегі код үшін және макростар үшін пайдалану ұсынылады. Жергілікті белгілерге жасалған тармақтар артқа қарай бағытталған деп есептеледі, бірақ белгіге сілтеме алдынан үлкен таңбасы қойылса (мысалы, ), алға қарай тармақ жасауға болады. Нөлден басталатын сандар гексадецимал болып есептеледі, мысалы, , "0x" немесе "$" префиксін қолданбай. Белгінің соңындағы "K" кибибайтты білдіреді. 16*1024 немесе 16384-ке тең. Бірнеше тіркегіштерді бір жолда түртуге немесе алып тастауға болады. үш операндтың әрқайсысы үшін бір нұсқау жасайды. Бір нұсқауды шартты түрде орындау үшін қысқаша жазу тәсілі бар. екі нұсқауды шығарады: шартты тармақ, одан кейін жылжыту. Егер шартты тармақтың белгісі ретінде берілсе, ол автоматты түрде 8 биттік тармақ шегіндегі қайтару нұсқаулығына бағытталады (мысалы, ). Макростар мен қазіргі заманғы ассемблерлердің синтаксисі әртүрлі.

Кодты саусақ іздері

Ассемблер функциялық түрде эквивалентті, бірақ орындалатын файлға кіріктірілген ерекше белгіні жасау үшін нақты нұсқаулық кодтауларын пайдалануға арналған. Бұл туралы нұсқаулықтың құқықтық шарттар бөлімінде жазылған. Бұл ерекше белгі кодтың A86 арқылы құрастырылған-құрастырылмағанын анықтауға, сондай-ақ ассемблердің тіркелген және тіркелмеген нұсқаларын ажыратуға мүмкіндік береді. Бұл талдау үшін бастапқы кодқа қол жеткізу қажет.