安徽理工大学计算机汇编教程-数据运算程序设计.ppt

安徽理工大学计算机汇编教程-数据运算程序设计.ppt

ID:56470325

大小:130.00 KB

页数:37页

时间:2020-06-19

安徽理工大学计算机汇编教程-数据运算程序设计.ppt_第1页
安徽理工大学计算机汇编教程-数据运算程序设计.ppt_第2页
安徽理工大学计算机汇编教程-数据运算程序设计.ppt_第3页
安徽理工大学计算机汇编教程-数据运算程序设计.ppt_第4页
安徽理工大学计算机汇编教程-数据运算程序设计.ppt_第5页
资源描述:

《安徽理工大学计算机汇编教程-数据运算程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、8086/8088和ARM核汇编语言程序设计第10章数据运算程序设计7/28/20211第10章数据运算程序设计10.1多精度的加减运算10.2乘除运算第10章数据运算程序设计7/28/20212第10章数据运算程序设计本节主要介绍多字节无符号二进制数的加减法运算程序设计,特别要注意运算中加法进位和减法借位问题。10.1.1二进制加减运算10.1多精度的加减运算7/28/20213第10章数据运算程序设计加法运算10.1多精度的加减运算10.1.1二进制加减运算例10.1编制完成两个无符号的四字节二进制数的加法运算。如8090H+8182H809

2、0H分解为字节加80H90H+8182H+81H82H10212H+1H(进1)12H(进1)02H把以上的字节看成为字,四字节可分为两个字的加法。由此可推出两个M个字节数的加等于作M次字节加或M/2次字加7/28/20214第10章数据运算程序设计10.1多精度的加减运算10.1.1二进制加减运算分解为寄存器加alal+[bx][bx]+cy(进cf)al(进cf)al7/28/20215第10章数据运算程序设计汇编程序10.1多精度的加减运算10.1.1二进制加减运算nameexp10-1.asmdatasegmentaddr1db6ch,8

3、ah,3bh,49haddr2db3eh,5bh,6fh,7dhresultdb0,0,0,0lenequ4dataends7/28/20216第10章数据运算程序设计codesegmentassumecs:code,ds:datastart:movax,datamovds,axmovsi,offsetaddr1;si←取被加数addr1地址偏移量movbx,offsetaddr2;bx←取加数addr2地址偏移量movdi,offsetresult;di←取和result地址偏移量movcl,len;cl←字节数clc;清进位标志skip:mo

4、val,[si]adcal,[bx];完成字节加法mov[di],al;保存求和结果incsi;修改地址incbxincdideccl;字节计数jnzskipmovax,4c00h;返回DOSint21hcodeendsendstart10.1多精度的加减运算10.1.1二进制加减运算7/28/20217第10章数据运算程序设计10.1多精度的加减运算10.1.1二进制加减运算减法运算分解为寄存器减alal-[bx][bx]-cf(借cf)al(借cf)al7/28/20218第10章数据运算程序设计nameexp10-2.asmdatasegm

5、entaddr1dw8a6ch,493bh;定义4字节被减数addr2dw5b3eh,7d6fh;定义4字节减数resultdw2dup(?);定义存放差的单元lendw0002h;定义循环计数值为2个字dataends10.1多精度的加减运算10.1.1二进制加减运算7/28/20219第10章数据运算程序设计10.1多精度的加减运算10.1.1二进制加减运算codesegmentassumecs:code,ds:datastart:movax,datamovds,axmovsi,offsetaddr1;si←取被减数addr1地址偏移量mov

6、bx,offsetaddr2;bx←取减数addr2地址偏移量movdi,offsetresult;di←取差result地址偏移量movcx,len;cx←字数clc;清进位标志skip:movax,[si]sbbax,[bx];完成字减法mov[di],ax;保存求差的结果7/28/202110第10章数据运算程序设计incsi;修改被减数地址incsiincbx;修改减数地址incbxincdi;修改结果差地址incdiloopskipmovax,4c00h;返回DOSint21hcodeendsendstart10.1多精度的加减运算10

7、.1.1二进制加减运算addsi,27/28/202111第10章数据运算程序设计压缩型BCD码运算即是每一个字节表示两位BCD码十进制数。10.1多精度的加减运算10.1.2压缩型BCD码加减运算如:1234十进制数表示压缩型BCD码为:12H34H即0001001000110100B加法可利用指令add、adc与daa调整指令来配合减法可利用指令sub、sbb与das调整指令来编程7/28/202112第10章数据运算程序设计例10.3编写一四字节压缩型BCD码的减法运算。要求完成:result←96578342―6835149010.1多精

8、度的加减运算10.1.2压缩型BCD码加减运算nameexp10-3.asmdatasegmentbcd1db42h,83h,57h,9

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。