- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言中的字符串代码转换.ppt
JL LOP2;无进位转移 MOV AL,AH PUSH AX ;最高进位位入栈 INC CX :出栈计数加1 LOP2: POP DX ;先进后出 ADD DL,30H;转换为ASCII码 MOV AH,02H ;显示 INT 2lH LOOP LOP2 MOV AH.4CH INT 21H CODE ENDS END START 例5-12编写一个程序,求出首地址为DAT的100个16位有符号数的数组中的最小偶 数,并将它存放到DBT的字单元中。若无偶数,则该单元存0。 解:算法的思路是先将AX清0,然后开始在数组中寻找偶数。如果数组中没有偶数, 就将Ax的值存入DBT的字单元。如果有的话,将第一个找到的偶数存入Ax当作当前的最 小偶数,然后与数组中后面的偶数比较,用小的偶数更换Ax,直到与最后一个数比较完毕, Ax中的数就是最小偶数。整个过程有两种操作:一是寻找偶数,二是比较偶数的大小。只 有当Ax已经存入偶数后才需要比较。为此,设置Bx寄存器的值作标志。如果Bx=O,把 找到的偶数存入Ax,同时对Bx置1;如果Bx=1,则将再次寻找到的偶数与Ax中的当前最小偶数比较。 DATA SEGMENT DAT DW Al,A2,……,A100 DBT DW 0 N EQU(DBT-DAT)/2 DATA ENDS CODE SEGM【ENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX LEA SI,DAT ;取数组首地址 XOR AX,AX ;用AX 存放当前最小偶数 XOR BX,BX;用BX作第一次找到偶数标志位 MOV CX,N ;循环控制初值 LOP O:TEST WORD PTR[SI],l;[SI]是偶数? JNZ LOP2 ;不是,转移 CMP BX,0 ;是第一次找到的偶数? JNZ LOPl;不是 INC BX;标志置l MOV AX,[SI];取第一个偶数送AX JMP LOP2 LOPl: CMP [SI],AX ;[S1]大于当前最小偶数? JGE LOP2;是,转移 MOV AX,[SI] ;更换为当前最小偶数 LOP2:ADD SI,2 ;修改操作数地址 LOOP LOPO ;循环 LOP3: MOV DBT,AX ;存入最小偶数或0 MOV AH,4CH INT 21H CODE ENDS END START 例5-13在首地址为DAT的字数组中存放了n个有符号数。求出数组中绝对值最大的 数并将它存入DATl单元。 解:与一般的求最大值问题不同,负数的绝对值是该负数的补码,求补后才能进行绝对 值的比较。所以,事先需要将该数放到另一寄存器保存起来。程序中需要设置两个参数,一 个是当前绝对值最大的数,一个是当前最大的绝对值。 DATA SEGMENT DAT DW Al,A2,……,An DATl DW? N EQU(DATl—DAT),2 DAIA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX XOR BX,BX ;当前绝对值 MOV CX,N ;循环次数 LEA SI,DAT LOP: MOV AX,[SI] MOV DX,AX AND DX,DX ;AX是负数? JNS TABl;非负转移 NEG DX;求负数的绝对值 TABl: CMP DX,BX;DX的绝对值与当前最大的绝对值比较 JL TAB2 MOV BX,DX;绝对值大的存入BX MOV DI,AX;绝对值大的数存入DI TAB2: ADD SI,2 LOOP LOP MOV DATl,DI M0V AH,4CH INT 21 CODE ENDS END START 【例3-10】定义一个名为GRADE的数组,里面存放有100个学生某门功课的成绩。编写一个程序,统计位于100,90~99,80~89,70~79,60~-69以及60分以下的6个分数段的 学生各有多少人。 解:本题仍采用地址表法解决多分支的转移问题。程序编写如下。 DAIA SEGMENT GRADE DB 96,78,100,……,54,83 ;学生成绩 CNT0 DB 0 ;60分以下人数 CNTl DB 0 ;60~69分人数 C
您可能关注的文档
最近下载
- 写给班主任的三十条建议.docx VIP
- 核反应堆设计软件:RELAP5二次开发_(17).RELAP5接口开发与数据交换.docx VIP
- 3.1网络改变世界 课件 2025-2026学年统编版道德与法治八年级上册.pptx VIP
- 三维超声评价子宫内膜容受性.pdf VIP
- 公基础知识(陕西省省情).pdf VIP
- (2025秋新版)二年级上册道德与法治全册教案.docx
- Viaton外研通单词机VT-D10使用指南.pdf
- 学校超市经营方案(完整).doc VIP
- 2024年秋季人教版七年级上册语文全册教学课件(考点精讲版).pptx
- 成都盒马鲜生末端物流配送管理与路径优化研究.doc VIP
文档评论(0)