简答题一、答:程序完成2个4字节无符号数减法,被减数放在r0指定的地址中(内部ram 22h单元开始的4个字节),减数放在r1指定的地址中(28h开始的4字节ram),被减数与减数均为低字节在前,差存放于原被减数单元内,最高位有借位时转溢出处理,无借位则正常子程序返回。
loop: mov a,@r0 ;从低位取被减数一个字节。
subb a,@r1 ;减去减数相应字节。
mov @r1,a ;保存结果(差值的一个字节)
inc r0指向被减数的下一个字节。
inc r1指向减数的下一个字节。
djnz r2,loop ;判断两数是否完成所有字节相减,未完则循环。
jc qaz
ret原程序参考教材81页)
简答题二、答: (a)=40h (b)= 22h (r0)=20h (r1)=40h
p1)=0cfh (p3)=0cfh (20h)=40h (22h)=10h
注:下表是解答参考,不是答案的内容。
右侧单元格内红字代表左侧指令引起的结果变化,空格代表指令不影响,无改变保持原来的值。
简答题三、答:程序将外部数据存储器1000h单元开始的48个字节(30h)数据传送至内部ram区30h开始的48字节中,并将源数据区清零。
简答题四、答: mov dptr,#8000h
movx a,@dptr
add a,20h
clr dph
movx @dptr,a
inc dpl
clr aaddc a,#
movx @dptr,a
执行结果:注意:程序编写的不同最终结果也不会相同。
简答题五、若(r1)=30h,(a试分析4条指令执行完后上述各单元内容的变化。
1) mov a,@r1; (2) mov @r1, 40h; (3) mov 40h, a; (4) mov r1, #7fh;
答:(1) mov a,@r1; 执行后a=60h ,其他不变。
2) mov @r1, 40h; 执行后(30h)=08h ,其他不变。
3) mov 40h, a; 执行后(40h)=60h,其他不变。
4) mov r1, #7fh;执行后r1=7fh ,其他不变。
注:参考。简答题六、
说明指令功能及操作数寻址方式(双操作数时只要求说明源操作数): 1)movc a,@a+dptr3)clr c;( 4)sjmp loop;( 5)push dpl;(
答:1)movc a,@a+dptr ;程序存储器数据传送指令,将a和dptr之和指向地址的程序存储器单元内数据传送至累加器a,变址寻址方式。
2)movx a,@ r1;外部数据存储器传送指令,将由r1内容所指定地址的外部数据存储单元内数据传送至累加器a,寄存器间接寻址方式。
3)clr c;进位位cy清零指令,位寻址方式。
4)sjmp loop;短转移指令,程序转移至loop标号所指处,相对寻址方式。
5)push dpl;堆栈压入指令,将dpl内容压入堆栈,直接寻址方式。
单片机作业
单片机测试一。第一部分选择题。一 单项选择题在每小题列出的四个备选项中只有一个是符合题目要求的,请将其 填写在题前的括号内。错选 多选或未选均无分。1.下列关于单片机说法错误的是。单片机的cpu能处理8位二进制数据或 以及布尔运算。b.8051总共有256个ram单元,内部数据存储器为前128单元。...
单片机作业
单片机原理及应用 作业。1 叫原码 反码和补码?答 正数的反码和补码都是和原码相同。负数。在计算机中,负数以其正值的补码形式表达。什么叫补码呢?这得从原码,反码说起。原码 一个整数,按照绝对值大小转换成的二进制数,称为原码。比如 是5的原码。反码 将二进制数按位取反,所得的新二进制数称为原二进制数的...
单片机作业
3 2访问外部数据存储器和程序存储器可以用哪些指令来实现?举例说明。答 访问外部数据存储器可以用ramx指令来实现。例如 movx a,ri 寄存器ri指向的片外ram单元中的内容送到累加器a中。访问程序存储器可以用ramc指令来实现。例如 movc a,a dptr rom中 地址单元中的内容送到...