/Articles/Forth/HTML/CodeAsm/macros.html
0,0 → 1,152
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title> macros.asm </title>
<meta name="keywords" content="amforth programming language Forth ATmega ATMEL">
<meta name="description" content="amforth - laguage Forth for ATMEL ATmega">
<!-- AUTOINCLUDE START "Page/Head.en.ihtml" DO NOT REMOVE -->
<link rel="StyleSheet" href="../../../../Web/CSS/MLAB.css" type="text/css" title="MLAB Basic Style">
<link rel="StyleSheet" href="../../../../Web/CSS/MLAB_Print.css" type="text/css" media="print">
<link rel="shortcut icon" type="image/x-icon" href="../../../../Web/PIC/MLAB.ico">
<script type="text/javascript" src="../../../../Web/JS/MLAB_Menu.js"></script>
<!-- AUTOINCLUDE END -->
</head>
 
<body lang="en">
 
<!-- AUTOINCLUDE START "Page/Header.en.ihtml" DO NOT REMOVE -->
<!-- ============== HEADER ============== -->
<div class="Header">
<script type="text/javascript">
<!--
SetRelativePath("../../../../");
DrawHeader();
// -->
</script>
<noscript>
<p><b> JavaScript is required for including of the header </b></p>
</noscript>
</div>
<!-- AUTOINCLUDE END -->
 
<!-- AUTOINCLUDE START "Page/Menu.en.ihtml" DO NOT REMOVE -->
<!-- ============== MENU ============== -->
<div class="Menu">
<script type="text/javascript">
<!--
SetRelativePath("../../../../");
DrawMenu();
// -->
</script>
<noscript>
<p><b> JavaScript is required for including of the menu </b><p>
</noscript>
</div>
<!-- AUTOINCLUDE END -->
 
<!-- ============== TEXT ============== -->
<div class="Text">
 
<h1> macros.asm </h1>
 
<p>
<input type=button onClick="history.back()" value="Back">
<input type=button onClick="history.forward()" value="Forward">
<a href="../WordList.en.html">Jump to Vocabulary</a>
</p>
 
<pre>
 
.def zerol = r2
.def zeroh = r3
.def upl = r4
.def uph = r5
 
.def tosl = r6
.def tosh = r7
 
.def temp0 = r16
.def temp1 = r17
.def temp2 = r18
.def temp3 = r19
.def temp4 = r20
.def temp5 = r21
.def temp6 = r22
.def temp7 = r23
 
.def wl = r24
.def wh = r25
 
.macro loadtos
ld tosl, Y+
ld tosh, Y+
.endmacro
 
.macro savetos
st -Y, tosh
st -Y, tosl
.endmacro
 
.macro in_
.if (@1 &lt; $40)
in @0,@1
.else
lds @0,@1
.endif
.endmacro
 
.macro out_
.if (@0 &lt; $40)
out @0,@1
.else
sts @0,@1
.endif
.endmacro
 
.macro sbi_
.if (@0 &lt; $40)
sbi @0,@1
.else
in_ @2,@0
ori @2,exp2(@1)
out_ @0,@2
.endif
.endmacro
 
.macro cbi_
.if (@0 &lt; $40)
cbi @0,@1
.else
in_ @2,@0
andi @2,~(exp2(@1))
out_ @0,@2
.endif
.endmacro
</pre>
 
<p>
<input type=button onClick="history.back()" value="Back">
<input type=button onClick="history.forward()" value="Forward">
<a href="../WordList.en.html">Jump to Vocabulary</a>
</p>
 
</div>
 
<!-- AUTOINCLUDE START "Page/Footer.en.ihtml" DO NOT REMOVE -->
<!-- ============== FOOTER ============== -->
<div class="Footer">
<script type="text/javascript">
<!--
SetRelativePath("../../../../");
DrawFooter();
// -->
</script>
<noscript>
<p><b> JavaScript is required for including of the footer </b></p>
</noscript>
</div>
<!-- AUTOINCLUDE END -->
 
</body>
</html>