On 3/2/24 20:43, Helge Deller wrote:
+/* Expander for assemble_16(s,im14). */
+static int expand_16(DisasContext *ctx, int val)
+{
+    /*
+     * @val is bits [0:15], containing both im14 and s.
+     * Swizzle thing around depending on PSW.W.
+     */
+    int i = (-(val & 1) << 13) | extract32(val, 1, 13);
+
+    if (ctx->tb_flags & PSW_W) {
+        i ^= val & (3 << 13);

Patch boots when I change to:
+        i ^= ((val >> 14) & 3) << 13;


Whoops, yes.


r~

Reply via email to