1
0
mirror of https://github.com/adambard/learnxinyminutes-docs.git synced 2025-08-10 16:54:33 +02:00

[uxntal/he] Add a Hebrew translation of the Uxntal page (#5300)

This commit is contained in:
Maja Abramski-Kronenberg
2025-06-02 12:21:21 +00:00
committed by GitHub
parent 6cf70be6d0
commit a3f67e2dc2

187
he/uxntal.md Normal file
View File

@@ -0,0 +1,187 @@
---
name: Uxntal
contributors:
- ["Devine Lu Linvega", "https://wiki.xxiivv.com"]
translators:
- ["Maja Abramski-Kronenberg", "https://me.digitalwords.net"]
filename: learnuxn.tal
---
<p dir="rtl">
אוקסנטל (Uxntal) היא שפת סף מבוססת מחסנית שמִּתרגמת לשפת מכונה של מכונה ווירטואלית בשם אוקסן (Uxn).
</p>
<p dir="rtl">
תכנות של מכונת מחסנית עלול להראות מוזר בגלל השימוש בכתיב סופי, כלומר כתיב שבו הסמנים של פעולות (אופרטורים) תמיד ממוקמים בסוף הפעולה.
לדוגמה, נכתוב <code>3 4 +</code> במקום הכתיב הרגיל <code>3 + 4</code>.
</p>
<p dir="rtl">
את הביטוי שנכתב בכתיב הרגיל <code>(5 + 10) * 3</code> נוכל לכתוב <code>5 10 + 3 *</code> בכתיב הסופי, שנקרא גם „כתיב פולני הפוך”.
</p>
```tal
( זו הערה )
( התכנות באוקסנטל נעשה כולו בעזרת שינוי המחסנית )
#12 ( דחוף בית (8 סיביות) )
#3456 ( דחוף צמד בתים (16 סיביות) )
( באוקסן 32 הוראות, ולכל הוראה שלושה מצבים אפשריים )
POP ( שלוף בית )
POP2 ( שלוף צמד בתים )
( המצבים הם:
[2] (מצב צמד בתים)
עבוד עם צמד בתים במחסנית (מצב ברירת המחדל הוא עבודה עם בתים)
[k] (מצב הותרה)
הפריטים עליהם מבוצעת ההוראה נשארים במחסנית
[r] (מצב חזרה)
ההוראה מבוצעת על מחסנית החזרה )
#12 #34 ADD ( 46 )
#12 #34 ADDk ( 12 34 46 )
( ניתן לשלב בין המצבים השונים )
#1234 #5678 ADD2k ( 12 34 56 78 68 ac )
( ההוראות החשבוניות וההוראות על סיביות הן:
ADD SUB MUL DIV
AND ORA EOR SFT )
( ניתן ליצור הוראות חדשות בעזרת מקרואים )
%MOD2 { DIV2k MUL2 SUB2 }
#1234 #0421 MOD2 ( 01 b0 )
( ---------------------------------------------------------------------------- )
( צמד בתים הוא פשוט שני בתים צמודים; ניתן גם לפעול על כל בית בנפרד )
#1234 SWP ( 34 12 )
#1234 #5678 SWP2 ( 56 78 12 34 )
#1234 #5678 SWP ( 12 34 78 56 )
( ניתן להסיר מהמחסנית כל אחד מהבתים שמרכיבים צמד בתים )
#1234 POP ( 12 )
#1234 NIP ( 34 )
( ההוראות על המחסנית עצמה הן:
POP DUP NIP SWP OVR ROT )
( ---------------------------------------------------------------------------- )
( ניתן להשוות בין ערכים במחסנית )
#12 #34 EQU ( 00 )
#12 #12 EQU ( 01 )
( הוראות לוגיות דוחפות למחסנית דגל עם ערך 00 או 01 לפי התוצאה )
#12 #34 LTH
#78 #56 GTH
#0101 EQU2 ( 01 )
( ההוראות הלוגיות הן:
EQU NEQ GTH LTH )
( ---------------------------------------------------------------------------- )
( הזכרון הזמין לאוקסן:
256 בתים במחסנית העבודה
256 בתים במחסנית החזרה
65536 בתים בזכרון
256 בתים בזכרון הקלט והפלט )
( 0000-ffff כתובות הזכרון הזמינות הן בטווח )
#12 #0200 STA ( אחסן 12 בכתובת 0200 בזכרון )
#3456 #0201 STA2 ( אחסן 3456 בכתובת 0201 בזכרון )
#0200 LDA2 ( 12 34 )
( הכתובות בדף האפס הן בנות בית יחיד )
#1234 #80 STZ2 ( אחסן 12 ב־0080, ו־34 ב־0081 )
#80 LDZ2 ( 12 34 )
( התקנים חיצוניים הם הדרך של אוקסן לתקשר עם העולם החיצון.
ניתן לחבר עד 16 התקנים בעת ובעונה אחת.
.10-1f הבתים של ההתקנים נקראים „פורטים”. לדוגמה, התקן הקונסולה משתמש בפורטים
/write הפורט לכתיבה לקונסולה, שמספרו 18, נקרא בשם )
%EMIT { #18 DEO }
#31 EMIT ( הדפס "1" בקונסולה )
( תווית היא שוות ערך למיקום מסויים בתוכנית )
@parent ( parent הגדר תווית בשם )
&child ( parent/child הגדר תת־תווית )
( ניתן לדחוף מיקומים למחסנית )
;parent ( דחוף מיקום מוחלט, באורך 2 בתים )
,parent ( דחוף מיקום יחסי, באורך בית אחד )
.parent ( דחוף מיקום בדף האפס, באורך בית אחד )
( ההוראות על הזכרון הן:
LDZ STZ LDR STR
LDA STA DEI DEO )
( ---------------------------------------------------------------------------- )
( הוראות לוגיות מאפשרות ליצור תנאים )
#12 #34 NEQ ,skip JCN
#31 EMIT
@skip
( for ניתן גם ליצור בעזרתן לולאות )
#3a #30
@loop
DUP EMIT ( כשהתוכנית תסיים יודפס "0123456789" בקונסולה )
INC GTHk ,loop JCN
POP2
( while בדומה, ניתן ליצור גם לולאות )
;word
@while
LDAk EMIT
INC2 LDAk ,while JCN
POP2
BRK
@word "vermillion $1
( JMP2r ולחזור בעזרת ,JSR ניתן לקפוץ אל תת־שגרות בעזרת )
;word ,print-word JSR
BRK
@print-word ( word* -- )
@while
LDAk EMIT
INC2 LDAk ,while JCN
POP2
JMP2r
@word "cerulean
( ההוראות לקפיצה הן:
JMP JCN JSR )
```
<h2 dir="rtl">רוצה עוד?</h2>
<ul dir="rtl">
<li><a href="https://compudanzas.net/uxn_tutorial.html">מדריך אוקסנטל</a> (בספרדית ובאנגלית)</li>
<li><a href="https://wiki.xxiivv.com/site/uxntal.html">שפת הסף אוקסנטל</a> (באנגלית)</li>
<li><a href="https://github.com/hundredrabbits/awesome-uxn">ריכוז של פרוייקטים מעשה ידי הקהילה</a> (באנגלית)</li>
</ul>