From cca3fcc208f9f1f8f69f60ed58dd470f976bddf0 Mon Sep 17 00:00:00 2001 From: RibShark <1957489+RibShark@users.noreply.github.com> Date: Tue, 29 Jul 2025 14:57:07 +0100 Subject: [PATCH] Fix ANL Areg,Data for 80251 in source mode ANL Areg,Data should be GROUP1 rather than GROUP2, the incorrect group causes the instruction to fail to decode on source mode 80251 --- Ghidra/Processors/8051/data/languages/8051_main.sinc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Ghidra/Processors/8051/data/languages/8051_main.sinc b/Ghidra/Processors/8051/data/languages/8051_main.sinc index d3d40e01c0..22700c13ac 100644 --- a/Ghidra/Processors/8051/data/languages/8051_main.sinc +++ b/Ghidra/Processors/8051/data/languages/8051_main.sinc @@ -672,7 +672,7 @@ Rel16: relAddr is rel16 [ relAddr=inst_next+rel16; ] { export *:1 relAdd :ANL Areg,rn is $(GROUP2) & ophi=5 & Areg & rnfill=1 & rn { ACC = ACC & rn; resultflags(ACC); } :ANL Areg,Direct is $(GROUP1) & ophi=5 & oplo=5 & Areg; Direct { ACC = ACC & Direct; resultflags(ACC); } :ANL Areg,Ri is $(GROUP2) & ophi=5 & Areg & rifill=3 & Ri { ACC = ACC & Ri; resultflags(ACC); } -:ANL Areg,Data is $(GROUP2) & ophi=5 & oplo=4 & Areg; Data { ACC = ACC & Data; resultflags(ACC); } +:ANL Areg,Data is $(GROUP1) & ophi=5 & oplo=4 & Areg; Data { ACC = ACC & Data; resultflags(ACC); } :ANL Direct,Areg is $(GROUP1) & ophi=5 & oplo=2 & Areg; Direct { tmp:1 = Direct & ACC; Direct = tmp; resultflags(tmp); } :ANL Direct,Data is $(GROUP1) & ophi=5 & oplo=3; Direct; Data { tmp:1 = Direct & Data; Direct = tmp; resultflags(tmp); }