I have had a couple of bosses like you described. The first one screamed at me one day about something. I had to go get a file for him, brought it back and slammed it on his desk. I said I don't appreciate the way you just talked to me. I turned to storm out and he called me back. I shut the door and we had a talk. It really did help for a while. Apparently no one had ever stood up to him before. Of course he went back to his old ways and I eventually found another job.
The second one was even worse. I only stayed the year I was there because I had a vacation planned. It has been 2 and a half years since I left and he averages a new assistant about every 4-5 months. It would not have helped in my case to talk to him because he was so insecure (short, Napoleon complex) and thought he was always right. The man was an idiot. He didn't even know how to turn on his computer.
I am now working for the best boss in the world and love my job.
If it was me I would start looking now for another job. Then if you find one give the notice and get out of there.
The second one was even worse. I only stayed the year I was there because I had a vacation planned. It has been 2 and a half years since I left and he averages a new assistant about every 4-5 months. It would not have helped in my case to talk to him because he was so insecure (short, Napoleon complex) and thought he was always right. The man was an idiot. He didn't even know how to turn on his computer.

If it was me I would start looking now for another job. Then if you find one give the notice and get out of there.