文档介绍:汇编语言程序---上机源程序董建怀编2007-12-1TITLE学习指导书P153,-1 dataSEGMENTinfor1DB'Pleaseinputthefirstdata(<10):$'infor2DB0ah,0dh,'pleaseinputtheseconddata(<10):$'文档来自于网络搜索infor3DB0ah,0dh,'theresultis:$'dataENDScodeSEGMENTASSUMECS:code,DS:datastart:MOVAX,dataMOVDS,AXMOVDX,OFFSETinfor1;显示第一行的提示信息MOVAH,9INT21hMOVAH,1;从键盘接收第一个字符INT21hSUBAL,30h;转换成第一个加数MOVCL,ALMOVDX,OFFSETinfor2;显示第二行的提示信息MOVAH,9INT21hMOVAH,1;从键盘接收第二个字符INT21h;MOVBL,ALSUBAL,30h;转换成第二个加数XORAH,AH;调整成非压缩型的十进制相加ADDAL,CLAAAPUSHAX;保存非压缩型的十进制相加的结果,十位在AH中,,OFFSETinfor3;显示第三行的提示信息MOVAH,9INT21hPOPAX;调出非压缩型的十进制相加的结果,十位在AH中,;保存非压缩型的十进制相加的结果,十位在AH中,,AH;十位数加30H转换成对应的ASCII码ADDDL,30hMOVAH,02;十位数输出INT21hPOPAX;调出非压缩型的十进制相加的结果,十位在AH中,,ALADDDL,30h;个位数加30H转换成对应的ASCII码MOVAH,02hINT21h;MOVAH,01;避免运行中直接返回DOS而看不到结果,确保按任何键时才返回DOS;INT21hMOVAH,4ch;采用非标准方法返回DOSINT21hcodeENDSENDstartNAME学习指导书P154,-2参考源程序 dataSEGMENTnumDB00,01,04,09,16,25,36,49,64,81;在内存中是以二进制数(十六进制数)形式存放文档来自于网络搜索infor1DB'pleaseinputthedata(0~9):$'infor2DB0ah,0dh,'theresultis:$'dataENDScodeSEGMENTASSUMECS:code,DS:datastart:MOVAX,dataMOVDS,AXMOVDX,OFFSETinfor1MOVAH,9INT21hMOVAH,01hINT21hMOVCH,ALMOVDX,OFFSETinfor2MOVAH,9INT21hMOVBX,OFFSETnumMOVAL,CHSUBAL,30hXLAT;交换指令,;将AL中的二进制数转换成非压缩型BCD码,十位放在AH中,个位放在AL中.;可用MOVAH,00H;MOVBL,0AH;DIVBL,则所得的结果十位放在AH中,,AXADDAH,30h;十位加30H转换成ASCII码,,AHMOVAH,2INT21hMOVAL,BL;十位加30H转换成ASCII码,,30hMOVDL,ALMOVAH,02INT21h;MOVAH,01;INT21hMOVAH,4chINT21hcodeENDSENDstart;学习指导书P155()源程序dataSEGMENTINfor1DB0ah,0dh,'pleasepressanykeytoinputaletter:$'文档来自于网络搜索INfor2DB0ah,0dh,'youinputalowetcaseletter!$'文档来自于网络搜索INfor3DB0ah,0dh,'youinputauppercaseletter!$'文档来自于网络搜索INfor4DB0ah,0dh,'youinputadigit!$'INfor5DB0ah,0dh,'youinputaotherletter!$'文档来自于网络搜索dataENDScodeSEGMENTASSUMECS:code,DS:datastart:MOVAX,dataMOVDS,AXMOVDX,OFFSETINfor1MOVAH,09INT21hMOVAH,01hINT21hCMPAL,'0'JBotherCMPAL,'9'JBEDIgitCMPAL,'A'JBotherCMPAL,'Z'JBEupperCMPAL,'a'JBotherCMPAL,'z