Mexico's president has told the US Congress that he is confident his country will win its fight against drug gangs with cooperation from the US.
Felipe Calderon asked for help in ending the flow of assault weapons from the US across the border.
"Many of these guns are not going to honest American hands," he said.
He also asked Congress to reform US immigration policy and criticised a new Arizona law requiring police to question suspected illegal migrants.
'Admires US constitution'
Speaking to a joint session of the US Congress on Thursday, Mr Calderon cited gains in the fight against Mexico's violent drug gangs.
He pledged the country would "firmly establish the rule of law" by deploying "the full force of the state to confront organised crime with determination and courage".
Mr Calderon said he admired and respected the US constitution and understood its protection of gun rights for Americans.
Continue reading the main story
The time has come to reduce the causes of migration and turn this into a legal, orderly and secure flow of workers and visitors
President Felipe Calderon Mexican president
But he said the rise in violence in Mexico coincided with the 2004 lapse of a US assault weapons ban.
He asked for co-operation from the US Congress on stopping the flow of such weapons across the border, saying that 80% of recently seized guns could be traced to the US.
More than 22,000 people have been killed in Mexico since Mr Calderon came to power, most of them in drug-related gun battles.
Mr Calderon has deployed 50,000 soldiers to help quell the violence, but so far with limited success.
Under the Merida initiative, the US promised Mexico and other Central American countries $1.3bn (£910m) to help train and equip their security forces.
'Admires' migrant workers
But US State Department figures show less than 10%, or $113m worth of equipment, has actually been delivered to Mexico.
On immigration, Mr Calderon lamented that so many Mexicans leave the country to find opportunity north of the border and pledged to create economic opportunities within the country to entice more to stay.
Presidents Obama and Calderon with their wives President Obama hosted a state dinner for Mr Calderon
Speaking briefly in Spanish, he addressed Mexican migrant workers "who are working really hard for this great country", telling them that Mexico admires them and misses them and would work hard for their rights and for their families at home.
He called on Congress to reform the US immigration system.
"The time has come to reduce the causes of migration and turn this into a legal, orderly and secure flow of workers and visitors," he said.
Mr Calderon said he "strongly" disagreed with a new Arizona law requiring police officers to check the immigration status of people whom they have stopped while enforcing other laws, if they suspect they are in the country illegally.
"It is a law that not only ignores a reality that cannot be erased by decree but also introduced a terrible idea using racial profiling," he said.
Mr Obama has made immigration reform one of his priorities, but analysts say legislation is unlikely to make it to Congress in a year when all the seats in the House of Representatives and a third of those in the Senate are up for election.
Recent opinion polls suggest the Arizona law has wide backing there, but it has caused outrage in Mexico, whose citizens make up three-quarters of the estimated 12 million illegal immigrants living in the US.