Mercurial > hg > dmlib
diff tools/lib64gfx.c @ 1726:f9128665a47e
Implement operator types DO_SET_MEM_HI and DO_SET_MEM_LO. Not used yet.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Thu, 07 Jun 2018 14:48:26 +0300 |
parents | 40a5ba0b3838 |
children | 8eb5ff34864a |
line wrap: on
line diff
--- a/tools/lib64gfx.c Thu Jun 07 14:47:37 2018 +0300 +++ b/tools/lib64gfx.c Thu Jun 07 14:48:26 2018 +0300 @@ -645,6 +645,8 @@ { case DO_COPY: case DO_SET_MEM: + case DO_SET_MEM_HI: + case DO_SET_MEM_LO: case DO_SET_OP: switch (op->subject) { @@ -802,6 +804,8 @@ { case DO_COPY: case DO_SET_MEM: + case DO_SET_MEM_HI: + case DO_SET_MEM_LO: case DO_SET_OP: switch (op->subject) { @@ -857,6 +861,13 @@ value = op->offs; break; + case DO_SET_MEM_HI: + value = (*src >> 4) & 0x0f; + break; + + case DO_SET_MEM_LO: + value = *src & 0x0f; + break; } switch (op->subject) { @@ -1059,6 +1070,14 @@ *dst = value; break; + case DO_SET_MEM_HI: + *dst |= (value & 0x0f) << 4; + break; + + case DO_SET_MEM_LO: + *dst |= value & 0x0f; + break; + case DO_SET_OP: // Do nothing in this case break;