diff --git a/librz/arch/isa/tms320/c5x/c5x.c b/librz/arch/isa/tms320/c5x/c5x.c index 4fe8caa6db..58f228eb92 100644 --- a/librz/arch/isa/tms320/c5x/c5x.c +++ b/librz/arch/isa/tms320/c5x/c5x.c @@ -153,10 +153,10 @@ RZ_IPI ut32 c5x_op_type(ut16 id) { return RZ_ANALYSIS_OP_TYPE_MOV; case C5X_INS_ROLB: case C5X_INS_SFLB: - case C5X_INS_BSAR: return RZ_ANALYSIS_OP_TYPE_SHL; case C5X_INS_RORB: case C5X_INS_SFRB: + case C5X_INS_BSAR: return RZ_ANALYSIS_OP_TYPE_SHR; case C5X_INS_ZAP: case C5X_INS_ZPR: diff --git a/test/db/asm/tms320_c5x_16 b/test/db/asm/tms320_c5x_16 index f862c822fd..e8493faa7c 100644 --- a/test/db/asm/tms320_c5x_16 +++ b/test/db/asm/tms320_c5x_16 @@ -92,6 +92,8 @@ d "calld 0x50, *" 7e800050 0x0 (seq (set sp (- (var sp) (bv 16 0x1))) (storew 0 d "rptz #0x7" bec50007 0x0 nop d "rptb 0x40" bec60040 0x0 nop d "bsar #0x4" bfe3 +d "bsar #0x1" bfe0 +d "bsar #0x10" bfef d "lst #0x0, 0x9" 0e09 d "sst #0x1, 0x10" 8f10 d "tblr 0x9" a609 0x0 (storew 0 (* (cast 24 false (| (<< (& (var dp) (bv 16 0x1ff)) (bv 16 0x7) false) (bv 16 0x9))) (bv 24 0x2)) (loadw 0 16 (* (cast 24 false (cast 16 false (var acc))) (bv 24 0x2))))