# fr30 testcase for ldm1 ($reglist_low) # mach(): fr30 .include "testutils.inc" START .text .global ldm1 ldm1: ; Test ldm1 ($reglist_low) mvr_h_gr sp,r1 ; save stack pointer permanently inci_h_gr -4,sp mvi_h_mem 3,sp inci_h_gr -4,sp mvi_h_mem 2,sp inci_h_gr -4,sp mvi_h_mem 1,sp inci_h_gr -4,sp mvi_h_mem 0,sp set_cc 0x0f ; Condition codes should not change ldm1 (r8,r10,r12,r14) test_cc 1 1 1 1 testr_h_gr sp,r1 test_h_gr 0,r8 test_h_gr 1,r10 test_h_gr 2,r12 test_h_gr 3,r14 inci_h_gr -16,sp set_cc 0x0f ; Condition codes should not change ldm1 (r9,r11,r13,r15) test_cc 1 1 1 1 test_h_gr 0,r9 test_h_gr 1,r11 test_h_gr 2,r13 test_h_gr 3,r15 mvr_h_gr r1,sp ; restore stack pointer inci_h_gr -16,sp set_cc 0x0f ; Condition codes should not change ldm1 (r9,r13,r15,r11); Order speficied should not matter test_cc 1 1 1 1 test_h_gr 0,r9 test_h_gr 1,r11 test_h_gr 2,r13 test_h_gr 3,r15 mvr_h_gr r1,sp ; restore stack pointer set_cc 0x0f ; Condition codes should not change ldm1 () ; Nothing should happen test_cc 1 1 1 1 testr_h_gr sp,r1 test_h_gr 0,r9 test_h_gr 1,r11 test_h_gr 2,r13 pass