接口技术第4章(4.5)

接口技术第4章(4.5)

ID:41528902

大小:578.56 KB

页数:38页

时间:2019-08-27

接口技术第4章(4.5)_第1页
接口技术第4章(4.5)_第2页
接口技术第4章(4.5)_第3页
接口技术第4章(4.5)_第4页
接口技术第4章(4.5)_第5页
资源描述:

《接口技术第4章(4.5)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、4.5汇编语言程序设计基础4.5.1.概述编写汇编语言的步骤(1)根据实际问题抽象出数学模型(2)确定解决此数学模型的算法(3)画出程序框图(流程图)(4)分配内存工作单元和寄存器(5)根据框图编制程序(6)上机调试,进行修改(汇编、链接)顺序程序结构1.顺序结构分支程序结构示意图2.分支结构3.循环结构示意图例1:DATASEGMENTTABLEDB0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,225;定义平方表XXDB?YYDB?DATAENDSSTAC

2、KSEGMENTPARASTACK‘STACK‘DB100DUP(?);定义100个字节空间STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA例1:内存中自TABLE开始的16个单元连续存放着0到15的平方值(称为平方表)。任给一数X(0≤X≤15)在XX单元,查表求X的平方值,并把结果存入YY单元。STARTPROCFARPUSHDS:标准序MOVAX,0PUSHAXMOVAX,DATAMOVDS,AX;置数据段寄存器MOVBX,OFFSETTABLEMOVAH,0MO

3、VAL,XX;取待查数ADDBX,AX;查表MOVAL,[BX]MOVYY,AL;平方数存YY单元RETSTARTENDPCODEENDSENDSTART例2;DOSSEG.MODELSMALL.STACK256;定义堆栈段,长度为256字节.DATA;定义数据段BUFDW’58’;待输出的字符’58‘XXDB?;二进制数存放单元.CODE;定义代码段START:MOVAX,DGROUP;设置DS指向DGROUP组的段地址MOVDS,AXMOVCL,10MOVBX,BUF;BX=3538ANDBH,0F

4、H;BH=05HMOVAL,BH;十位数5ALMULCL;AX=50=0000000000110010BANDBL,0FH;BL=08H,个位数ADDAL,BL;AL=00111010BMOVXX,AL;[XX]=00111010BMOVAH,4CHINT21HENDSTART符号函数实现流程图Y=Y=1当X>00当X=0-1当X<0例1;DATASEGMENTXXDBX;存放XYYDB?;存放YDATAENDSSTACKSEGMENTPARASTACK‘STACK’DB100DUP(0)STACKEN

5、DSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AX;设置DSMOVAL,XXCMPAL,0JGEBIGER;X≥0带符号数比较指令MOVAL,-1;X<0,-1送入YY单元JMPEQULBIGER:JEEQUL;ZF=1转移MOVAL,1;X>0,1送入YY单元EQUL:MOVYY,AL;X=0,0送入YY单元MOVAH,4CHINT21HCODEENDSENDSTART例2:数据块的传送.DATASEGMENTSTRGDB1000DUP

6、(?);数据区起始STG1EQUSTRG+7;定义源串存放区STG2EQUSTRG+27;定义目标串存放区STRSEEQU50;串长DATAENDSSTACKSEGMENTPARASTACK‘STACK’DB100DUP(?)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATA例2:数据快的传送.MAINMOVAX,DATAMOVDS,AX;DS指向数据段MOVES,AX;ES指向数据段MOVCX,STRSE;串长CXMOVSI,OFFSETSTG1;源串首

7、地址SIMOVDI,OFFSETSTG2;目标串首地址DICLD;DF=0,增量方式传递PUSHSIADDSI,STRSE-1;SI=源串末地址CMPSI,DI;DI=目标串首地址POPSIJLOK;小于转OK处,源串地址与目标串地址不重叠STD;DF=1,否则,按减量方式传送ADDSI,STRSE-1;指向数据块底部ADDDI,STRSE-1OK:REPMOVSB;重复传送50个数据MOVAX,4C00HINT21HCODE:ENDSENDMAIN地址跳转表利用跳转表实现分支(1)根据表内地址分支DA

8、TASEGMENTBASEDWSBR0,SBR1,SBR2,SBR3,SBR4,SBR5,SBR6,SBR7;定义跳转表BNDB?;BN中存放某一产品编号DATAENDSSTACKSEGMENTPARASTACK‘STACK’DB100DUP(0)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATASTARTPROCFARPUSHDSMOVAX,0PUSHAXMOVAX,DATAMOVDS,AXMOVBL,BN

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

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

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