微机原理与接口技术 第6章1.ppt

微机原理与接口技术 第6章1.ppt

ID:51591864

大小:200.50 KB

页数:62页

时间:2020-03-24

微机原理与接口技术 第6章1.ppt_第1页
微机原理与接口技术 第6章1.ppt_第2页
微机原理与接口技术 第6章1.ppt_第3页
微机原理与接口技术 第6章1.ppt_第4页
微机原理与接口技术 第6章1.ppt_第5页
资源描述:

《微机原理与接口技术 第6章1.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数值计算汇编语言中,可进行数值计算的仅有加、减、乘、除、移位等最最基本的指令。运用这些基本指令哪怕是完成稍微复杂一些的数值计算都是比较困难的。要把某一问题分解成能够用加、减、乘、除完成的基本操作,然后才能着手编程。[设计思路]汇编语言没有十进制数加法指令,ADD/ADC加法指令的运算对象是二进制数,如果要进行BCD码数的加法,需要对结果进行修正。组合BCD码的加法调整指令为DAA,它针对AL寄存器中的组合BCD码数之和进行修正。因此,在运用二进制数加法指令进行组合BCD码数加法时,就必须以AL为目标寄存器,

2、紧接着用DAA指令对结果进行修正。数值计算例:多字节BCD码数相加计算两个组合的4字节BCD码数之和.486DATASEGMENTUSE16XXDD13572468HYYDD55667788HSUMDB?,?,?,?,?DATAENDSCODESEGMENTUSE16ASSUMECS:CODE,DS:DATABEG:MOVAX,DATAMOVDS,AXMOVSI,OFFSETXXMOVDI,OFFSETYYMOVBX,OFFSETSUM+4CLC;C标志清0MOVCX,4;不影响C标志[EXE格式程序清单]

3、BCD_ADD:MOVAL,[SI];不影响C标志ADCAL,[DI]DAA;调整指令MOV[BX],AL;不影响C标志INCSI;不影响C标志INCDI;不影响C标志DECBX;不影响C标志LOOPBCD_ADD;不影响C标志ADCCL,0MOV[BX],CLCALLDISPMOVAH,4CHINT21HDISPPROCMOVCX,5MOVBX,OFFSETSUMLLL:MOVDH,[BX]ROLDX,4ANDDL,0FHADDDL,30HMOVAH,2INT21HROLDX,4ANDDL,0FHADDD

4、L,30HMOVAH,2INT21HINCBXLOOPLLLRETDISPENDPCODEENDSENDBEG数据处理数据处理涉及的面比较宽,其中字符串处理和表格处理都属于数据处理范畴数据表由若干表项组成。根据表项的内容可分为无序表和有序表两种。在无序表中各个表项的数值排列是无规则的,而在有序表中,表项是按其数值大小,从小到大,或从大到小依次排列的。表格处理涉及到数据查找、插入、删除、排序、数据表转换等操作,其中查表是最基本的操作。查表的方法有顺序查表、计算查表、对半搜索等Eg:数据查找设内存缓冲区从BUF

5、单元开始,有若干单字节有符号数,要求找出最大数送MAX单元,最小数送MIN单元。数据处理[编程思路]:数据查找的关键是进行数据比较,对于有符号数查找,其最大数和最小数都是针对真值数而言的。因此应使用有符号数的比较转移指令。.486DATASEGMENTUSE16BUFDB34,56,-1,7FH,-88,200,22,80HCOUNTEQU$-BUFMAXDB?MINDB?DATAENDSCODESEGMENTUSE16ASSUMECS:CODE,DS:DATABEG:MOVAX,DATAMOVDS,AX[

6、EXE格式程序清单]MOVCX,COUNT;CX=数据个数MOVAL,BUFMOVMAX,AL;假设第一个数是最大数MOVMIN,AL;假设第一个数是最小数DECCX;CX=比较次数MOVBX,OFFSETBUF+1LAST:MOVAL,[BX]CMPAL,MAX;比较JGGREATCMPAL,MINJLLESSJMPNEXTGREAT:MOVMAX,AL;大数→MAXJMPNEXTLESS:MOVMIN,AL;小数→MINNEXT:INCBXLOOPLASTMOVAH,4CHINT21HCODEENDSE

7、NDBEGEg:字符串搜索假设从STRING单元开始有一源串字符,程序执行后采用人机会话方式,从键盘输入一个任意长度的子串,请查找源串中是否蕴含着键入的子串,并给出结果信息。数据处理[设计思路]:1.子串的长度小于或者等于源串长度时才进行搜索;2.搜索的次数应当是源串长度减去子串长度再加1;3.用串指令实现主要的比较功能;4.REPECMPSB;然后判断Z标志。CMPSB指令执行前应做的准备工作:欲进行增址型比较:用CLD指令使方向标志D=0。源串首地址→DS:SI,目标串首地址→ES:DI。欲进行减址型比

8、较:用STD指令使方向标志D=1。源串末地址→DS:SI,目标串末地址→ES:DI。示范:welcometoouruniversityour第一次搜索our第二次搜索。。。。our搜索到,停止搜索welcometoouruniversityfox第一次搜索fox第二次搜索。。。。fox;未搜索到最多搜索次数=源串长度-子串长度+1用DOS系统0AH号功能调用,接受键入的子串,并限制子串输入的有效长度(不包括回车)

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

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

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