This study proposed a new semi-deterministic block theory (NSDBT) method, in which the sizes and spatial positions of discontinuities along with their orientations were incorporated. Hence, the locations, volumes, and sliding forces of key rock blocks could be obtained, which could directly provide quantitative reference for support design. The NSDBT method was applied to analyze the stability of a high rock slope of Changhe dam located in Sichuan province, southwest China. Required geological data for the analyses was obtained from field and laboratory investigations. The mechanical parameters of discontinuities were obtained by laboratory direct shear tests, and geometric characteristics of discontinuities were obtained by digital photogrammetry. A total of 3540 discontinuities were identified. The analysis results showed that: (a) 57.7% key blocks were excluded owing to taking the formation probability of key blocks into consideration; (b) comparing the results of the calculation and field investigation, it was found that the calculated locations of dangerous discontinuities were in good agreement with the failed blocks investigated in the field (note: the failed blocks include blocks that have developed into real rockfalls and dangerous blocks identified by a field survey); (c) on the studied slope 355 key blocks were searched, of which 175, 123, and 57 were tetrahedral, pentahedral, and hexahedral blocks, respectively; (d) the volumes of key blocks ranged from 0.01 to 22.83m3, and most of them were smaller than 4m3; (e) the sliding forces of key blocks were range from 0.01 to 390.98kN, and most of them were smaller than 50kN; and (f) water had a great impact on the stability of the slope, especially for sampling window 3. In summary, the studied slope was stable on the whole, but there existed some local small key blocks.