File: test14.c

package info (click to toggle)
faucc 20120707-1
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 1,424 kB
  • ctags: 2,909
  • sloc: ansic: 38,774; yacc: 1,600; xml: 519; lex: 378; sh: 178; makefile: 127
file content (31 lines) | stat: -rw-r--r-- 668 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/* $Id: test14.c,v 1.2 2009-01-27 15:58:54 potyra Exp $ 
 *
 * Copyright (C) 2008-2009 FAUcc Team <info@faumachine.org>.
 * This program is free software. You can redistribute it and/or modify it
 * under the terms of the GNU General Public License, either version 2 of
 * the License, or (at your option) any later version. See COPYING.
 */

extern unsigned char get(void);

int reg;

inline void func(int opcode) {
	switch (opcode) {
		case 0: reg += 7; break;
		case 1: reg -= 7; break;
		case 2: reg %= 7; break;
	}
}

void disas(void) {
	int opcode = get();

	switch (opcode) {
		case 0: func(0); break;
		case 1: func(1); break;
		case 2: func(2); break;
	}
}