欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    代码转换程序设计.ppt

    • 资源ID:6240504       资源大小:404KB        全文页数:22页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    代码转换程序设计.ppt

    1,4 常用汇编语言程序设计,2,汇编语言程序设计的步骤熟悉与分析工作任务,明确其要求和要达到的工作目的、技术指标等;确定解决问题的计算方法和工作步骤;画工作流程图;分配内存工作单元,确定程序与数据区存放地址;按流程图编写源程序;上机调试、修改及最后确定源程序。,汇编语言程序设计,3,代码转换 由于计算机内部的运算都是用二进制,而在计算机与外设的数据传送中常采用BCD码、ASCII码和其他代码,因此存在代码转换问题。代码转换的方法算法处理根据待转换的两种代码的某种数学上的运算关系,通过一定的算法进行转换。查表法将两种待转换的代码对应列表,然后用查表指令进行转换。,汇编语言程序设计-代码转换,4,汇编语言程序设计-代码转换,【例】将累加器A中0FFH范围内的二进制数转换为BCD数(0255)。说明:BCD码有两种存放形式一个字节存放一位BCD码,高半字节取0,常用于显示和输出;一个字节存放两位BCD码,即压缩BCD码,有利于节省存储空间。编程思路将A中的二进制数除以100,所得商即为百位数,将余数再除以10,所得商即为十位数,余数即为个位数。,5,BTB:MOV B,#100DIV AB;A中为百位数,B中为余数MOV R0,A;存百位数INC R0;指向存放十位和个位的单元MOV A,#10 XCH A,BDIV AB;A中为十位数,B中为个位数SWAP A;十位数移到高半字节ORL A,B;合并形成十位和个位的压缩BCD码MOV R0,ARET,汇编语言程序设计-代码转换,6,ASCII码(美国标准信息交换码,American Standard Code for Information Interchange)用7位二进制数表示一个字母或字符的编码方法,可表示128个字符,其中包括数码09以及英文字母等可打印的字符。常见的如:字符ASCII码0930H39HAZ41H5AHaz61H7AH,汇编语言程序设计-代码转换,7,【例】将R0所指单元中的十六进制数转换成ASCII码,并把结果存于原单元中。方法一:算法处理方法十六进制数码ASCII码0 30H 9 39HA 41H F 46H,+30H,+37H,汇编语言程序设计-代码转换,8,HTA:MOV A,R0;取数 CLR C SUBB A,#0AH;判断数值范围在09或AF JC H09;Cy=1,数值在09转H09 MOV A,R0 ADD A,#37H;AF,加37H得ASCII码 MOV R0,A RET H09:MOV A,R0 ADD A,#30H;09,加30H得ASCII码 MOV R0,A RET,汇编语言程序设计-代码转换,9,方法二:查表法HAC:MOV A,R0;取数 MOV DPTR,#TAB;ASCII码表首地址 MOVC A,A+DPTR;查表 MOV R0,A RETTAB:DB 30H,31H,32H,.,39H DB 41H,42H,.,46H;0F的;ASCII 码表,汇编语言程序设计-代码转换,10,【例】编程将ASCII码(十六进制数码)转换为十六进制数。设ASCII码存放在A中,转换结果放到B中。方法1:ASH1:CJNE A,#3AH,NX;判断数码范围 NX:JC SS;在30H39H转SS SUBB A,#07H SS:CLR C SUBB A,#30H MOV B,A RET,汇编语言程序设计-代码转换,11,方法2:ASH2:CLR C SUBB A,#30H;先减去30H CJNE A,#0AH,SS;再判断数码范围 SS:JC SS1;在09转SS1 SUBB A,#07H SS1:MOV B,A RET,汇编语言程序设计-代码转换,12,求极值(在一组数据中求最大值或最小值)基于比较的操作 无符号数a、b大小关系的判断,汇编语言程序设计-求极值,13,带符号数a、b大小关系的判断,汇编语言程序设计-求极值,14,【例】从片内存RAM的BLOCK单元开始有一组无符号数据,个数为N,试求出其最大数,并存入MAX单元。,汇编语言程序设计-求极值,15,MOV R1,#BLOCK;设置指针,指向第一个数 MOV R2,#N;比较次数 MOV A,#0;第一次比较的参照数 LOOP:CLR C SUBB A,R1;比较 JNC NEXT;若A中的数较大,则继续跟下一数比较 MOV A,R1;取大数 SJMP NEXT1 NEXT:ADD A,R1;恢复A值NEXT1:INC R1;指向下一个单元 DJNZ R2,LOOP MOV MAX,A SJMP$,汇编语言程序设计-求极值,16,搜索(在一组数据中查找是否有指定的关键字)统计(统计一组数据中符合某个指定条件的关键字的个数)【例】设有50个有符号数,连续存放在以31H为首地址的片内数据存储器中,编程统计其中正数的个数,并将个数存入片内RAM 30H单元。,汇编语言程序设计-搜索、统计,17,MOV R0,#31H;设置指针 MOV R5,#50;循环次数 MOV 30H,#0 LP:MOV A,R0;取数 JZ NX;数值为0,判断下一个 JB ACC.7,NX;数值为负,判断下一个 INC 30H;正数个数加1 NX:INC R0;指向下一个单元 DJNZ R5,LP SJMP$,汇编语言程序设计-搜索、统计,18,排序(对一组数据按升序或降序排列)【例】设有N个无符号数,连续存放在BUF开始的片内RAM,编程将它们按升序(从小到大)排列。冒泡法排序:(假设有5个数据:5,19,7,25,1)第一轮排序:,519 725 1,5 71925 1,5 71925 1,5 719 125,汇编语言程序设计-排序,19,第二轮排序:.,5 5 5 5 57 7 7 7 719 19 19 1 11 1 1 19 1925 25 25 25 25,最多应进行N-1轮排序。为减少比较次数,设置一个标志位反映一轮排序过程中是否发生数据交换,如果没有发生数据交换,就表示数据已按顺序排列。,汇编语言程序设计-排序,20,流程图:,21,ST:MOV R2,#(N-1);置每轮比较次数 MOV R0,#BUF;置数据首单元地址 CLR 00H;交换标志清0 ST1:MOV A,R0;取Xi MOV B,A INC R0;指向Xi+1 CLR C SUBB A,R0;比较 JC NOEX;Cy=1,即Xi Xi+1,不交换,汇编语言程序设计-排序,22,MOV A,B XCH A,R0 DEC R0 MOV R0,A;两数交换存储位置 INC R0 SETB 00H;置交换标志NOEX:DJNZ R2,ST1 JB 00H,ST SJMP$,汇编语言程序设计-排序,

    注意事项

    本文(代码转换程序设计.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开