2 * Sources of the "STORE" group instructions
5 /* $Id: do_store.c,v 2.4 1994/06/24 10:46:57 ceriel Exp $ */
19 /* STL l: Store local or parameter */
21 LOG(("@S6 DoSTL(%ld)", l));
28 register unsigned long arg;
30 /* STE g: Store external */
31 register ptr p = i2p(arg);
33 LOG(("@S6 DoSTE(%lu)", p));
41 /* SIL l: Store into word pointed to by l-th local or parameter */
43 LOG(("@S6 DoSIL(%ld)", l));
46 popw_m(st_lddp(loc_addr(l)));
52 /* STF f: Store offsetted */
53 register ptr p = dppop();
55 LOG(("@S6 DoSTF(%ld)", l));
63 /* STI o: Store indirect o bytes (pop address, then data) */
64 register ptr p = dppop();
66 LOG(("@S6 DoSTI(%ld)", l));
74 /* STS w: Store indirect, w-byte integer on top of stack gives object size */
77 LOG(("@S6 DoSTS(%ld)", l));
87 /* SDL l: Store double local or parameter */
89 LOG(("@S6 DoSDL(%ld)", l));
92 pop_st(loc_addr(l), dwsize);
96 register unsigned long arg;
98 /* SDE g: Store double external */
99 register ptr p = i2p(arg);
101 LOG(("@S6 DoSDE(%lu)", p));
103 pop_m(arg_g(p), dwsize);
109 /* SDF f: Store double offsetted */
110 register ptr p = dppop();
112 LOG(("@S6 DoSDF(%ld)", l));
114 pop_m(p + arg_f(l), dwsize);