Browse code

The calc pushes values on opcode

neauoire authored on 20/09/2021 22:51:54
Showing 1 changed files
... ...
@@ -260,7 +260,12 @@ RTN
260 260
 
261 261
 @do-add ( -- )
262 262
 
263
-	.stack/length LDZ #01 > RTN?
263
+	.input/value LDZ2 #0000 == ,&no-push JCN
264
+		;do-push JSR2
265
+		&no-push
266
+
267
+	( stack empty ) .stack/length LDZ #01 > RTN?
268
+
264 269
 	#00 ;draw-modpad JSR2
265 270
 	;pop JSR2 ;pop JSR2 SWP2 ADD2 ;push JSR2
266 271
 
... ...
@@ -268,7 +273,11 @@ RTN
268 273
 
269 274
 @do-sub ( -- )
270 275
 
271
-	.stack/length LDZ #01 > RTN?
276
+	.input/value LDZ2 #0000 == ,&no-push JCN
277
+		;do-push JSR2
278
+		&no-push
279
+
280
+	( stack empty ) .stack/length LDZ #01 > RTN?
272 281
 	#01 ;draw-modpad JSR2
273 282
 	;pop JSR2 ;pop JSR2 SWP2 SUB2 ;push JSR2
274 283
 
... ...
@@ -276,7 +285,11 @@ RTN
276 285
 
277 286
 @do-mul ( -- )
278 287
 
279
-	.stack/length LDZ #01 > RTN?
288
+	.input/value LDZ2 #0000 == ,&no-push JCN
289
+		;do-push JSR2
290
+		&no-push
291
+
292
+	( stack empty ) .stack/length LDZ #01 > RTN?
280 293
 	#02 ;draw-modpad JSR2
281 294
 	;pop JSR2 ;pop JSR2 SWP2 MUL2 ;push JSR2
282 295
 
... ...
@@ -284,7 +297,11 @@ RTN
284 297
 
285 298
 @do-div ( -- )
286 299
 
287
-	.stack/length LDZ #01 > RTN?
300
+	.input/value LDZ2 #0000 == ,&no-push JCN
301
+		;do-push JSR2
302
+		&no-push
303
+
304
+	( stack empty ) .stack/length LDZ #01 > RTN?
288 305
 	#03 ;draw-modpad JSR2
289 306
 	;pop JSR2 ;pop JSR2 SWP2 DIV2 ;push JSR2
290 307