Skip to content

Commit a3f67e2

Browse files
[uxntal/he] Add a Hebrew translation of the Uxntal page (#5300)
1 parent 6cf70be commit a3f67e2

File tree

1 file changed

+187
-0
lines changed

1 file changed

+187
-0
lines changed

he/uxntal.md

Lines changed: 187 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,187 @@
1+
---
2+
name: Uxntal
3+
contributors:
4+
- ["Devine Lu Linvega", "https://wiki.xxiivv.com"]
5+
translators:
6+
- ["Maja Abramski-Kronenberg", "https://me.digitalwords.net"]
7+
filename: learnuxn.tal
8+
---
9+
10+
<p dir="rtl">
11+
אוקסנטל (Uxntal) היא שפת סף מבוססת מחסנית שמִּתרגמת לשפת מכונה של מכונה ווירטואלית בשם אוקסן (Uxn).
12+
</p>
13+
14+
<p dir="rtl">
15+
תכנות של מכונת מחסנית עלול להראות מוזר בגלל השימוש בכתיב סופי, כלומר כתיב שבו הסמנים של פעולות (אופרטורים) תמיד ממוקמים בסוף הפעולה.
16+
לדוגמה, נכתוב <code>3 4 +</code> במקום הכתיב הרגיל <code>3 + 4</code>.
17+
</p>
18+
19+
<p dir="rtl">
20+
את הביטוי שנכתב בכתיב הרגיל <code>(5 + 10) * 3</code> נוכל לכתוב <code>5 10 + 3 *</code> בכתיב הסופי, שנקרא גם „כתיב פולני הפוך”.
21+
</p>
22+
23+
```tal
24+
( זו הערה )
25+
26+
( התכנות באוקסנטל נעשה כולו בעזרת שינוי המחסנית )
27+
28+
#12 ( דחוף בית (8 סיביות) )
29+
#3456 ( דחוף צמד בתים (16 סיביות) )
30+
31+
( באוקסן 32 הוראות, ולכל הוראה שלושה מצבים אפשריים )
32+
33+
POP ( שלוף בית )
34+
POP2 ( שלוף צמד בתים )
35+
36+
( המצבים הם:‏
37+
[2] (מצב צמד בתים)
38+
עבוד עם צמד בתים במחסנית (מצב ברירת המחדל הוא עבודה עם בתים)
39+
40+
[k] (מצב הותרה)
41+
הפריטים עליהם מבוצעת ההוראה נשארים במחסנית
42+
43+
[r] (מצב חזרה)
44+
ההוראה מבוצעת על מחסנית החזרה )
45+
46+
#12 #34 ADD ( 46 )
47+
#12 #34 ADDk ( 12 34 46 )
48+
49+
( ניתן לשלב בין המצבים השונים )
50+
51+
#1234 #5678 ADD2k ( 12 34 56 78 68 ac )
52+
53+
( ההוראות החשבוניות וההוראות על סיביות הן:‏
54+
ADD SUB MUL DIV
55+
AND ORA EOR SFT )
56+
57+
( ניתן ליצור הוראות חדשות בעזרת מקרואים )
58+
59+
%MOD2 { DIV2k MUL2 SUB2 }
60+
61+
#1234 #0421 MOD2 ( 01 b0 )
62+
63+
( ---------------------------------------------------------------------------- )
64+
65+
( צמד בתים הוא פשוט שני בתים צמודים; ניתן גם לפעול על כל בית בנפרד )
66+
67+
#1234 SWP ( 34 12 )
68+
#1234 #5678 SWP2 ( 56 78 12 34 )
69+
#1234 #5678 SWP ( 12 34 78 56 )
70+
71+
( ניתן להסיר מהמחסנית כל אחד מהבתים שמרכיבים צמד בתים )
72+
73+
#1234 POP ( 12 )
74+
#1234 NIP ( 34 )
75+
76+
( ההוראות על המחסנית עצמה הן:‏
77+
POP DUP NIP SWP OVR ROT )
78+
79+
( ---------------------------------------------------------------------------- )
80+
81+
( ניתן להשוות בין ערכים במחסנית )
82+
83+
#12 #34 EQU ( 00 )
84+
#12 #12 EQU ( 01 )
85+
86+
( הוראות לוגיות דוחפות למחסנית דגל עם ערך 00 או 01 לפי התוצאה )
87+
88+
#12 #34 LTH
89+
#78 #56 GTH
90+
#0101 EQU2 ( 01 )
91+
92+
( ההוראות הלוגיות הן:‏
93+
EQU NEQ GTH LTH )
94+
95+
( ---------------------------------------------------------------------------- )
96+
97+
( הזכרון הזמין לאוקסן:‏
98+
‏256 בתים במחסנית העבודה
99+
‏256 בתים במחסנית החזרה
100+
‏65536 בתים בזכרון
101+
‏256 בתים בזכרון הקלט והפלט )
102+
103+
( 0000-ffff כתובות הזכרון הזמינות הן בטווח )
104+
105+
#12 #0200 STA ( אחסן 12 בכתובת 0200 בזכרון )
106+
#3456 #0201 STA2 ( אחסן 3456 בכתובת 0201 בזכרון )
107+
#0200 LDA2 ( 12 34 )
108+
109+
( הכתובות בדף האפס הן בנות בית יחיד )
110+
111+
#1234 #80 STZ2 ( אחסן 12 ב־0080, ו־34 ב־0081 )
112+
#80 LDZ2 ( 12 34 )
113+
114+
( התקנים חיצוניים הם הדרך של אוקסן לתקשר עם העולם החיצון.‏
115+
ניתן לחבר עד 16 התקנים בעת ובעונה אחת.‏
116+
.10-1f הבתים של ההתקנים נקראים „פורטים”. לדוגמה, התקן הקונסולה משתמש בפורטים
117+
/write הפורט לכתיבה לקונסולה, שמספרו 18, נקרא בשם )
118+
119+
%EMIT { #18 DEO }
120+
121+
#31 EMIT ( הדפס "1" בקונסולה )
122+
123+
( תווית היא שוות ערך למיקום מסויים בתוכנית )
124+
@parent ( parent הגדר תווית בשם )
125+
&child ( parent/child הגדר תת־תווית )
126+
127+
( ניתן לדחוף מיקומים למחסנית )
128+
;parent ( דחוף מיקום מוחלט, באורך 2 בתים )
129+
,parent ( דחוף מיקום יחסי, באורך בית אחד )
130+
.parent ( דחוף מיקום בדף האפס, באורך בית אחד )
131+
132+
( ההוראות על הזכרון הן:‏
133+
LDZ STZ LDR STR
134+
LDA STA DEI DEO )
135+
136+
( ---------------------------------------------------------------------------- )
137+
138+
( הוראות לוגיות מאפשרות ליצור תנאים )
139+
140+
#12 #34 NEQ ,skip JCN
141+
#31 EMIT
142+
@skip
143+
144+
( for ניתן גם ליצור בעזרתן לולאות )
145+
146+
#3a #30
147+
@loop
148+
DUP EMIT ( כשהתוכנית תסיים יודפס "0123456789" בקונסולה )
149+
INC GTHk ,loop JCN
150+
POP2
151+
152+
( while בדומה, ניתן ליצור גם לולאות )
153+
154+
;word
155+
@while
156+
LDAk EMIT
157+
INC2 LDAk ,while JCN
158+
POP2
159+
BRK
160+
161+
@word "vermillion $1
162+
163+
( JMP2r ולחזור בעזרת ,JSR ניתן לקפוץ אל תת־שגרות בעזרת )
164+
165+
;word ,print-word JSR
166+
BRK
167+
168+
@print-word ( word* -- )
169+
@while
170+
LDAk EMIT
171+
INC2 LDAk ,while JCN
172+
POP2
173+
JMP2r
174+
175+
@word "cerulean
176+
177+
( ההוראות לקפיצה הן:‏
178+
JMP JCN JSR )
179+
```
180+
181+
<h2 dir="rtl">רוצה עוד?</h2>
182+
183+
<ul dir="rtl">
184+
<li><a href="https://compudanzas.net/uxn_tutorial.html">מדריך אוקסנטל</a> (בספרדית ובאנגלית)</li>
185+
<li><a href="https://wiki.xxiivv.com/site/uxntal.html">שפת הסף אוקסנטל</a> (באנגלית)</li>
186+
<li><a href="https://github.com/hundredrabbits/awesome-uxn">ריכוז של פרוייקטים מעשה ידי הקהילה</a> (באנגלית)</li>
187+
</ul>

0 commit comments

Comments
 (0)