@@ -3048,3 +3048,87 @@ test_cases:
3048
3048
fpu_flags : [X86_FPU_FLAGS_MODIFY_C0, X86_FPU_FLAGS_MODIFY_C1, X86_FPU_FLAGS_MODIFY_C2, X86_FPU_FLAGS_MODIFY_C3 ]
3049
3049
regs_read : [ st(0) ]
3050
3050
regs_write : [ st(0), fpsw ]
3051
+
3052
+ -
3053
+ input :
3054
+ name : " Enter/leave instructions, 16-bit decode mode"
3055
+ bytes : [
3056
+ 0xc8, 0x34, 0x12, 0x05, # enter 0x1234, 0x5 (Create a stack frame of size 0x1234 with a nesting level of 0x5)
3057
+ 0xc9 # leave
3058
+ ]
3059
+ arch : " x86"
3060
+ options : [ CS_OPT_DETAIL, CS_MODE_16 ]
3061
+ expected :
3062
+ insns :
3063
+ -
3064
+ asm_text : " enter 0x1234, 0x5"
3065
+ details :
3066
+ x86 :
3067
+ prefix : [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
3068
+ opcode : [ 0xc8, 0x00, 0x00, 0x00 ]
3069
+ regs_read : [ bp, sp ]
3070
+ regs_write : [ bp, sp ]
3071
+ -
3072
+ asm_text : " leave"
3073
+ details :
3074
+ x86 :
3075
+ prefix : [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
3076
+ opcode : [ 0xc9, 0x00, 0x00, 0x00 ]
3077
+ regs_read : [ bp, sp ]
3078
+ regs_write : [ bp, sp ]
3079
+
3080
+ -
3081
+ input :
3082
+ name : " Enter/leave instructions, 32-bit decode mode"
3083
+ bytes : [
3084
+ 0xc8, 0x34, 0x12, 0x05, # enter 0x1234, 0x5 (Create a stack frame of size 0x1234 with a nesting level of 0x5)
3085
+ 0xc9 # leave
3086
+ ]
3087
+ arch : " x86"
3088
+ options : [ CS_OPT_DETAIL, CS_MODE_32 ]
3089
+ expected :
3090
+ insns :
3091
+ -
3092
+ asm_text : " enter 0x1234, 0x5"
3093
+ details :
3094
+ x86 :
3095
+ prefix : [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
3096
+ opcode : [ 0xc8, 0x00, 0x00, 0x00 ]
3097
+ regs_read : [ ebp, esp ]
3098
+ regs_write : [ ebp, esp ]
3099
+ -
3100
+ asm_text : " leave"
3101
+ details :
3102
+ x86 :
3103
+ prefix : [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
3104
+ opcode : [ 0xc9, 0x00, 0x00, 0x00 ]
3105
+ regs_read : [ ebp, esp ]
3106
+ regs_write : [ ebp, esp ]
3107
+
3108
+ -
3109
+ input :
3110
+ name : " Enter/leave instructions, 64-bit decode mode"
3111
+ bytes : [
3112
+ 0xc8, 0x34, 0x12, 0x05, # enter 0x1234, 0x5 (Create a stack frame of size 0x1234 with a nesting level of 0x5)
3113
+ 0xc9 # leave
3114
+ ]
3115
+ arch : " x86"
3116
+ options : [ CS_OPT_DETAIL, CS_MODE_64 ]
3117
+ expected :
3118
+ insns :
3119
+ -
3120
+ asm_text : " enter 0x1234, 0x5"
3121
+ details :
3122
+ x86 :
3123
+ prefix : [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
3124
+ opcode : [ 0xc8, 0x00, 0x00, 0x00 ]
3125
+ regs_read : [ rbp, rsp ]
3126
+ regs_write : [ rbp, rsp ]
3127
+ -
3128
+ asm_text : " leave"
3129
+ details :
3130
+ x86 :
3131
+ prefix : [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
3132
+ opcode : [ 0xc9, 0x00, 0x00, 0x00 ]
3133
+ regs_read : [ rbp, rsp ]
3134
+ regs_write : [ rbp, rsp ]
0 commit comments