Ignore:
Timestamp:
Oct 1, 2010, 12:47:25 PM (9 years ago)
Author:
mulligan
Message:

Bug fixed: storage destination for all logical operations was incorrect
(as implemented, all results were stored in the accumulator).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Deliverables/D4.1/ASMInterpret.ml

    r147 r148  
    10371037   | `ANL (`U2((`DIRECT d), ag)) ->
    10381038        let and_val = get_arg_8 status (`DIRECT d) -&- get_arg_8 status ag in
    1039           set_arg_8 status and_val `A
     1039          set_arg_8 status and_val (`DIRECT d)
    10401040   | `ANL (`U3 (`C, b)) ->
    10411041        let and_val = get_cy_flag status && get_arg_1 status b in
     
    10461046   | `ORL (`U2((`DIRECT d), ag)) ->
    10471047        let or_val = get_arg_8 status (`DIRECT d) -|- get_arg_8 status ag in
    1048           set_arg_8 status or_val `A
     1048          set_arg_8 status or_val (`DIRECT d)
    10491049   | `ORL (`U3 (`C, b)) ->
    10501050        let or_val = get_cy_flag status || get_arg_1 status b in
     
    10551055   | `XRL (`U2((`DIRECT d), ag)) ->
    10561056        let xor_val = get_arg_8 status (`DIRECT d) -^- get_arg_8 status ag in
    1057           set_arg_8 status xor_val `A
     1057          set_arg_8 status xor_val (`DIRECT d)
    10581058   | `CLR `A -> set_arg_8 status (zero `Eight) `A
    10591059   | `CLR `C -> set_arg_1 status false `C
Note: See TracChangeset for help on using the changeset viewer.