Semenya crossed the line in a time of 1 minute 58.15 seconds to qualify with the fastest time from the semi-final heats.
Britain's Lynsey Sharp finished second. American Kate Grace - in third - and Bulgaria's Marina Arzamasova joined Semenya and Sharp as the race's four qualifiers.
On Wednesday, Semenya won her opening 800m race in a time of 1:59.31.
She is heavily favoured to win gold in Rio, with commentators touting her "to do something special".