Without using additional packages, add the following lines to the preamble of your document:
\makeatletter
\def\@cite#1#2{{%
\m@th\upshape\mdseries[{\bfseries #1}{\if@tempswa, #2\fi}]}}
\def\@citex[#1]#2{\leavevmode
\let\@citea\@empty
\@cite{\@for\@citeb:=#2\do
{\@citea\def\@citea{,\penalty\@m\,}%
\edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
\if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
\@ifundefined{b@\@citeb}{\hbox{\reset@font\bfseries ?}%
\G@refundefinedtrue
\@latex@warning
{Citation `\@citeb' on page \thepage \space undefined}}%
{\@cite@ofmt{\csname b@\@citeb\endcsname}}}}{#1}}
\makeatother
A complete example:
\documentclass{amsproc}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@article{testa,
title= "Title A",
author= "Author A",
journal= "Journal A",
pages= "1-2",
year = "2012"
}
@article{testb,
title= "Title B",
author= "Author B",
journal= "Journal B",
pages= "2-3",
year = "2012"
}
\end{filecontents}
\makeatletter
\def\@cite#1#2{{%
\m@th\upshape\mdseries[{\bfseries #1}{\if@tempswa, #2\fi}]}}
\def\@citex[#1]#2{\leavevmode
\let\@citea\@empty
\@cite{\@for\@citeb:=#2\do
{\@citea\def\@citea{,\penalty\@m\,}%
\edef\@citeb{\expandafter\@firstofone\@citeb\@empty}%
\if@filesw\immediate\write\@auxout{\string\citation{\@citeb}}\fi
\@ifundefined{b@\@citeb}{\hbox{\reset@font\bfseries ?}%
\G@refundefinedtrue
\@latex@warning
{Citation `\@citeb' on page \thepage \space undefined}}%
{\@cite@ofmt{\csname b@\@citeb\endcsname}}}}{#1}}
\makeatother
\begin{document}
\cite{testa,testb}
\bibliographystyle{amsplain}
\bibliography{\jobname}
\end{document}
The output zoomed to 200%:

Using packages, you can simply load the cite package:
\usepackage{cite}