Menu
Coddy logo textTech

סיכום: בניית data.asm

חלק מהיחידה יסודות במסלול ה-Assembly של Coddy. שיעור 30 מתוך 45.

challenge icon

אתגר

למדת כמה דרכים להגדיר נתונים במקטע .data:

שיעורמה למדת
3.1מקטע .data, שבו נמצאים הנתונים
3.2db: הגדרת בייט (בית אחד)
3.3dw: הגדרת מילה (2 בתים)
3.4dd: הגדרת מילה כפולה (4 בתים)
3.5dq: הגדרת מילה מרובעת (8 בתים)
3.6מחרוזות עם db: יצירת טקסט
3.7הסמל $: חישוב אוטומטי של אורך מחרוזות

עכשיו הגיע הזמן לחבר הכול וליצור קובץ data.asm מלא.

מה תיצרו באתגר הזה:

קובץ data.asm שיכיל:

  • מחרוזת עם חישוב אורך אוטומטי
  • ערך מסוג בייט
  • ערך מסוג מילה
  • ערך מסוג מילה כפולה
  • ערך מסוג מילה מרובעת

הכול מאורגן כראוי במקטע .data.

דוגמה לקובץ <strong>data.asm</strong> מלא:

section .data
    ; String with automatic length
    msg db 'Hello', 0x0a
    msgLen equ $ - msg
    
    ; Numbers of different sizes
    smallNum db 100
    mediumNum dw 5000
    largeNum dd 100000
    veryLarge dq 5000000000

למה זה חשוב:

בפרקים הבאים תשתמשו בקובצי data.asm כאלה כדי לאחסן את הנתונים שהתוכניות שלכם צריכות. קובץ main.asm יכלול את קובץ data.asm שלכם וישתמש בתוויות ובאורכים שהגדרתם.

אתגר

צרו קובץ data.asm מלא עם הפרטים הבאים:

  1. מחרוזת בשם welcome עם הערך 'Welcome!' ואחריו תו שורה חדשה (0x0a)
  2. קבוע בשם welcomeLen שמחשב את האורך אוטומטית באמצעות $ - welcome
  3. בייט בשם score עם הערך 99
  4. מילה בשם year עם הערך 2025
  5. מילה כפולה בשם population עם הערך 8500000
  6. מילה מרובעת בשם stars עם הערך 100000000000

הכול בתוך מקטע .data.

נסו בעצמכם

%include "data.asm"

section .text
    global _start

_start:
    ; הדפס את מחרוזת הפתיחה
    mov rax, 1
    mov rdi, 1
    mov rsi, welcome
    mov rdx, welcomeLen
    syscall
    
    ; צא
    mov rax, 60
    mov rdi, 0
    syscall

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: Assembly אונליין