- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
机器语言:
机器语言是二进制代码标识的指令、数字和符号,用机器语言编写的程序不容易看懂和记忆容易出错
汇编语言:
用助记符表示的指令成为符号语言或汇编语言
汇编可有专门的程序来完成,这种程序成为汇编程序
汇编语言的优点:
编写程序效率高,占用存储空间小,运行速度快
缺点:离不开具体机器的硬件,和机器语言是面向机器的语言缺乏通用性
高级语言:不受具体机器的限制,参照数学语言设计的—8 片内RAM存放一批数据,查找出最大值并存放于首地址,设R0存放首地址,R2存放字节数
MOV R2,#n ;n为要比较的数据字节数
MOV A,R0 ;把指针地址存入A中
MOV R1,A ;以这样的形式把R0送入R1中是因为工作寄存器区域里面的R0~R7 能由A direct #data三种形式送入 所以这里采用这样的方法 (P36)
DEC R2 ;n个字节已把第一个的地址送入了R1中,所以只剩下n-1个 所以减一
MOV A,@R1 ;把第一个数据送入A中
LOOP: MOV R3,A ;理由同第三行的指令
INC R1 ;地址加一,指向下一个数
CLR C ;初始化进位标志C
SUBB A,@R1 ;下一个数和当前数相比较
JNC LOOP1 ;若C=0则 A中的数比较大,跳LOOP1 SUUB指令作用见P42带借位减法指令
MOV A,@R1 ;若C=1则A中的数比较小,所以下一项的数送入A中
SJMP LOOP2 ;
LOOP1: MOV A,R3 ;恢复A因为A在SUBB指令后被破坏了
LOOP2:DJNZ R2,LOOP ;R2减一后查看R2是否等于0,若R2=0则n个字节数是否比较完毕,跳转下一条指令不跳转LOOP,若没有则跳转LOOP
MOV @R0,A ;比较完后把A中存的最大数放入地址为R0的空间中
RET ;返回主程序
例子4-9 一批单字节无字符号数,以R0为首地址,R2中为字节数,这批数进行升序排列
SORT: MOV A,RO ;
MOV R1,A ;
MOV A,R2 ;
MOV R5,A ;以上四条指令用于程序初始化
CLR F0 ;初始化标志符F0,F0为PSW.5用户设定标志为,作为互换位的标志
DEC R5 ;已经将第一个数据地址放入R1,所以要比较的次数要减去1,所以需要自减1
MOV A,@R1 ;第一个数据的值送入A中
LOOP:MOV R3,A ; 将A的数据送入R3中,存放起来用于之后A的数据在被破坏之后恢复
INC R1 ;地址指向下一个数
CLR C ; 进位标志符初始化清零
MOV A,@R1 ;开始比较啦!!!把下一个数送入A中
SUBB A,R3 ;相减
JNC LOOP1 ;如果进位标志符C等于0则说明A中的数比较小(这里A存放的是下一个数),则跳转到LOOP1不需要交换位置(因为题目要求升序排列)()JNC=JUMP IF NOT CARRY(IF CARRY=if Cy=1加了个NOT明白了吧 好记住了吧,同样CJNZ是COMPARE AND JUMP IF NOT ZERO 不等于0则跳转,记这个记助记符号很快的 可惜书上没有)
SETB F0 ;执行此条指令是因为C=1说明下一个数大所以要交换啦,所以交换标志置1
MOV A,R3 ;恢复A
XCH A,@R1 ;A与下一个数交换则A中存下一个数,下一个数变成了那个较大的数
DEC R1 ;地址减一位指向原来那个较大数的地址
XCH A,@R1 ;执行完这个就交换玩啦
INC R1 ; 指针回到交换之前的指向(如果上面的指令我没说清楚记得来问我)
LOOP1:MOV A,@R1 ; 这里就是说明不需要交换的子程序啦
您可能关注的文档
- 《语文中考总复习》九下文言文 学案.doc
- 4、《紫藤萝瀑布》教案.doc
- 16K 样本 教案模板.doc
- 美国经济是否会二次探底?.doc
- 复习压强和液体压强.doc
- 2012新课标人教版三年级数学上册期中试卷.doc
- 高中英语写作常用句式.doc
- 七年级历史下册 第2课 唐太宗与贞观之治学案 北师大版.doc
- 2011—2012学年度第二学期信息技术学科教学计划.doc
- M9Unit2复习教案.doc
- JJG(陕) 006-2019 车用甲醇燃料加注机 .docx
- JJF(浙) 1097-2014 地电波法局部放电测试仪校准规范 .docx
- JJF(浙) 1208-2024 摩擦系数测定仪校准规范 .docx
- JJF(浙) 1113-2015 输电线路导线温度在线监测装置校准规范 .docx
- JJF(浙) 1096-2014 药物溶出度分析仪校准规范 .docx
- JJF(陕) 121-2024 交流大电流测量系统校准规范 .docx
- JJF(浙) 1171-2019 原子荧光形态分析仪校准规范 .docx
- JJF(陕) 100-2022 曲挠试验机校准规范 .docx
- JJF(陕) 122-2024 车辙试验机校准规范 .docx
- JJF(陕) 111-2024 超声流量计在线校准规范 .docx
文档评论(0)