欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第5章 汇编程序设计精选PPT.ppt

    • 资源ID:88341082       资源大小:899.50KB        全文页数:14页
    • 资源格式: PPT        下载积分:18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第5章 汇编程序设计精选PPT.ppt

    第5章 汇编程序设计第1页,本讲稿共14页主要内容主要内容1 加法、减法和乘法运算加法、减法和乘法运算2 数据块传送数据块传送3 双操作数乘法双操作数乘法4 长字运算长字运算5 64位加法和减法运算位加法和减法运算第2页,本讲稿共14页例例 编写求解加、减法的程序,计算编写求解加、减法的程序,计算z=x+y-wz=x+y-w。SUM1SUM1:LD x,A LD x,A ;将;将x x地址的内容送地址的内容送A A ADD y,AADD y,A ;将;将y y地址的内容与地址的内容与A A中中x x值相加值相加 SUB w,ASUB w,A ;将;将A A中的内容与中的内容与w w 相减,得相减,得z z STL A,z STL A,z ;将;将A A的的计算值存入的的计算值存入z z 地址中地址中例例 写求解直线方程的程序,计算写求解直线方程的程序,计算y=mx+by=mx+b。SUM2SUM2:LD m,T LD m,T ;将;将m m 地址的内容送地址的内容送T T MPY x,AMPY x,A ;将;将x x 地址的内容与地址的内容与T T中的中的m m相乘,相乘,;结果送;结果送A A ADD b,AADD b,A ;将;将A A中的中的mxmx与与b b 地址的内容相加,地址的内容相加,;结果送;结果送A A STL A,y STL A,y ;将;将A A的的计算结果存入的的计算结果存入y y 地址中地址中1 加法、减法和乘法运算加法、减法和乘法运算第3页,本讲稿共14页传送速度比加载和存储指令要快;传送速度比加载和存储指令要快;传送数据不需要通过累加器;传送数据不需要通过累加器;可以寻址程序存储器;可以寻址程序存储器;与与RPTRPT指指令令相相结结合合(重重复复时时,这这些些指指令令都都变变成成单单周周期期指指令令),可可以以实实现现数数据据块块传传送。送。特特点点2 数据块传送数据块传送第4页,本讲稿共14页例例 将数组将数组x5 x5 初始化为初始化为1,2,3,4,51,2,3,4,5。.data .data ;定义初始化数据段起始地址;定义初始化数据段起始地址TBL:.word 1,2,3,4,5 TBL:.word 1,2,3,4,5 ;为标号地址;为标号地址TBLTBL ;开始的;开始的5 5个单元赋初值个单元赋初值 .sect .sect “.vectors.vectors”;定义自定义段,并获;定义自定义段,并获 ;得该段起始地址;得该段起始地址 B STARTB START;无条件转移到标号为;无条件转移到标号为STARTSTART的地址的地址 .bss x,5 .bss x,5 ;为数组;为数组x x分配分配5 5个存储单元个存储单元 .text .text ;定义代码段起始地址;定义代码段起始地址START:STM#x,AR5 START:STM#x,AR5 ;将;将x x的首地址存入的首地址存入AR5AR5 RPT#4 RPT#4 ;设置重复执行;设置重复执行5 5次下条指令次下条指令 MVPD TBL,*AR5+MVPD TBL,*AR5+;将;将TBLTBL开始的开始的5 5个值传给个值传给x x.end.end2 数据块传送:程序存储器数据块传送:程序存储器-数据存储器数据存储器第5页,本讲稿共14页例例 将数据存储器中的数组将数据存储器中的数组x10 x10复制到数组复制到数组y10y10。.title .title “send.asmsend.asm”;为汇编源程序取名;为汇编源程序取名 .mmregs .mmregs ;定义存储器映象寄存器;定义存储器映象寄存器STACK.usect STACK.usect “STACKSTACK”,30H,30H;设置堆栈;设置堆栈 .bss x,10 .bss x,10 ;为数组;为数组x x分配分配1010个存储单元个存储单元 .bss y,10 .bss y,10 ;为数组;为数组y y分配分配1010个存储单元个存储单元 .data.datatable:.word 1,2,3,4,5,6,7,8,9,10table:.word 1,2,3,4,5,6,7,8,9,10 .def start .def start ;定义标号;定义标号startstart .text .text2 数据块传送:数据存储器数据块传送:数据存储器-数据存储器数据存储器第6页,本讲稿共14页start:STM#0,SWWSR start:STM#0,SWWSR ;复位;复位SWWSRSWWSR STM#STACK+30H,SP STM#STACK+30H,SP;初始化堆指针;初始化堆指针 STM#x,AR1 STM#x,AR1;将目的地首地址赋给;将目的地首地址赋给AR1AR1 RPT#9 RPT#9 ;设定重复传送的次数为;设定重复传送的次数为1010次次 MVPD table,*AR1+MVPD table,*AR1+;程序存储器传送到数;程序存储器传送到数 ;据存储器;据存储器 STM#x,AR2 STM#x,AR2;将;将x x的首地址存入的首地址存入AR2AR2 STM#y,AR3 STM#y,AR3;将;将y y的首地址存入的首地址存入AR3AR3 RPT#9 RPT#9 ;设置重复执行;设置重复执行1010次下条指令次下条指令 MVDD *AR2+,*AR3+MVDD *AR2+,*AR3+;将地址;将地址x x开始的开始的1010个值个值 ;复制到地址;复制到地址y y开始的开始的1010个单元个单元end:B endend:B end .end .end2 数据块传送:数据存储器数据块传送:数据存储器-数据存储器数据存储器第7页,本讲稿共14页用用间间接接寻寻址址方方式式获获得得操操作作数数,且且辅辅助寄存器只用助寄存器只用AR2AR2AR5AR5;占用程序空占用程序空间间小;小;运行速度快。运行速度快。特特点点例例 编制求解编制求解 的程序。的程序。利利用用双双操操作作数数指指令令可可以以节节省省机机器器周周期期。迭迭代代次次数数越越多多,节节省省的的机机器器周周期期数数也也越越多多。本本例例中中,在在每每次次循循环环中中,双双操操作作数数指指令令都都比比单单操操作作数数指指令令少少用用一一个个周周期期,节省的总机器周期数节省的总机器周期数=1T*N=1T*N(迭代次数)(迭代次数)=NT=NT。3 双操作数乘法双操作数乘法第8页,本讲稿共14页 单操作数指令方案单操作数指令方案 双操作数指令方案双操作数指令方案 LD#0,B LD#0,B LD#0,B LD#0,B STM#a,AR2 STM#a,AR2 STM#a,AR2 STM#a,AR2 STM#x,AR3 STM#x,AR3 STM#x,AR3 STM#x,AR3 STM#19,BRC STM#19,BRC STM#19,BRCSTM#19,BRC RPTB done-1 RPTB done-1 RPTB done-1 RPTB done-1 LDLD *AR2+,TAR2+,T;1T 1T MPY *AR2+,*AR3+,AMPY *AR2+,*AR3+,A;1T1T MPYMPY*AR3+,AAR3+,A;1T1T ADD A,B ADD A,B;1T1T ADD A,B ADD A,B ;1T1Tdone:STH B,y done:STH B,y done:STH B,y done:STH B,y STL B,y+1 STL B,y+1 STL B,y+1STL B,y+1第9页,本讲稿共14页在在单单个个周周期期内内同同时时利利用用C C总总线线和和D D总总线线,得到,得到3232位操作数。位操作数。特特点点使使用用长长操操作作数数指指令令时时,按按指指令令中中给给出出的的地地址址存存取取的的总总是是高高1616位操作数。这样,有两种数据排列方法:位操作数。这样,有两种数据排列方法:(1 1)偶偶地地址址排排列列法法 指指令令中中给给出出的的地地址址为为偶偶地地址址,存存储储器中低地址存放高器中低地址存放高1616位操作数。位操作数。如:如:DLD *AR3+,ADLD *AR3+,A执行前:执行前:A=00 0000 0000 A=00 0000 0000 执行后:执行后:A=00 6CAC BD90A=00 6CAC BD90 AR3=0100 AR3=0102 AR3=0100 AR3=0102 (0100h0100h)=6CAC=6CAC(高字)(高字)(0100h0100h)=6CAC=6CAC (0101h0101h)=BD90=BD90(低字)(低字)(0101h0101h)=BD90=BD904 长字运算长字运算第10页,本讲稿共14页(2 2)奇奇地地址址排排列列法法 指指令令中中给给出出的的地地址址为为奇奇地地址址,存存储储器器中中低低地地址址存存放放低低1616位操作数。位操作数。如:如:DLD *AR3+,ADLD *AR3+,A执行前:执行前:A=00 0000 0000 A=00 0000 0000 执行后:执行后:A=00 BD90 6CACA=00 BD90 6CAC AR3=0101 AR3=0103 AR3=0101 AR3=0103 (0100h0100h)=6CAC=6CAC(低字)(低字)(0100h0100h)=6CAC=6CAC (0101h0101h)=BD90=BD90(高字)(高字)(0101h0101h)=BD90=BD90推推 荐荐 采采 用用 偶偶 地地 址址 排排 列列 法法,将将 高高1616位位 操操 作作 数数 放放 在在 偶偶 地地 址址 存存 储储 单单 元元 中中。如如:程序存储器程序存储器 .long 12345678 h .long 12345678 h ;偶地址:;偶地址:12341234 ;奇地址:;奇地址:56785678 数据存储器数据存储器 .bss xhi,2,1,1 .bss xhi,2,1,1 ;偶地址:;偶地址:xhi xhi ;奇地址:;奇地址:xloxlo 变量名称变量名称 字长字长 页邻接页邻接 偶地址排列法偶地址排列法 第11页,本讲稿共14页例例 计算计算Z Z3232=X=X3232+Y+Y3232。标准运算标准运算 长字运算长字运算 LD xhi,16,A DLD xhi,ALD xhi,16,A DLD xhi,A ADDS xlo,AADDS xlo,A DADD yhi,ADADD yhi,A ADD yhi,16,AADD yhi,16,A DST A,zhi DST A,zhi ADDS ylo,AADDS ylo,A (3 3个字,个字,3 3个个T T)STH A,Zhi STH A,Zhi STL A,Zlo STL A,Zlo(6 6个字,个字,6 6个个T T)第12页,本讲稿共14页例例 编写计算编写计算Z Z6464=W=W6464+X+X6464-Y-Y6464的程序段。的程序段。这这里里的的W W、X X、Y Y和和结结果果Z Z都都是是6464位位数数,它它们们都都由由两两个个3232位位的的长长字字组组成成。利用长字指令可以完成利用长字指令可以完成6464位数的加位数的加/减法。减法。w w3 3 w w2 2 w w1 1 w w0 0 (W W6464)+x+x3 3 x x2 2 C x C x1 1 x x0 0 (X X6464)低低3232位相加产生进位位相加产生进位C C-y-y3 3 y y2 2 C C y y1 1 y y0 0 (Y Y6464)低低3232位相减产生借位位相减产生借位C C_ z z3 3 z z2 2 z z1 1 z z0 0 (Z Z6464)5 64位加法和减法运算位加法和减法运算第13页,本讲稿共14页DLD w1,A DLD w1,A ;A=wA=w1 1w w0 0DADD x1,A DADD x1,A ;A=wA=w1 1w w0 0+x+x1 1x x0 0,产生进位产生进位C CDLD w3,B DLD w3,B ;B=wB=w3 3w w2 2ADDC x2,B ADDC x2,B ;B=wB=w3 3w w2 2+x+x2 2+C+CADD x3,16,B ADD x3,16,B ;B=wB=w3 3w w2 2+x+x3 3x x2 2+C+CDSUB y1,A DSUB y1,A ;A=wA=w1 1w w0 0+x+x1 1x x0 0-y-y1 1y y0 0,产生借位产生借位C CDST A,z1 DST A,z1 ;z z1 1z z0 0=w=w1 1w w0 0+x+x1 1x x0 0-y-y1 1y y0 0SUBB y2,B SUBB y2,B ;B=wB=w3 3w w2 2+x+x3 3x x2 2+C-y+C-y2 2-C-CSUB y3,16,B SUB y3,16,B ;B=wB=w3 3w w2 2+x+x3 3x x2 2+C-y+C-y3 3y y2 2-C-CDST B,z3 DST B,z3 ;z z3 3z z2 2=w=w3 3w w2 2+x+x3 3x x2 2+C-y+C-y3 3y y2 2-C-C由于没有长字带进(借)位加由于没有长字带进(借)位加/减法指令,所以上述程序中只能用减法指令,所以上述程序中只能用1616位带进(借)位指令位带进(借)位指令ADDCADDC和和SUBBSUBB。第14页,本讲稿共14页

    注意事项

    本文(第5章 汇编程序设计精选PPT.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开