微型计算机接口技术习题答案
【篇一:单片微型计算机接口技术课后答案】
1-----------------------
单片机原理、接口及应用——嵌入式系统技术基础 习题解答 预备篇
计算机的基础知识 0.1 40h,62h,50h,64h,7dh,ffh 0.2 812,104,213,256,2936,941 0.3
十进制数 原码 补码 十进制数原码 补码 281ch 1ch 250fahfah -28 9ch e4h -347 815bh fea5h 100 64h 64h 92803a0h 03a0h -130 8082hff7eh-928 83a0h fc60h 0.4 机器数真值分别为: 27,233,-128,-8,14717,31467,-27824,-12478
0.5(1) 33h+5ah=8dh, ov=1, cy=0。 (2) -29h-5dh=7ah, ov=0, cy=1。 (3) 65h-3eh=27h, ov=0, cy=1。 (4) 4ch-68h=e4h, ov=0, cy=0。 0.6
十进制数 压缩bcd数 非压缩bcd数 ascii码38 38h
0308h3338h255255h 020505h 323535h483483h 040803h 343833h764764h 070604h 373634h 1000 1000h 01000000h 31303030h 1025 1025h 01000205h 31303235h 0.7 ascii码表示的十六进制数分别为: 105h, 7cah, 2000h,8a50h 基础篇
1 mcs-511 mcs-51 11 mmccss--5511 第 章、 单片机结构
1.1 单片微型计算机(即单片机)是包含cpu、存储器和i/o接口的大规模集成芯片,即它本身包含了
除外部设备以外构成微机系统的各个部分,只需接外设即可构成独立的微机应用系统。微机处理
器仅为cpu,cpu是构不成独立的微机系统的。 1.2 参见教材1.1.1节 1.3 参见教材第6页表格 1.4 参见教材表1.4 1.5 参见教材表1.1和表1.2
1.6 当psw=10h 表明选中的为第二组通用寄器 r0~r7 的地址为10h~17h
1.7 程序存储器和数据存储器尽管地址相同,但在数据操作时,所使用的指令不同,选通信号也不 同,因此不会发生错误。
1.8 内部数据 程序 外部数据 程序 1
----------------------- page 2----------------------- 1.10 a=0,psw=0,sp=07,p0~p3=ffh 2 512 51
第22章、5511系列单片机的指令系统 2.1 参见教材2.1节
2.2 因为a 累加器自带零标志,因此若判断某内部ram 单元的内容是否为零,必须将其内容送到 a,jz指令即可进行判断。
2.3 当a=0 时,两条指令的地址虽然相同,但操作码不同,movc 是寻址程序存储器,movx是寻址外
2.7 a=25h (50h)=0 (51h)=25h (52h)=70h 2.8 sp=(61h)
(sp)=(24h) sp=(62h) (sp)=(10h) sp=(61h) dpl=(10h) sp=(60h) dph=(24h)
执行结果将0送外部数据存储器的2410单元 2.9 程序运行后内部ram(20h)=b4h,a=90h
2.10 机器码 源程序 7401la: mova,#01h f590lb: movp1,a 23 rl a b40afacjne,#10,lb
80f6 sjmpla 2.11 anl a,#0fh swap a
anl p1,#0fh orl p1,a sjmp$ 2.12 mov a,r0 xch a,r1 mov r0,a sjmp $
2.13 (1)利用乘法指令
----------------------- page 3----------------------- mov b,#04hmulabsjmp$ (2) 利用位移指令
rl arl amov 20h,aanl a,#03h (3)用加法指令完成
add a,accmov r0,a ;r0=2amov a,#0 addc a,#0mov b,a ;b存2a的进位 mov a,r0 add a,acc 2.14 xrl 40h,#3ch sjmp $ 2.15 mov a,20h add a,21h da a
mov 22h,a;存和低字节 mov a,#0 addc a,#0
mov 23h,a ;存进位 sjmp $ 2.16 mova,r0 jz ze
mov r1,#0ffh sjmp $ ze:mov r1,#0 sjmp $ 2.17 mov a,50h mov b,51h mul ab mov 53h,b
2 mov b,a mov a,20hanl a,#0fch sjmp $mov r1,a;r1=4amov a,b
mov a,r1 ;存积低位 sjmp $ mov 52h,a sjmp $
2.18 mov r7,#0ah wop:xrl p1,#03h djnz r7,wop sjmp $
2.19 单片机的移位指令只对a,且只有循环移位指令,为了使本单元的最高位移进下一单元的最低位,
必须用大循环移位指令移位4次。 org 0 mova,22h clr c rlc a
mova,20h mov22h,a rlcamova,#0 mov20h,a rlca mova,21h mov23h,a rlcasjmp $ mov21h,a 3
----------------------- page 4----------------------- 3 msc-51 3 msc-51
第33章、mmsscc--5511单片机汇编语言程序设计
3.1 因为是多个单元操作,为方便修改地址使用间址操作。片外地址用 dptr 指示,只能用movx
指令取数到a,片内地址用r0或r1指示,只能用mov指令操作,因此循环操作外部数据存贮器 →a→ 内部部数据存贮器。
org 0000hinc dptr mov dptr,#1000h inc r0
mov r0,#20h cjne r0,#71h,looploop: movxa,@dptrsjmp $ mov@r0,a
3.2 要注意两高字节相加应加低字节相加时产生的进位,同时要考虑最高位的进位。 org 0 mov 51h,a mov a,r0 mov a,#0 add a,r6 addc a,acc mov 50h,a mov 52h,a mov a,r7 sjmp$ addc a,r1 3.3 a中放小于14h(20)的数,平方表的一个数据占2个字节,可用bcd码或二进制数存放.(如a中放
的是bcd码,则要先化成二进制数再查表。) org 0 inc a
mov dptr,#tabmovca,@a+dptr add a,acc;a*2mov r6,a push acc sjmp $
movca,@a+dptr tab:db 00,00,00,01,00,04,00,09,00,16h,?? mov r7,a db ??? 04h,00 pop acc
3.4 先用异或指令判两数是否同号,在同号中判大小,异号中正数为大. org 0 bg: mov 22h,21h mov a,20h sjmp $
xrl a,21hcmp:mov a,20h anl a,#80hcjne a,21h,gr jz cmpgr: jnc ag
jb 20h.7,bg mov 22h,21hag:mov 22h,20hsjmp $ sjmp $ 3.5 fosc=6mhz
机器周期数 delay:mov r1,#0f8h 1 loop: mov r3,#0fah 1 djnz r3,$ 2 djnz r1,loop 2 ret 2
(1+(1+2*0xfa+2)*0xf8+2)*12/6mhz = (1+(1+2*250+2)*248+2)*2us = 249.494ms
3.6 将待转换的数分离出高半字节并移到低 4位 加30h;再将待转换的数分离出低半字节并 30h,安
排好源地址和转换后数的地址指针,置好循环次数。
org 0000hmov a,@r0 mov r7,#05h anl a, #0fh mov r0,#20h add a,#30h mov r1,#25h mov @r1,a net: mov a,@r0 inc r0 anl a,#0f0h inc r1
swap a djnz r7,ne add a,#30hsjmp $ 4
----------------------- page 5----------------------- mov @r1,a end inc r1
3.7 片内ram 间址寄存器只能有r0和r1两个,而正数、负数和零共需3个寄存器指示地址,这时可
用堆栈指针指示第三个地址,pop和push在指令可自动修改地址。r0指正数存放地址和r1指负数
存放地址 ,sp指源数据存放的末地址,pop指令取源数据,每取一个数地址减1。 org 0000h mov r7,#10h
mov a,#0 mov @r0,a mov r4,a inc r0 mov r5,a ajmp dj mov r6,ane: inc r5
mov r0,#40h mov @r1,a mov r1,#50h inc r1
【篇二:微机原理与接口技术习题答案 - 副本】
3. 3 8086系统中,设ds=1000h,es=2000h,ss=1200h,
bx=0300h,si=0200h, bp=0100h,var的偏移量为0600h,请指出下列指令的目标操作数的寻址方式,若目标操作数为存储器操作数,计算它们的物理地址。
(1)mov bx,12;目标操作数为寄存器寻址
(2)mov [bx],12 ;目标操作数为寄存器间址 pa=10300h
(3)mov es:[si],ax ;目标操作数为寄存器间址 pa=20200h (4)mov var,8;目标操作数为存储器直接寻址 pa=10600h (5)mov [bx][si],ax ;目标操作数为基址加变址寻址 pa=10500h
(6)mov 6[bp][si],al ;目标操作数为相对的基址加变址寻址 pa=12306h
(7)mov [1000h],dx ;目标操作数为存储器直接寻址 pa=11000h
(8)mov 6[bx],cx ;目标操作数为寄存器相对寻址 pa=10306h (9)mov var+5,ax;目标操作数为存储器直接寻址 pa=10605h 3.4 下面这些指令中哪些是正确的?那些是错误的?如果是错误的,请说明原因。
(1)xchg cs,ax;错,cs不能参与交换
(2)mov [bx],[1000];错,存储器之不能交换 (3)xchg bx,ip ;错,ip不能参与交换 (4)push cs
(5)pop cs;错,不能将数据弹到cs中 (6)inbx,dx ;输入/输出只能通过al/ax
(7)mov byte[bx],1000 ;1000大于255,不能装入字节单元 (8)mov cs,[1000] ;cs不能作为目标寄存器 (9)movax,[si][di];si、di不能成为基址加变址
3.7 设当前 ss=2010h,sp=fe00h,bx=3457h,计算当前栈顶的地址为多少?当执行 push bx 指令后,栈顶地址和栈顶2个字节的内容分别是什么?
当前栈顶的地址=2ff00h
当执行push bx 指令后,栈顶地址=2fefeh (2fefeh)=57h (2feffh)=34h
3.8 设dx=78c5h,cl=5,cf=1,确定下列各条指令执行后,dx和cf中的值。
(1) shr dx,1 ;dx=3c62hcf=1 (2) sar dx,cl ;dx=03c6hcf=0 (3) shl dx,cl ;dx=18a0hcf=1 (4) ror dx,cl ;dx=2bc6hcf=0 (5) rcl dx,cl ;dx=18b7hcf=1 (6) rcr dh,1 ;dx=bcc5hcf=0;
3.9 设ax=0a69h,value字变量中存放的内容为1927h,写出下列各条指令执行后寄存器和cf、zf、of、sf、pf的值。 ax cf zfofsf pf
(1)xorax,value ;134eh0 0 0 0 1 (2)andax,value ;0821h0 0 0 0 1 (3)subax,value ;f142h1 0 0 1 1 (4)cmpax,value ;0a69h1 0 0 1 1
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库微型计算机接口技术习题答案在线全文阅读。
相关推荐: