Changeset 57 for Deliverables/D4.1
- Timestamp:
- Sep 10, 2010, 3:18:55 PM (10 years ago)
- Location:
- Deliverables/D4.1
- Files:
-
- 3 added
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Deliverables/D4.1/ASMInterpret.ml
r55 r57 863 863 (* 864 864 | XCHD of acc * indirect 865 865 *) 866 866 (* program branching *) 867 | JC of rel 868 | JNC of rel 867 | JC (`REL rel) -> 868 let cy = carr status in 869 if cy = true then 870 { status with pc = status.pc ++ (int_of_byte rel) } 871 else 872 status 873 | JNC (`REL rel) -> 874 let cy = carr status in 875 if cy = false then 876 { status with pc = status.pc ++ (int_of_byte rel) } 877 else 878 status 879 (* 869 880 | JB of rel 870 881 | JNB of rel … … 875 886 | RETI 876 887 | AJMP of addr11 877 | LJMP of addr16 888 *) 889 | LJMP (`ADDR16 (lb,hb)) -> 890 { status with pc = (lb,hb) } 891 (* 878 892 | SJMP of rel 879 893 | JMP of indirect_dptr 880 | JZ of rel881 | JNZ of rel882 894 *) 895 | JZ (`REL rel) -> 896 if status.acc = ((false,false,false,false),(false,false,false,false)) then 897 { status with pc = status.pc ++ (int_of_byte rel) } 898 else 899 status 900 | JNZ (`REL rel) -> 901 if status.acc <> ((false,false,false,false),(false,false,false,false)) then 902 { status with pc = status.pc ++ (int_of_byte rel) } 903 else 904 status 883 905 | CJNE ((`U1 (`A, ag)), `REL rel) -> 884 906 let ag_val = fetch_arg8 status ag in … … 897 919 status 898 920 (* 899 | CJNE of (acc * [ direct | data ], [ reg | indirect ] * data) union2 * rel900 921 | DJNZ of [ reg | direct ] * rel 901 922 *)
Note: See TracChangeset
for help on using the changeset viewer.