1 /* arg */ 2 Iarg *adup(Iarg *x); 3 Iarg *areg(Cpu *cpu, uchar len, uchar reg); 4 Iarg *amem(Cpu *cpu, uchar len, uchar sreg, ulong off); 5 Iarg *afar(Iarg *mem, uchar len, uchar alen); 6 Iarg *acon(Cpu *cpu, uchar len, ulong val); 7 ulong ar(Iarg *a); 8 long ars(Iarg *a); 9 void aw(Iarg *a, ulong w); 10 11 /* decode */ 12 void decode(Iarg *ip, Inst *i); 13 14 /* xec */ 15 void trap(Cpu *cpu, int e); 16 int intr(Cpu *cpu, int v); 17 int xec(Cpu *cpu, int n); 18 19 #pragma varargck type "I" Inst* 20 #pragma varargck type "J" ulong 21 #pragma varargck type "C" Cpu* 22 23 int instfmt(Fmt *fmt); 24 int flagfmt(Fmt *fmt); 25 int cpufmt(Fmt *fmt); 26 27 /* pit */ 28 void clockpit(Pit *pit, vlong cycles); 29 void setgate(Pit *ch, uchar gate); 30 uchar rpit(Pit *pit, uchar addr); 31 void wpit(Pit *pit, uchar addr, uchar data); 32