思考题与习题及答案赵晓安﹎.pdf

上传人:荣*** 文档编号:3743558 上传时间:2020-10-21 格式:PDF 页数:10 大小:24.76KB
返回 下载 相关 举报
思考题与习题及答案赵晓安﹎.pdf_第1页
第1页 / 共10页
思考题与习题及答案赵晓安﹎.pdf_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《思考题与习题及答案赵晓安﹎.pdf》由会员分享,可在线阅读,更多相关《思考题与习题及答案赵晓安﹎.pdf(10页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、1 / 10 思考题与习题4 及答案 41 试编程实现将20H单元的两 位 BCD数相乘,结果以 BCD码的形式存于 21H单元当中。 4-1-1 ORG 0000H MOV 20H,#56H MOV A,20H ANL A,#0FH MOV B,A MOV A,20H ANL A,#0F0H SWAP A MOV R2,A DEC B LOOP: ADD A,R2 DA A DJNZ B,LOOP MOV 21H,A SJMP $ END 4-1-2 ORG 0000H MOV 20H,#56H MOV A,20H MOV R0,#21H MOV 21H,#0 XCHD A,R0 MOV B

2、,R0 SWAP A MOV R2,A DEC B LOOP: ADD A,R2 DA A DJNZ B,LOOP MOV 21H,A SJMP $ END 2 / 10 4-1-3 错误做法 ORG 0000H MOV 20H,#56H MOV A,20H ANL A,#0FH MOV B,A MOV A,20H ANL A,#0F0H SWAP A MOV R2,A MUL AB; (A)=1EH DA A; (A)=24H ERROR MOV 21H,A SJMP $ END 42 设一个加数在50H52H单元中, 另一个加数在53H55H中,进位存 放在位地址00 中, 试编程实现 两

3、数求和 。 ORG 000H ONE DATA 50H TWO DATA 53H WEI BIT 00H MOV R0,#ONE MOV R1,#TWO ; MOV C,WEI CLR C MOV R2,#3 LOOP: MOV A,R0 ADDC A,R1 MOV R0,A INC R0 INC R1 DJNZ R2,LOOP MOV WEI,C SJMP $ END 4-2-2 3 / 10 ORG 0000H ONE DATA 50H TWO DATA 53H WEI BIT 00H MOV R0,#ONE MOV R1,#TWO CLR C MOV R2,#3 SETB RS0 MOV

4、 R0,#58H CLR RS0 LOOP: MOV A,R0 ADDC A,R1 INC R0 INC R1 SETB RS0 MOV R0,A INC R0 CLR RS0 DJNZ R2,LOOP MOV WEI,C SJMP $ END 43 试用除法指令将20H 单元的两 位 BCD 码变成 ASCII 码后存入21H 和 22H 单元。 4-3 ORG 0000H MOV 20H,#67H MOV A,20H MOV B,#10H DIV AB ADD A,#30H MOV 21H,A ORL B,#30H MOV 22H,B SJMP $ END 4 / 10 44 从 20H

5、单元开始存放一组带符号数,其数目已存在1FH 单元。要求 统计出大于0、小于 0 和等于 0 的个数并存于ONE、TWO 、 THREE 三 个单元。 4-4 ORG 0000H ONE EQU 30H TWO EQU 31H THREE EQU 32H NUM EQU 1FH MOV NUM,#0FH MOV R0,#20H;-1,2,34,0A0H,0. MOV R1,#ONE LOOP: MOV R1,#0 INC R1 CJNE R1,#34H,LOOP LOOP1: MOV A,R0 JZ MTHREE JB ACC.7,MTWO INC ONE SJMP DJNZZ MTHREE:

6、 INC THREE SJMP DJNZZ MTWO: INC TWO DJNZZ: INC R0 DJNZ NUM,LOOP1;NUM=0FH SJMP $ END 45 在用 JMP 指令实现128 分支 的程序中,试用LJMP 代替 AJMP 指令。 修改后的程序有何特点?最多能实现多少分支? 4-5 AJMP指令表 128分支占 128*2=256 字节 MEMORY LJMP指令表可以实现256/3=85 个分支 特点:各分支可在64KB存储器中转移。 46 设自变量X 为一无符号数,存放在内部RAM 的 VAX 单元,函数Y 存放在 FUNC 单元,请编出满足如下关系的程序: X

7、X50 Y= 5X 50X20 5 / 10 2X X20 4-6 ORG 0000H VAX EQU 30H FUNC EQU 31H MOV VAX,#55;15;20;25;50;55 MOV A,VAX CJNE A,#20,DO1 DO1: JNC DO2 MOV B,#2 MUL AB SJMP MEM DO2: CJNE A,#50,DO3 DO3: JNC MEM MOV B,#5 MUL AB MEM: MOV FUNC,A SJMP $ END X Y X Y 15 2X=30=14H 50 X=50=32H 20 5X=100=64H 55 X=55=37H 25 5X=

8、125=7DH 47 外部 RAM 从 2000H 到 2100H 有一数据块, 请编出将它们传送到外部 RAM3000H 到 3100H 区域的程序。 4-7 ORG 0000H MOV DPTR,#2000H MOV P2,#30H MOV R0,#00H MOV R2,#0 LOOP: MOVX A,DPTR MOVX R0,A INC DPTR INC R0 DJNZ R2,LOOP ;0 FF-0 MOVX A,DPTR ;(DPTR)=2100H INC P2 ;31H 6 / 10 MOVX R0,A SJMP $ END 48 在内部 RAM 中,有一个以 BLOCK 为始址的

9、数据块,块长在 LEN 单 元。请用查表指令编一程序,先检查它们若是16 进制中的AF,则 把它们变为ASC码;若不是,则把它们变为00H。 4-8 BLOCK EQU 31H LEN EQU 30H N EQU 30 ORG 0000H MOV R0,#BLOCK MOV LEN,#N MOV R2,LEN LOOP: MOV A,R0 CJNE A,#0AH,DO1 DO1: JNC DO2 SJMP DO5 DO2: CJNE A,#0FH,DO3 SJMP DO4 DO3: JC DO4 DO5: MOV A,#0 SJMP NEXT DO4: MOV DPTR,#TAB CLR C

10、SUBB A,#0AH MOVC A,A+DPTR NEXT: MOV R0,A INC R0 DJNZ R2,LOOP SJMP $ TAB: DB A,B,C,D,E,F END 49 试编写一个子程序将字符串:“MCS 51 Microcntrol ”装入外部 RAM 8000H 开始的显示缓冲区。 4-9 ORG 0000H 7 / 10 MOV DPTR,#TAB MOV P2,#80H MOV R0,#00H MOV R2,#19 LOOP: MOV A,#0 MOVC A,A+DPTR MOVX R0,A INC R0 INC DPTR DJNZ R2,LOOP SJMP $ t

11、ab: DB MCS-51 Microcontrol END 410 将内部 RAM 的 AAA 单元中 8 位无符号二进制数转换成用BCD 码 表示的十进制数。 (要求用连续除10 的方法实现) 4-10 ORG 0000H ORG 1000H AAA DATA 0FFH AAA EQU 0FFH MOV A,#AAA MOV A,#AAA MOV B,#0AH MOV R0,#30H DIV AB MOV B,#0AH MOV 30H,B DIV AB MOV B,#0AH MOV R0,B DIV AB INC R0 MOV 31H,B JNZ LOOP MOV 32H,A SJMP $

12、 SJMP $ END END 412 求 8 个数的算数平均值Y= (Xi)/8 (i=0, 7 ) ORG 0000H MOV SP,#6FH CALL ZHISHU MOV R2,#0 ;QIU HEA MOV R3,#0 ;QIU HE B MOV R0,#30H 8 / 10 MOV R4,#08 LOOP: MOV A,R0 JZ NEXT MOV B,#08H DIV AB ADD A,R2 MOV R2,A MOV A,B ADD A,R3 MOV R3,A NEXT: INC R0 DJNZ R4,LOOP MOV A,R3 MOV B,#08H DIV AB ADD A,R

13、2 MOV R2,A MOV R3,B SJMP $ ZHISHU: MOV 30H,#0FFH MOV 31H,#0FFH MOV 32H,#0FFH MOV 33H,#0FFH MOV 34H,#0FFH MOV 35H,#0FFH MOV 36H,#0FFH MOV 37H,#0FFH MOV 38H,#0FEH;FH MOV 39H,#0FFH RET END 414 设逻辑运算表达式为 原式为上式,印书成下式: )()(FEDCBAY )()( F ED C BAY 9 / 10 其中变量A、B、 C 分别为 P10、 P14、定时器溢出标志TF1, D、E、F 分别为 22H2、2

14、2H3 的位地址、外部中断标志IF1 , 输出变量Y为 P15,请编写程序用软件方法实现上述逻辑功能。 4-14-1 A1 BIT P1.0 B1 BIT P1.4 C1 BIT TF1 D BIT 22H.2 E BIT 22H.3 F BIT IE1 Y BIT P1.5 ORG 0000H SETB A1 ;SETB B1 ;SETB C1 ;SETB D ;SETB E ;SETB F ;CLR A1 CLR B1 CLR C1 CLR D CLR E CLR F MOV C,B1 ORL C,C1 CPL C ANL C,A1 MOV F0,C MOV C,E ORL C,F CPL

15、 C ANL C,D ORL C,F0 MOV Y,C SJMP $ END 10 / 10 4-14-2 A1 BIT P1.0 B1 BIT P1.4 C1 BIT TF1 D BIT 22H.2 E BIT 22H.3 F BIT IE1 Y BIT P1.5 ORG 0000H SETB A1 ;SETB B1 SETB C1 ;SETB D ;SETB E ;SETB F ;CLR A1 CLR B1 ;CLR C1 CLR D CLR E CLR F MOV C,A1 ANL C,/C1 ANL C,/B1 MOV F0,C MOV C,D ANL C,/F ANL C,/E ORL C,F0 MOV Y,C SJMP $ END

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com