Rev 109 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 109 | Rev 135 | ||
---|---|---|---|
Line 121... | Line 121... | ||
121 | add dest, lsrc |
121 | add dest, lsrc |
122 | end if |
122 | end if |
123 | end if |
123 | end if |
124 | } |
124 | } |
Line 125... | Line 125... | ||
125 | 125 | ||
126 | macro __mov reg,a { ; mike.dld |
126 | macro __mov reg,a,b { ; mike.dld |
- | 127 | if (~a eq)&(~b eq) |
|
- | 128 | mpack reg,a,b |
|
127 | if ~a eq |
129 | else if (~a eq)&(b eq) |
128 | mov reg,a |
130 | mov reg,a |
129 | end if |
131 | end if |
Line 130... | Line 132... | ||
130 | } |
132 | } |
Line 139... | Line 141... | ||
139 | int 0x40 |
141 | int 0x40 |
140 | } |
142 | } |
Line 141... | Line -... | ||
141 | - | ||
142 | - | ||
143 | - | ||
144 | - | ||
145 | 143 | ||
146 | 144 | ||
Line 147... | Line 145... | ||
147 | 145 | ||
148 | ; optimize the code for size |
146 | ; optimize the code for size |
Line 174... | Line 172... | ||
174 | end if |
172 | end if |
175 | } |
173 | } |
Line 176... | Line 174... | ||
176 | 174 | ||
177 | macro mov arg1,arg2 |
175 | macro mov arg1,arg2 |
178 | { |
176 | { |
179 | if (arg1 in __regs) & (arg2 eqtype 0) |
177 | if (arg1 in __regs) & ((arg2 eqtype 0) | (arg2 eqtype '0')) |
180 | if (arg2) = 0 |
178 | if (arg2) = 0 |
181 | xor arg1,arg1 |
179 | xor arg1,arg1 |
182 | else if (arg2) = 1 |
180 | else if (arg2) = 1 |
183 | xor arg1,arg1 |
181 | xor arg1,arg1 |