מבנה הזיכרון

עמוד
מוצגות 2 תגובות – 1 עד 2 (מתוך 2 סה״כ)
  • מאת
    תגובות
  • #77121
    LB_
    משתתף

    בקוד לדוגמא של אחד השורדים מופיעים הפקודות הבאות:

    @loop:
    mov [bx], al
    add bx, 8
    jmp @loop

    האם הקוד הבא תמיד ירוץ רק על הקוד סיגמנט ?

    מישהו יכול להסביר לי קצת יותר על מבנה הזיכרון ואיך הוא משתקף בשרת ?

     

    #78617
    BS_
    משתתף

    The command mov[bx], al will write the content of the register al to ds:bx,
    for example if bx equals 123 then the command will set the 123rd byte in the data segment to al
    in the CGX competition each survivor has 3 important segments:
    The code segment- the code segment functions as both code and data area (cs=ds)
                                      this segment contain the code of the survivors and is the main place where things happen.
                                      all the survivors share the code (and data) segment.
    the stack segment – the stack of the survivor which is used in push/pop/cal/return opcodes, this segment (ss register) is unique for
                                      for each survivor and surcicors cannot access the stack of other survivors
    the team segment – this segment is a special 1024 bytes long segment (the es register) which is common for survivors of
                                      the same team. this segment may be used to communicate between survivors of the same team.

    So, in conclusion:
    cs=ds – main arena, common for everyone
    ss – stack segment, unique per survivor
    es – team segment, unique per team

    Hope this answers you question.

מוצגות 2 תגובות – 1 עד 2 (מתוך 2 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.