1 #include "gpsim_assert.h" 2 3 unsigned char failures = 0; 4 unsigned char dummy = 0; 5 6 unsigned int aint0 = 0; 7 unsigned int aint1 = 0; 8 unsigned char achar0 = 0; 9 unsigned char achar1 = 0; 10 11 void done()12done() 13 { 14 ASSERT(MANGLE(failures) == 0); 15 PASSED(); 16 } 17 18 void char_lt_char(void)19char_lt_char (void) 20 { 21 if (achar0 < achar1) 22 failures++; 23 } 24 25 void char_gt_char(void)26char_gt_char (void) 27 { 28 if (achar1 > achar0) 29 failures++; 30 } 31 32 void char_lte_char(void)33char_lte_char (void) 34 { 35 if (achar0 <= achar1) 36 failures++; 37 } 38 39 void char_gte_char(void)40char_gte_char (void) 41 { 42 if (achar1 >= achar0) 43 failures++; 44 } 45 46 void char_lt_lit(void)47char_lt_lit (void) 48 { 49 if (achar1 < 0x10) 50 failures++; 51 } 52 53 void char_gt_lit(void)54char_gt_lit (void) 55 { 56 if (achar1 > 0x10) 57 failures++; 58 } 59 60 void char_lte_lit(void)61char_lte_lit (void) 62 { 63 if (achar1 <= 0x0f) 64 failures++; 65 } 66 67 void char_gte_lit(void)68char_gte_lit (void) 69 { 70 if (achar1 >= 0x11) 71 failures++; 72 } 73 74 75 /* now repeat test using negative logic */ 76 void char_lt_char_else(void)77char_lt_char_else (void) 78 { 79 if (achar0 >= achar1) 80 dummy++; 81 else 82 failures++; 83 } 84 85 void char_gt_char_else(void)86char_gt_char_else (void) 87 { 88 if (achar1 <= achar0) 89 dummy++; 90 else 91 failures++; 92 } 93 94 void char_lte_char_else(void)95char_lte_char_else (void) 96 { 97 if (achar0 > achar1) 98 dummy++; 99 else 100 failures++; 101 } 102 103 void char_gte_char_else(void)104char_gte_char_else (void) 105 { 106 if (achar1 < achar0) 107 dummy++; 108 else 109 failures++; 110 } 111 112 void char_lt_lit_else(void)113char_lt_lit_else (void) 114 { 115 if (achar1 >= 0x10) 116 dummy++; 117 else 118 failures++; 119 } 120 121 void char_gt_lit_else(void)122char_gt_lit_else (void) 123 { 124 if (achar1 <= 0x10) 125 dummy++; 126 else 127 failures++; 128 } 129 130 void char_lte_lit_else(void)131char_lte_lit_else (void) 132 { 133 if (achar1 > 0x0f) 134 dummy++; 135 else 136 failures++; 137 } 138 139 void char_gte_lit_else(void)140char_gte_lit_else (void) 141 { 142 if (achar1 < 0x11) 143 dummy++; 144 else 145 failures++; 146 } 147 148 149 /* ints */ 150 151 void int_lt_int(void)152int_lt_int (void) 153 { 154 if (aint0 < aint1) 155 failures++; 156 } 157 158 void int_gt_int(void)159int_gt_int (void) 160 { 161 if (aint1 > aint0) 162 failures++; 163 } 164 165 void int_lte_int(void)166int_lte_int (void) 167 { 168 if (aint0 <= aint1) 169 failures++; 170 } 171 172 void int_gte_int(void)173int_gte_int (void) 174 { 175 if (aint1 >= aint0) 176 failures++; 177 } 178 179 void int_lt_lit(void)180int_lt_lit (void) 181 { 182 if (aint1 < 0x10) 183 failures++; 184 } 185 186 void int_gt_lit(void)187int_gt_lit (void) 188 { 189 if (aint1 > 0x10) 190 failures++; 191 } 192 193 void int_lte_lit(void)194int_lte_lit (void) 195 { 196 if (aint1 <= 0x0f) 197 failures++; 198 } 199 200 void int_gte_lit(void)201int_gte_lit (void) 202 { 203 if (aint1 >= 0x11) 204 failures++; 205 } 206 207 208 209 210 /* now repeat int comparisons using negative logic */ 211 212 void int_lt_int_else(void)213int_lt_int_else (void) 214 { 215 if (aint0 >= aint1) 216 dummy++; 217 else 218 failures++; 219 } 220 221 void int_gt_int_else(void)222int_gt_int_else (void) 223 { 224 if (aint1 <= aint0) 225 dummy++; 226 else 227 failures++; 228 } 229 230 void int_lte_int_else(void)231int_lte_int_else (void) 232 { 233 if (aint0 > aint1) 234 dummy++; 235 else 236 failures++; 237 } 238 239 void int_gte_int_else(void)240int_gte_int_else (void) 241 { 242 if (aint1 < aint0) 243 dummy++; 244 else 245 failures++; 246 } 247 248 void int_lt_lit_else(void)249int_lt_lit_else (void) 250 { 251 if (aint1 >= 0x10) 252 dummy++; 253 else 254 failures++; 255 } 256 257 void int_gt_lit_else(void)258int_gt_lit_else (void) 259 { 260 if (aint1 <= 0x10) 261 dummy++; 262 else 263 failures++; 264 } 265 266 void int_lte_lit_else(void)267int_lte_lit_else (void) 268 { 269 if (aint1 > 0x0f) 270 dummy++; 271 else 272 failures++; 273 } 274 275 void int_gte_lit_else(void)276int_gte_lit_else (void) 277 { 278 if (aint1 < 0x11) 279 dummy++; 280 else 281 failures++; 282 } 283 284 285 286 287 288 289 void main(void)290main (void) 291 { 292 293 char_lt_char (); 294 char_gt_char (); 295 296 achar0++; 297 char_lt_char (); 298 char_gt_char (); 299 char_gte_char (); 300 char_lte_char (); 301 302 achar1 = 0x10; 303 char_lt_lit (); 304 char_gt_lit (); 305 char_lte_lit (); 306 char_gte_lit (); 307 308 309 achar0 = 0; 310 achar1 = 0; 311 312 char_lt_char_else (); 313 char_gt_char_else (); 314 315 achar0++; 316 char_lt_char_else (); 317 char_gt_char_else (); 318 char_gte_char_else (); 319 char_lte_char_else (); 320 321 achar1 = 0x10; 322 char_lt_lit_else (); 323 char_gt_lit_else (); 324 char_lte_lit_else (); 325 char_gte_lit_else (); 326 327 328 329 int_lt_int (); 330 int_gt_int (); 331 332 aint0++; 333 int_lt_int (); 334 int_gt_int (); 335 int_gte_int (); 336 int_lte_int (); 337 338 aint1 = 0x10; 339 int_lt_lit (); 340 int_gt_lit (); 341 int_lte_lit (); 342 int_gte_lit (); 343 344 aint0=0; 345 aint1=0; 346 int_lt_int_else (); 347 int_gt_int_else (); 348 349 aint0++; 350 int_lt_int_else (); 351 int_gt_int_else (); 352 int_gte_int_else (); 353 int_lte_int_else (); 354 355 aint1 = 0x10; 356 int_lt_lit_else (); 357 int_gt_lit_else (); 358 int_lte_lit_else (); 359 int_gte_lit_else (); 360 361 done (); 362 } 363