




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
已知A=34H,R6=29H 把R6的前4位和后4位交换MOV R6,#29HXCH A R6SWAP AXCH A R6把29H赋值给R6R6和A交换A的前后4位交换R6和A交换22H单元开始有一无符号数,长度存在20H单元,求出数块的最大值,并存21H单元。LP:NEXT:NEXT1:CLR AMOV R2,20HMOV R1,#22HCLR CSUBB A,R1JNC NEXTMOV A,R1SJMP NEXT1ADD A,R1INC R1DJNE R2 LPMOV 21H,ARET寄存器清0把20H(地址)赋值给R2把22H赋值给R1进位位清零A- R1没有进位跳转NEXT把R1里面的数赋值给A强制跳转到NEXT1把R1里面的数赋值给AR1+1R2减一不为0跳转到LP把A赋值给21H执行计算 1234H+0FE7H 程序 高4位存41H 低4位存40HMOV A,#34HADD A,#0E7HMOV 40H,AMOV A,#12HADDC A,#0FHMOV 41H,A把A赋值34H把0E7H赋值给A把A赋值给40H把A赋值12HA加上0FH把A赋值给41H把8位2进制(0255)转换成3位BCD码 百位存储在21H 十位个位存储在22H中MOV B,#64HDIV A BMOV 21H,AMOV A,#0AHXCH A BDIV A BSWAP AADD A BMOV 21H,A,把B赋值64HA除以B把A(商)赋值给21H把0AH赋值给AA(10)B(余数)交换A除以BA的高四位和低四位交换(余数是两位数高4位是0000)A加B(余数)把A赋值给21H单字节BCD码减法 21H里放被减数 11H里放减数MOV R1,#21HMOV R0,#11HCLR CMOV A,#9AHSUBB A R0ADD A R1DA AMOV 12H AR1赋值21HR0赋值11H进位位清零把9AH赋值给AA-R0 (求补码)A加上R110进制调正把A赋值给12H有十个无符号的数 由小到大排序(沉底)ROL:LP0:LP1:MOV R0,#10HMOV R2,#0AHMOV A,R0MOV R1,AMOV A,R2MOV R5,ACLR 00HDEC R5MOV A,R1MOV R3,AINC R1CLR CMOV A,R1SUBB A,R3JNC LP1SETB 00HMOV A,R3XCH A,R1DEC R1XCH A,R1INC R1MOV A,R1DJNZ R5,LP0JB 00H,ROL把10H赋值给R0把0AH赋值给R2把R0赋值给A把A赋值给R1把R2赋值给A把A赋值给R500H位清零R5减一把R1赋值给A把A赋值给R3R1加1进位位清零把R1赋值给AA减去R2没有进位位跳转LP1设定00H为1把R3赋值给AA 与 R1交换R1减去1A 与 R1交换R1加1把R1赋值给A没有借位跳转到R500H为1跳转ROL用P1口连续8次数据并作和后平均LP0:LP1:LP3:MOV R0,#00HMOV R1,#00HMOV R2,#08HMOV P1,#0FFHMOV A,P1ADD A,R1JNC LP1INC R0MOV R1,ADJNE R2 LP2MOV R2,#03HMOV A,R0RRC AMOV R0,AMOV A,R1RRC AMOV R1,ADJNZ R2 LP3把00H赋值给R0把00H赋值给R1把08H赋值给R2把0FFH赋值给P1把P1赋值给A把R1赋值给A没有进位跳转到LP1R0加1把A赋值给R1R2-1不为0跳转LP2把03H赋值给R2把R0赋值给A向右移动1位把A赋值给R0把R1赋值给A向右移动1位把A赋值给R1R2减1不为0跳转到LP3设片外RAM2000H开始存有100个有符号的数。试统计这一个百符号数的正数负数0的数量LOOP:NO_ZERO:NO_NEGA:DOWNCLR AMOV R5,AMOV R6,AMOV R7,AMOV R2,#64HMOV DPTR,#2000HMOVX A,DPTRJNE NO_ZEROINC R5SJMP DOWNJNB A NO_NEGAINC R6SJMP DOWNINC R7INC DPTR DJNZ R2 LOOPRET寄存器清零把A赋值给R5把A赋值给R6把A赋值给R7把64H赋值给R2把2000H赋值给DPTR把DPTR赋值给A不等于0跳转NO_ZEROR5加1强制跳转DOWN首位为0跳转NO_NEGAR6加1强制跳转DOWNR7加1DPTR加1R2减一不为0跳转LOOP执行CD码变二进制BCDBML10TAFAMOV R7,#03HMOV R0,#43HMOV R3,#00HMOV A,R0MOV R2,AMOV A,R2MOV B,#0AHMUL A BMOV R2,AMOV A,BXCH A,R3MOV B,#0AHMUL A BADD,A,R2MOV R3,ADEC R0MOV A,R0ADD A,R2MOV R2,AMOV A,R3ADDC A,#00HMOV R3,ADJNZ R7,ML10R7赋值03HR0赋值43HR3赋值00H把43H里面的数赋值给A把A赋值给R2把R2赋值给A把10赋值给BAXB把A赋值给R2(低4位给R2)把B赋值给A(高4位给A)把R3和A调换(A为00H、R3为高4位)把0AH(10BCD)赋值给B AXB(10X0)A(低4位)加上R2(第一个乘法的低4位)把A+R2和赋值给R3R0减1把42H里面的数赋值给A把A加上R2把A赋值给R2把R3赋值给AA+CY把A赋值给R3R7减1不为0跳转ML10将R0中的ASCLL码转换为十六进制SB2MOV A,R0CLR CSUBB A,#30HMOV R0,ASUBB A,#0AHJC SB2XCH A,R0SUBB A,#07HMOV R0,ARET把R0里面的数赋值给A进进位清零A减30H把A赋值给R0A减0AH有借位跳转到SB2R0与A交换A减去07H把A赋值给R0执行AF的ASCLL码是41H47H09的ASCLL码是31H39H十六进制变ASCLL码LOOP1NEXTMOV A,R0CJNE A,#0AH,LOOP1JC,NEXTADD A,#07HADD A,#30HMOV R0,ARET把R0赋值给AA不等于10跳转到LOOP1有借位跳转到NEXT(A小于10)A加上07HA加上30H把A赋值给R0执行40H0541H0142H0643H0344H0016进制转换成10进制R30EHR21FH10000=2710H1000=03E8H100=0064H10=000AHBBCD:BBC1:BBC2:BBC3:MOV R0,#44HMOV R7,#0AHMOV DPTR,PWTAMOV R6,#00HMOV A,R6MOVC A,A+DPTRMOV R4,AINC R6MOV A,R6MOVC A,A+DPTRMOV R5,AINC R6MOV R0,#00HCLR CMOV A,R2SUBB A,R4MOV R2,AMOV A,R3SUBB A,R5MOV R3,AJC BBC3INC R0SJMP BBC2MOV A,R2ADD A,R4MOV R2,AMOV A,R3ADDC A,R5MOV R3,ADEC R6DJNZ R7,BBC1MOV A,R2MOV R0,ARET把R0赋值44H把R7赋值0AH把PWTA赋值给DPTR把00H赋值给R6把R6赋值给A把A+DPTR的数赋值给A把A赋值给R4R6加1把R6赋值给A把A+DPTR的数赋值给A把A赋值给R5R6加1把00H赋值给R0进位位清零把R2赋值给AA减去R4把A赋值给R2把R3赋值给A把A减R5把A赋值给R3有进位跳转到BBC3R0加1强制跳转到BBC2把R2赋值给AA加上R4把A赋值给R2把R3赋值给AA加上R5把A赋值给R3R6减1R7减一不为0 跳转到BBC1把R2赋值给A把A赋值给R0执行PWTA DB 10H 27H 0E8H 03HDB 64H 10H 0AH 00H BBC1为查表 BBC2为减法 BBC3为恢复试编程把以2040H为首地址的连续50个单位中的无符号数按降序排列,存放到以3000H为首地址的存储区LP:LP1:LP2:L1:NO_CH:MOV R2,#32HMOV R3,#20HMOV R4,#40HMOV R5,#30HMOV R6,#00HMOV DPH,R3MOV DPL,R4MOVX A,DPTRINC DPTRMOV R3,DPHMOV R4,DPLMOV DPH,R5MOV DPL,R6MOVX DPTR,AINC DPTRMOV R5,DPHMOV R6,DPLDJNZ R2,LPMOV R2,#31HMOV DPTR,#3000HMOV R3,#31HMOVX A,DPTRMOV B,AINC DPTRMOVX A,DPTRJC NO_CHMOV 30H,ACLR CMOV A,DPLSUBB A,#01HMOV DPL,AMOV A,30HINC DPTRMOV A,BMOVX DPTR,ADJNZ R3,LP2DJNZ R2,LP1RET把R2赋值#32H(50BCD)把R3赋值#20H把R4赋值#40H把R5赋值#30H把R6赋值#00H把R3赋值给DPH(DPTR的高8位)把R4赋值给DPL(DPTR的低8位)把DPTR里面的数赋值给A把DPTR加1把DPH赋值给R3把DPL赋值给R4把R5赋值给DPH把R6赋值给DPL把A赋值到DPTR里面DPTR加1把DPH赋值给R5把DPL赋值给R6R2减1不为0跳转到LP把R2赋值31H把DPTR赋值3000H把R3赋值31H把DPTR里面的数赋值给A把A赋值给BDPTR加1把DPTE里面的数赋值给A有进位跳转NO_CH把A赋值给30H进位位清零把DPL赋值给AA加01H把A赋值给DPL把30H赋值给ADPTR加1把B赋值给A把A赋值给DPTRR3减1不为0跳转到LP2R2减1不为0跳转到LP1执行在以2000H为首地址的存储区中,存放着20个用ASKII码表示的09之间的数,是编程将它们转换成BCD码,并LP:MOV R2,#10MOV R3,#20HMOV R4,#00HMOV R5,#30HMOV R6,#00HMOV DPH,R3MOV DPL,R4MOVX A,DPTRANL A,#0FHSWAP AXCH A BINC DPTRMOVX A,DPTRANL A,#0FHORL A,BINC DPTRMOV R3,DPHMOV R4,DPLMOV DPH,R5MOV DPL,R6MOV DPTR,AINC DPTRMOV R5,DPHMOV R6,DPLDJNZ R2,LP把10赋值给R2把20H赋值给R3把00H赋值给R4把30H赋值给R5把00H赋值给R6把R3赋值给DPH把R4赋值给DPL把DPTR赋值给AA与#0FH做与门把A的高低4位交换把A与B交换DPTR加1把DPTR赋值给A把A与#0FH做与门把A与B 做或门DPTR加1把DPH赋值给R3把DPL赋值给R4把R5赋值给DPH把R5赋值给DPL把A赋值给DPTRDPTR加1把DPH赋值给R5把DPL赋值给R6R2减1不为0-跳转LP以压缩BCD码(即一个单位存放2位BCD码)的形式存放在3000H3009H单元中。把内存单元40H60H中的数逐个存入对应的片外2540H2560H单元中L1:MOV DPTR,#2540HMOV R2,#20HMOV R0,#40HMOV A,R0INC R0MOVX DPTR,AINC DPTRDJNZ R2 L1把#2540H赋值给DPTR把#20H赋值给R2把#40H赋值给R0把R0赋值给AR0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房屋购买合同更名协议书
- 卫浴店合伙协议合同范本
- (2025年标准)转卖设备协议书
- 同居男女分手协议书范本
- 政采云协议供货起草合同
- 个体动物养殖协议书范本
- 中介服务合同协议书范本
- 卖酒与洗车合作合同协议
- 拆除学校燃煤锅炉协议书
- 2025贵州仁怀市美酒河小学招聘志愿者教师笔试备考试题及答案解析
- 国际脓毒症与脓毒症休克指南
- 《展示设计》课程教案
- 市政道路雨污水管道工程施工技术详细课件
- 环境管理标准化手册
- 村集体经济组织财务及会计知识讲座课件
- 热集成-4.夹点技术基础理论
- 银屑病教学讲解课件
- SMART200与ACS510通过modbus通信控制启停
- 山西省临汾市各县区乡镇行政村村庄村名居民村民委员会明细及行政区划代码
- 项目领导班子竞聘面试评分表
- 皮肤科常见疾病学习课件
评论
0/150
提交评论