南邮本校微机接口课件-第6章汇编语言中,可进行数值计算仅有加、减乘除_第1页
南邮本校微机接口课件-第6章汇编语言中,可进行数值计算仅有加、减乘除_第2页
南邮本校微机接口课件-第6章汇编语言中,可进行数值计算仅有加、减乘除_第3页
南邮本校微机接口课件-第6章汇编语言中,可进行数值计算仅有加、减乘除_第4页
南邮本校微机接口课件-第6章汇编语言中,可进行数值计算仅有加、减乘除_第5页
免费预览已结束,剩余58页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

汇编语言中,移位等最最基本的指令。运用这些基本指令哪怕是完成稍微复杂一些的数值计算都是比较 的。要把某一问题分解成能够用加、减、乘、除完成基本操作,然后数值数值计例:多字节BCD计算两个组合的4字节BCD码数之[设计思路汇编语言没有十进制数加法指令,ADD/ADC加法指令的运算对象是二进制数,如果要进行BCD码数的加法,需要对结果进行修正。组合BCD码的加法调整指令为DAA,它针对AL寄存器中的组合BCD码数之和进行修正。因此,在运用二进制数加法指令进行组合BCD码数加法时,就必须以L为目标寄存器,紧接着用DAA指令对结果进行修正。EXE格式源: SEGMENT SEGMENT SI,OFFSETXX DI,OFFSETYY BX,OFFSETSUM+4 ;C标志清 ;不影响C标 ;不影响C标;调整指;不影响C标;不影响C标;不影响C标;不影响C标;不影响C标BX,OFFSET数据处理涉及的面比较宽,其中字符串处理和表格处理都属于数据处理范畴,而在有序表中,,从小到大,依次排列的。表格处理涉及到数据查找、、删除、排序、数据表换等操作,其中查表是最基本的操作查表的方法有数据数据处Eg:设内存缓冲区从BUF单元开始,有若干单字节有符号求找出最大数送MAX单元,最小数送MIN单元[编程思数据查找的关键是进行数据比较,对于有符号数查找,其最大数EXE格式源: SEGMENT DB34,56,-1,7FH,- EQU$- DB DB SEGMENT ;CX=数据个;假设第一个数是最大;假设第一个数是最小;CX=比较次 ;比;大数;小数数据处Eg:字符串搜假设从STRING单元开始有一源串字符,程序执行后采用机会话方式,从键盘输入一个任意长度的子串,请查找源串中否蕴含着键入的[设计思搜索的次数应当是源串长度减去子串长度再加用串指令实现主要的比较功能REPECMPSB;然后判断ZCMPSB欲进行增址型比欲进行减址型用STD指令使方向标志D=1址→DS:SI,目标串末地址→ES:DI示范etoour 第一次搜 第二次搜。。。 搜索到,止搜etoour用DOS系统0AH号功能调用用DOS系统0AH号功能调用,接受键入的子串并限制子串输入的有效长度(不包括回车)不超(定义缓冲区时限制 第二次搜EXE格式源: DX,OFFSET 'BASICFORTRAN_77C++FOXPRO$- ;源串长 ;限制子串长度最长为?LENS+1DUP(?);预留子串的空??'PleaseEnter...$0AH,'------Found!0AH,'------NoFound!DX,OFFSET ;接收一个子 ;子串长度为0 BYTEPTR ;计算搜索次 ;搜索次→COUNT单 BX,OFFSET DI,OFFSET ;字符串搜 串搜索指令scas欲进行增址型比CLD指令使方向标志D=0②要搜索的关键字放入AL、AX或EAX中标串首址→ES:DI。CLD指令使方向标志D=1②要搜索的关键字放入AL、AX或EAX中标串末址→ES:DI数据处应用:根据源数据处 ASCII码的转换,并将转用查表指令需做准备工查表指令要求,查表时的相对位移量需存入AL ~9、A ~F,EXE格式源: SEGMENT DBDBDB DB0,1,2,3,4,5,6,7,8,9DB SEGMENTASSUME DL,‘模块化程序模块化程序设能够独立汇编的一个逻辑段(例如仅有一个数据段),或者是能够独立汇编的若干个逻辑段的集合,就称为一个模块。每个模块都可以有自己的数据段、附加段、代码段。“模块化程序设计方法 模块化程序设模模块化程序设主模 模只允许有一个主模块,其它都是子模子模块用“END”主模块用“END启动指令标号”做为源程的结束语模块化程序设模块化程序设模块调用模块等一系列跨模块的操模块化程序设PUBLIC伪指(公用符号模块化程序设 功能 用于被调用模模块化程序设EXTRN伪指令(外部符号模块化程序设格式:EXTRN 例如:EXTRN 功能:语句右侧的符号名是本模 的,而在其模块中定义过的变量名、标号名、过程名用于调用模块化模块化程序设(TL)程序的任务之一就是要检查每个模块中ETRN说明的符号是否与其相连的其他模块中的PUBLIC说明的符号相匹配,若不匹配,则给出出错信息。模块化模块化程序设格式 盘符:\路径\文件名.扩展功能通知汇编程序把指定的文件“拷贝”一份,插入到该语句的下方供汇编时使用。当然,盘的盘符、路径可以省略。模块化程序设模块化程模块化程序设在实模式下 之后的同类型逻辑 64K模块之间的转移和调模块之间出现符号 的时候必须用、EXTRN语句说明模块化程序设*模块之间,同类型逻辑段的组合与不同模块中的代码段,可以组合成一个统一的代码,也可以不组合,仍旧是各自独立的代码段(2)不同模块中的数据段(附加段),可以组合成一个统①各模块的代码段选用相同的段②在代码段段定义语句中都选用“PUBLIC” 仍旧是各自独立模块化程序设*模块之间模块化程序设如 后的代码段仍然是各自独立的则模块之间转移属于段间转移,模块之间的子程序调用属于远过程调用(被调用的子程序应明确写出有FAR属性)模块化程序设模块化模块化程序设RETURN设计一个简易的用户键入“1”,转二级菜单,屏幕显示“ETOBEIJING!”,底部显示“Pleasestrikeanykey”,用户敲击用户键入“2”, 二级菜单,屏 显示类似的欢迎词提示信息……。键入“3”,程序结束返回DOS模块化程序设解法1设计思路模块化程序设合理划分模程序划分为3主模块6131.ASM显示主菜单,并完成菜单项的选择和转移子模块6131_1.ASM示欢迎到 来”及提示信息,子模块6131_2.ASM显示“欢迎到 来”及提示信息。3个模块都有自己的代码段和数据段,段名均不相同模块之间相同性质的逻辑段如何组合模块之间的数据段、代码段不组合,均为各自独立的逻辑段。之后,各模块的数据段,代码段仍然相互独立。模块化程序设模块化程序设EXTRN语句中对于转移标号,均说明为“FAR”DS值的考 模块化程序设模块化程序设PUBLIC ;预制光标 DX,OFFSET N28DUP(' 3.RETURN''CODE';段内有条件;此模块为主PUBLIC DX,OFFSET 'EBEIJING$'Pleasestrikeanykey$'CODE' ;子模块结束语PUBLICBEG2 DX,OFFSET 'ENANJING$'Pleasestrikeanykey$'CODE';子模块结模块化程序设模块模块化程序设别对各个模块进行编辑和汇编生成各自的。②然后 程序进 :例如 模块化程序设[解法2设模块化程序设合理划分程序划分为3个模块主模块6132.AS显示主菜单,移 子模块6132_2.ASM显示“欢迎 来”及提示信息每一模块中应设置哪些子模块不设置数据段,分别设置各自的代码段3个模块的代码段都选用了相同的段名,都选用做 参数模块化程序设模块之间相同性质的逻辑模块化程序设指定的连接顺序进 ,组成一个逻辑段模块之间的转移和调用方统一的代码段,所以模块之间的转移是段内转EXTRN语句中,对转移标号用NER,,在这种情况下EXTR语句对于这些标号名、过程名,应当写成“FAR”。DS值的考模块化程序设[模块化程序设

PUBLICBEG,MESG1,MESG2,ENDMESG DX,OFFSET SEGMENTN28DUP(' ',0DH,0AH 3.RETURN CHOICE(1,2,3):$ ETOBEIJING!$ ETONANJING!$'pleasestrikeanykey' SEGMENTBYTEPUBLICPUBLIC DX,OFFSET CODESEGMENTBYTEPUBLICPUBLICBEG2,NEXT DX,OFFSET SEGMENTBYTEPUBLIC'CODE'模块化程序设模块化程序设成光标定位与字符串显示,宏指令的名称、结构和参数都相同[解法3设计思定义一次宏指令DISP把要共享的宏指令单独组织一个文件(注意:只编辑不汇编),存放在指定的 下然后在调用模块中用INCLUDE伪指令说明可。本例将DISP宏指令单独组织一个文件,文件名为”DISPLAY.MAC”该文件和主模块文件以及两个子模块文件都放在同一个 下,因此INCLUDE伪指令可以不必

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论