算数运算与代码转换.ppt

上传人:zhu****ei 文档编号:3501594 上传时间:2019-12-16 格式:PPT 页数:22 大小:954.50KB
返回 下载 相关 举报
算数运算与代码转换.ppt_第1页
第1页 / 共22页
算数运算与代码转换.ppt_第2页
第2页 / 共22页
算数运算与代码转换.ppt_第3页
第3页 / 共22页
点击查看更多>>
资源描述
建设优良学风从我做起,知识回顾:,宏定义伪指令MACROENDM宏定义、宏调用、宏扩展(宏参数)(宏与子程序的区别),理论:2学时实验:2学时,第十章算数运算与代码转换,第十章算数运算与代码转换,10.3BCD码运算,10.7十进制数的ASCII码串转换为二进制数,10.8二进制数转换为十进制数的ASCII码串,10.3BCD码运算,第十章算数运算与代码转换,本节主要讲解BCD马运算调整指令。8086/8088CPU运算器时二进制运算器,不能进行BCD马运算,但它提供了BCD马运算调整指令,即当机内采用BCD码表示数据时,利用二进制运算器进行运算,之后再进行BCD码调整,调整后的结果仍为BCD码数据。如:19+15=3400011001+0001010100101110+0000011000110100,在BCD码表示中,不允许存在,必须进行调整,加6调整,正确结果,10.3BCD码运算,非组合BCD码运算调整指令,1、ASCII码加法调整指令AAA格式:AAA操作:如果AL中的低4位9或AF=1,则ALAL+6,AHAH+1,AF1,CF1,AL高4位0否则,不进行操作。,2、ASCII码减法调整指令AAS格式:AAS操作:如果AL中的低4位9或AF=1,则ALAL-6,AHAH-1,AF1,CF1,AL高4位0否则,不进行操作。,第十章算数运算与代码转换,10.3BCD码运算,3、ASCII码乘法调整指令AAM格式:AAM操作:将AL中的内容除以10,商送入AH中,余数送入AL中。,4、ASCII码除法调整指令AAD格式:AAD操作:ALAH*10+AL,AH0。(进行除法之前调整),1、组合BCD码加法调整指令DAA格式:DAA操作:如果AL中的低4位9或AF=1,则ALAL+6,AF1,如果AL中的高4位9或CF=1,则ALAL+60H,CF1否则,不进行操作。,第十章算数运算与代码转换,10.3BCD码运算,组合BCD码运算调整指令,2、组合BCD码加法调整指令DAS格式:DAS操作:如果AL中的低4位9或AF=1,则ALAL-6,AF1,如果AL中的高4位9或CF=1,则ALAL-60H,CF1否则,不进行操作。,第十章算数运算与代码转换,10.3BCD码运算,10.7十进制数的ASCII码串转换为二进制数,10.8二进制数转换为十进制数的ASCII码串,10.7十进制数的ASCII码串转换为二进制数,第十章算数运算与代码转换,10.7十进制数的ASCII码串转换为二进制数,数据在计算机内大多采用二进制表示,而从键盘上输入数据时,在计算机内得到的是数字的ASCII码串,这就需要将十进制数的ASCII码串转换为二进制数。同样的道理,当运算结束后,要将结果显示出来或打印出来,显示器和打印机只能接受ASCII马,这就必须将二进制表示的结果,再转换为十进制数的ASCII码,输出给显示器或打印机。【例10.8】设内存DASC开始的单元存放若干个十进制数的ASCII码串,串间用逗号分隔,最后以回车符结束。编制程序,将个数据转换为二进制数存入BIN开始的单元。算法:N=N*10+Ni,35H38H36H2CH38H2CH37H34H0DH,4AH02H08H00H4AH00H,DASC,BIN,DATBINPROCPUSHBXXORCX,CX;初始化NGETA:MOVAL,SI;取一字符CMPAL,0;判是否为数字的ASCII码。JBRETURNCMPAL,9JARETURNSUBAL,0XORAH,AHMOVBX,CX;将N*10SHLCX,1SHLCX,1ADDCX,BXSHLCX,1ADDCX,AX;计算NINCSI;修改指针JMPGETA;转取下一字符RETURN:POPBXRETDATBINENDP,第十章算数运算与代码转换,10.7十进制数的ASCII码串转换为二进制数,子程序名:DATBIN子程序功能:十进制数的ASCII码转换为二进制数。入口条件:ASCII码串首址在SI中ASCII串以非十进制数结束出口条件:CX为转换结果,AL为终止符,SI指向终止符受影响的寄存器:AX,CX,SI,F,主程序:DSEGSEGMENTDASCDB586,18,375,1847,DB2943,5,7485,0DHBINDW10DUO(0)DSEGENDSSSEGSEGMENTSTACKSTKDB20DUP(0)SSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGASSUMESS:SSEGDATOB:MOVAX,DSEGMOVDS,AXMOVAX,SSEGMOVSS,AXMOVSP,SIZESTKLEADASC,SI,第十章算数运算与代码转换,10.7十进制数的ASCII码串转换为二进制数,LEADI,BINAGAIN:CALLDATBINMOVDI,CXINCSIADDDI,2CMPAL,0DHJNZAGAINMOVAX,4C00HINT21HDATBINPROC:DATBINENDPCSEGENDSENDDASC,实验16,编制程序将内存STRING开始的若干个带符号十进制数的ASCII码串转换为补码表示的二进制数并存放在BIN开始的单元。数据之间用逗号分隔,最后以回车结束。(可调用例10.8的子程序DATBIN)如:STRINGDB“100,3842,-27,+365,-2500”,0DH,课间休息,建设优良学风从我做起,知识回顾:,BCD码运算指令非组合BCD码运算指令:AAA、AAS、AAM、AAD组合BCD码运算指令:DAA、DAS代码转换十进制数得ASCII码串转换为二进制数,第十章算数运算与代码转换,10.3BCD码运算,10.7十进制数的ASCII码串转换为二进制数,10.8二进制数转换为十进制数的ASCII码串,第十章算数运算与代码转换,10.8二进制数转换为十进制数的ASCII码串,10.8二进制数转换为十进制数的ASCCII码,这个过程是上述转换的逆过程。【例10.9】设BIN开始的存储区,连续存放10个无符号二进制字数据,编制程序将其转换为十进制数的ASCII码串,存入DASC开始的单元,数据间用逗号分割,最后以回车结束。,算法:将数据依次除以10,第一次除以10,所得余数为数据的个位值,第二次除以10,所得余数为数据的十位值,,这个过程,一直进行到除10后所得商为0时止。(这个算法与书中算法不同),按上述算法,编写将一个二进制数转换为十进制数的ASCII码串的子程序。,BTODAPROCPUSHAXPUSHBXPUSHDXMOVBYTEPTRDI,MOVBX,10BTODA1:INCDIXORDX,DXDIVBXADDDL,30HMOVDI,DLANDAX,AXJNZBTODA1POPDXPOPBXPOPAXRETDTODAENDP,第十章算数运算与代码转换,10.7十进制数的ASCII码串转换为二进制数,子程序名:BTODA子程序功能:将无符号字数据转换为十进制数的ASCII码。入口条件:数据在AX中,存放数据地址在DI中出口条件:最高位数的ASCII码存放在DI指出单元,次位ASCII码在DI-1单元,.,最后以逗号结束。受影响的寄存器:DI,F,主程序:DSEGSEGMENTBINDW123,367,9650,5,78,32768DW45613,8470,327,65535ASCDB10DUP(6DUP(0)BUFFDB10DUP(0)DSEGENDSSSEGSEGMENTSTKDB20DUP(0)SSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGASSUMESS;SSEG,ES:DESGBINDA:MOVAX,DSEGMOVDS,AXMOVAX,SSEGMOVSS,AXLEASI,BINLEABX,ASCMOVCX,10,第十章算数运算与代码转换,10.7十进制数的ASCII码串转换为二进制数,BINDA0:LEADI,BUFFMOVAX,SICALLBTODABINDA1:MOVAL,DIMOVBX,ALINCBXDECDICMPAL,JNZBINDA1ADDSI,2LOOPBINDA0MOVAX,4C00HINT21HBTODAPROC:BTODAENDPCSEGENDSENDBINDA,编制程序将内存BIN开始的若干个带符号补码表示的二进制字数据转换为十进制数的ASCII码串并存放在STRING开始的单元,数据之间用逗号分隔,最后以回车结束。(可调用例10.9的子程序BTODA)如:BINDW-100,5289,15,12345,-8006,6789.,实验17,本章教学要求,了解BCD码运算规则;了解BCD码运算调整指令;掌握十进制数的ASCII码与二进制数的相互转换;,本章作业,10.14,课间休息,建设优良学风从我做起,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!