• Public direktivlərində təyin edilmiş verilənlərə müraciət üçün onlar Extrn
  • Dərs GİRİŞ Hesablama texnikası əsasən iki mühüm komponentin birgə fəaliyyətinə əsaslanır. Bunlar




    Download 1.61 Mb.
    Pdf ko'rish
    bet16/79
    Sana14.04.2022
    Hajmi1.61 Mb.
    #19706
    TuriDərs
    1   ...   12   13   14   15   16   17   18   19   ...   79
    Bog'liq
    SPT ƏS

    Use16 – onu göstərir ki, bütün əmrlər və ünvanlar bu bölümlərdə 16 
    mərtəbəlidir. Yəni, fiziki ünvanın yaranmasında yalnız 16 mərtəbəli 
    sürüşmədən istifadə edilir. Buna uyğun olaraq da bölümlər 64 kb qədər ola 
    bilər. 
    Use32 – onu göstərir ki, bütün əmrlər və ünvanlar bu bölümlərdə 32 
    mərtəbəlidir. Yəni, fiziki ünvanın yaranmasında 32 mərtəbəli sürüşmədən 
    istifadə edilir. Buna uyğun olaraq da bölümlər 4 qb-yə qədər ola bilər. 
    Məsələn: 
    Data Segment Public ‘Date’
    a db 25
    y dw ? 
    Data ends 
    Exit Segment Page Public ‘Extra’
    a db 64 Dup(’ BYTE ’) 
    Exit ends 
    Göründüyü kimi Segment direktivinin yazılışında bölümlərin hansı seqment 
    registrinə görə ünvanlaşacağı assembler translyatoruna bildirilmir. 
    Verilənlərin hansı seqment registrinə görə ünvanlaşacağı aşağıdakı direktiv ilə 
    təyin edilir.
    Assume A: B [ , ... ] 
    Assume A : Nothing [ , .. ]
    Burada A 

    seqment registrindən birini (CS, DS, ...); 
    B

    isə Segment direktivdərinin (Code, Date, ...) adını göstərir. 
    2 –ci yazılış isə seqment registri üçün əvvəlki seqmentləri ləğv edir. 
    Məsələn:
    Assume DS : Date – direktivi Date seqmentindəki verilənlərə müraciət 
    etdikdə verilənlərin baza ünvanı kimi DS –in məzmunun götürülməsinə 
    göstərişdir. Assume direktivi, proqramda əmrlər seqmentini göstərən 
    Segment direktivindən sonra gəlir. Başlanğıc qiymətlər seqment registrlərinə 
    assembler əmrlərinin köməyi ilə mənimsədilir (CS seqment registrinin 
    başlanğıc qiymətini ƏS təyin edir). Məsələn:
    Sementləşmənin sadələşdirilmiş modeli 
    Proqramlarda seqmentlərin tərtibatını sadələşdirmək üçün MASM və 
    TASM translyatorlarında sementləşmənin sadələşdirilmiş direktivlərindən 
    istifadə edilir. 
    Bu zaman seqmentləri kombinasiya edən və yerləşməni birbaşa idarə edən 
    imkanların olması problemi ortalığa çıxır. Buna görə də sementləşmənin 
    sadələşdirilmiş direktivləri ilə bərabər yaddaşın Model direktivindən istifadə 
    edilməyə başlandı. Bu direktiv müəyyən mənada seqmentlərin yerləşməsini 
    idarə edir və Assume direktivinin müəyyən funksiyalarını yerinə yetirir. 
    Sementləşmənin sadələşdirilmiş direktivlərindən istifadə edərkən, bu direktiv 
    uyğun adlarla verilmiş seqmentlər arasında əlaqə yaradır.


    22 
    Model direktivinin formatı aşağıdakı kimidir: 
    MODEL [modelin_modifikatoru] model [, dil] 
    [, əlaqənin_modifikatoru] 
    Göründüyü kimi Model direktivinin məcburi parametri yaddaş modelidir. 
    Bu parametr proqram modulu üçün yaddaşın seqmentləşmə modelini təyin 
    edir. Aşağıdakı cədvəldə yaddaş modeli üçün Model direktivinin operandları 
    verilmişdir. Bu operandlar proqramın seqmentlər yığımını, kodlar və verilənlər 
    seqmentlərinin ölçüsü və seqmentlərin seqment registrləri ilə əlaqəsini təyin 
    edir.
    Seqmentlərin sadələşdirilmiş modelindən istifadə olunmasına aid 
    məsələnin proqramına baxaq: 
    MASM ; TASM iş rejimi: ideal və ya tasm 
    MODEL SMALL ; yaddaş modeli 
    . STACK 100h ; stek seqmenti (və ya növbəti iki sətr
    ; eyni mənalıdır) 
    ; STACK 
    ; DB 256 DUP (?) 
    .DATA ;verilənlər seqmenti 
    message DB “ Bu proqramı TD.exe sazlayıcısı ilə yoxla”,’$’ 
    Perem_1 DB 0FFh 
    Perem_2 DW 3A7Fh 
    Perem_3 DD 0F54D567Ah 
    Mas DB 10 DUP (“ “) 
    Adr DW Perem_3 
    Adr_full DD Perem_3 
    Fin DB “proqramın verilənlər seqmentinin sonu $” 
    .CODE ;kodlar seqmenti 
    START: 
    MOV AX, @DATA ; verilənlər seqmentinin 
    ; ünvanını AX yükləmək
    MOV DS, AX ; AX->DS 
    MOV AH, 09h
    MOV DX, OFFSET message 
    INT 21h
    MOV AX,4C00h ; 4C00h ->AX 
    INT 21h ; 21h nömrəli kəsilmənin çağrılması 
    END START 
    Dərs_6_ Xarici göstərişlərin direktivləri 
    Xarici göstərişlərin direktivləri 
    Bu direktivlər başqa proqram modullarında yerləşən verilənlərdən istifadə etməyə imkan 
    verir. Əgər hər hansı bir verilənə bu proqram ilə eyni vaxtda yüklənən bütün proqram 


    23 
    modullarından müraciət olunmasını istəyiriksə onda onu Public direktivində aşağıdakı kimi 
    təyin etməliyik: 
    Public < ad > [ ,... ] 
    Burada ad – dəyişənin adı, nişan və ya EQU direktivləri ilə təyin edilmiş 
    identifikatordur.
    Bu proqram ilə eyni vaxtda yüklənmiş bütün proqram modullarında Public 
    direktivlərində təyin edilmiş verilənlərə müraciət üçün onlar Extrn direktivində aşağıdakı 
    kimi təyin edilməlidirlər: 
    Extrn  : tip [ ,... ] 
    Burada ad - başqa proqram modulunda Public direktivi ilə təyin olunmuş 
    identifikatordur.
    tip- aşağıdakı kimi təyin olunur: 
    1. Əgər verilənlər seqmentində və ya əlavə verilənlər seqmentində təyin edilmiş 
    identifikatordırsa onda BYTE, WORD, DWORD, PWORD, FWORD, QWORD və 
    TBYTE– dən biri kimi təyin edilə bilər.
    2. Əgər  prosedurun adı isə onda  NEAR və ya FAR atributlarından bir ilə təyin 
    oluna bilər.
    3. Əgər  EQU və ya ‘ = ’ ilə təyin olunmuş sabitin adıdırsa, onda  ABS kimi təyin 
    olunur.
    Məsələn:
    PUBLİC A 
    ...
    A DB 5 
     kimi təyin olunubsa, onda başqa kod seqmentində onu 
    EXTRN A:BYTE
    kimi elan etməliyik.
    İNCLUDE  direktivi translyasiya zamanı  ilə təyin edilən proqramın 
    mətnini verilən proqramın mətninə İNCLUDE direktivi dayanan yerdən birləşdirir. Məsələn:
    İNCLUDE a:\f1.asm
    göstərişi imkan verir ki, Assembler proqramının mətninə İNCLUDE direktivi dayandığı 
    yerdən f1.asm adlı faylının mətnini birləşdirsin.
    Əməliyyatlar 
    Assembler əmrlərinin operandları bilavasitə ədəd, registr və ya yaddaş sahəsinin məzmunundan 
    və həmçinin ifadələrdən təşkil oluna bilər. İfadə operand və əməliyyatların kombinasiyası kimi 
    təsvir oluna bilər. İfadənin hesablanmasının nəticəsi, hər hansı yaddaş xanasının ünvanı və ya sabit 
    (mütləq) qiymət ola bilər. 
    İfadənin hesablanmasında əməliyyatlar prioritetə uyğun icra olunur. Bu ardıcıllığı mötərizələrin 
    vasitəsi ilə dəyişdirmək olar. Eyni prioritetli əməliyyatlar soldan sağa ardıcıl yerinə yetirilir

    Əməliyyatların prioritet cədvəli aşağıda göstərilmişdir: 
    Əməliyatlar 
    Prioritetləri 

    Download 1.61 Mb.
    1   ...   12   13   14   15   16   17   18   19   ...   79




    Download 1.61 Mb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Dərs GİRİŞ Hesablama texnikası əsasən iki mühüm komponentin birgə fəaliyyətinə əsaslanır. Bunlar

    Download 1.61 Mb.
    Pdf ko'rish