Rev Author Line No. Line
4985 kaklik 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
5 <title> words/itype.asm </title>
6 <meta name="keywords" content="amforth programming language Forth ATmega ATMEL">
7 <meta name="description" content="amforth - laguage Forth for ATMEL ATmega">
8 <!-- AUTOINCLUDE START "Page/Head.en.ihtml" DO NOT REMOVE -->
9 <link rel="StyleSheet" href="../../../../Web/CSS/MLAB.css" type="text/css" title="MLAB Basic Style">
10 <link rel="StyleSheet" href="../../../../Web/CSS/MLAB_Print.css" type="text/css" media="print">
11 <link rel="shortcut icon" type="image/x-icon" href="../../../../Web/PIC/MLAB.ico">
12 <script type="text/javascript" src="../../../../Web/JS/MLAB_Menu.js"></script>
13 <!-- AUTOINCLUDE END -->
14 </head>
15  
16 <body lang="en">
17  
18 <!-- AUTOINCLUDE START "Page/Header.en.ihtml" DO NOT REMOVE -->
19 <!-- ============== HEADER ============== -->
20 <div class="Header">
21 <script type="text/javascript">
22 <!--
23 SetRelativePath("../../../../");
24 DrawHeader();
25 // -->
26 </script>
27 <noscript>
28 <p><b> JavaScript is required for including of the header </b></p>
29 </noscript>
30 </div>
31 <!-- AUTOINCLUDE END -->
32  
33 <!-- AUTOINCLUDE START "Page/Menu.en.ihtml" DO NOT REMOVE -->
34 <!-- ============== MENU ============== -->
35 <div class="Menu">
36 <script type="text/javascript">
37 <!--
38 SetRelativePath("../../../../");
39 DrawMenu();
40 // -->
41 </script>
42 <noscript>
43 <p><b> JavaScript is required for including of the menu </b><p>
44 </noscript>
45 </div>
46 <!-- AUTOINCLUDE END -->
47  
48 <!-- ============== TEXT ============== -->
49 <div class="Text">
50  
51 <h1> words/itype.asm </h1>
52  
53 <p>
54 <input type=button onClick="history.back()" value="Back">
55 <input type=button onClick="history.forward()" value="Forward">
56 <a href="../WordList.en.html">Jump to Vocabulary</a>
57 </p>
58  
59 <pre>
60 ; ( addr n -- ) Tools
61 ; R( -- )
62 ; reads packed string from flash and emit it
63 VE_ITYPE:
64 .db $05, &quot;itype&quot;
65 .dw VE_HEAD
66 .set VE_HEAD = VE_ITYPE
67 XT_ITYPE:
68 .dw DO_COLON
69 PFA_ITYPE:
70 .dw XT_DUP
71 .dw XT_EQUALZERO
72 ; IF
73 .dw XT_DOCONDBRANCH
74 .dw PFA_ITYPE1
75 .dw XT_DROP
76 .dw XT_DROP
77 .dw XT_EXIT
78 ; THEN
79  
80 PFA_ITYPE1:
81 .dw XT_DUP
82 .dw XT_DOLITERAL
83 .dw $0001
84 .dw XT_EQUAL
85 ; IF
86 .dw XT_DOCONDBRANCH
87 .dw PFA_ITYPE2
88 .dw XT_DROP
89 .dw XT_IFETCH
90 .dw XT_HIEMIT
91 .dw XT_EXIT
92 ; THEN
93  
94 PFA_ITYPE2:
95 .dw XT_OVER
96 .dw XT_IFETCH
97 .dw XT_HIEMIT
98 .dw XT_DUP
99 .dw XT_2SLASH
100 .dw XT_1MINUS
101 .dw XT_TO_R ; &gt;r save k=m-1
102 .dw XT_R_FETCH ; r@
103 .dw XT_GREATERZERO
104 ; IF
105 .dw XT_DOCONDBRANCH
106 .dw PFA_ITYPE4
107 .dw XT_SWAP
108 .dw XT_R_FETCH ; r@ get k
109 .dw XT_ZERO
110 ; DO
111 .dw XT_DODO
112 .dw PFA_ITYPE7
113 PFA_ITYPE3:
114 .dw XT_1PLUS
115 .dw XT_DUP
116 .dw XT_IFETCH
117 .dw XT_DUP
118 .dw XT_LOEMIT
119 .dw XT_HIEMIT
120 .dw XT_DOLOOP
121 .dw PFA_ITYPE3
122 ; LOOP
123 PFA_ITYPE7:
124 .dw XT_SWAP
125 ; THEN
126  
127 PFA_ITYPE4:
128 .dw XT_SWAP
129 .dw XT_1PLUS
130 .dw XT_SWAP
131 .dw XT_DOLITERAL
132 .dw $0001
133 .dw XT_AND
134 .dw XT_EQUALZERO
135 ; IF
136 .dw XT_DOCONDBRANCH
137 .dw PFA_ITYPE5
138 .dw XT_IFETCH
139 .dw XT_LOEMIT
140 .dw XT_DOBRANCH
141 .dw PFA_ITYPE6
142 ; ELSE
143 PFA_ITYPE5:
144 .dw XT_IFETCH
145 .dw XT_DUP
146 .dw XT_LOEMIT
147 .dw XT_HIEMIT
148 ; THEN
149 PFA_ITYPE6:
150 .dw XT_R_FROM ; remove k
151 .dw XT_DROP
152 .dw XT_EXIT
153  
154 ; ( w -- )
155 ; R( -- )
156 ; content of cell fetched on stack.
157 ;VE_LOEMIT:
158 ; .db $06, &quot;loemit&quot;
159 ; .dw VE_HEAD
160 ; .set VE_HEAD = VE_LOEMIT
161 XT_LOEMIT:
162 .dw DO_COLON
163 PFA_LOEMIT:
164 .dw XT_DOLITERAL
165 .dw $00ff
166 .dw XT_AND
167 .dw XT_EMIT
168 .dw XT_EXIT
169  
170  
171  
172 ; ( w -- )
173 ; R( -- )
174 ; content of cell fetched on stack.
175 ;VE_HIEMIT:
176 ; .db $06, &quot;hiemit&quot;
177 ; .dw VE_HEAD
178 ; .set VE_HEAD = VE_HIEMIT
179 XT_HIEMIT:
180 .dw DO_COLON
181 PFA_HIEMIT:
182 .dw XT_DOLITERAL
183 .dw 8
184 .dw XT_RSHIFT
185 .dw XT_EMIT
186 .dw XT_EXIT
187  
188 </pre>
189  
190 <p>
191 <input type=button onClick="history.back()" value="Back">
192 <input type=button onClick="history.forward()" value="Forward">
193 <a href="../WordList.en.html">Jump to Vocabulary</a>
194 </p>
195  
196 </div>
197  
198 <!-- AUTOINCLUDE START "Page/Footer.en.ihtml" DO NOT REMOVE -->
199 <!-- ============== FOOTER ============== -->
200 <div class="Footer">
201 <script type="text/javascript">
202 <!--
203 SetRelativePath("../../../../");
204 DrawFooter();
205 // -->
206 </script>
207 <noscript>
208 <p><b> JavaScript is required for including of the footer </b></p>
209 </noscript>
210 </div>
211 <!-- AUTOINCLUDE END -->
212  
213 </body>
214 </html>