2个字节。试编出能根据R5,R4中的元素序号查找对应的元素并放在R5,R4(R5中为高8位,R4中为低8位)的程序。
16.设MDA和MDB那有两个数a和b,请编出求c=a2+b2,并把c送入MDC的程序。设a和b都是小于10的整数。
17.在HEX单元存有两个16进制数,试编程分别把他们转换成相应的ASCII码存入ASC和ASC+1单元。
18.已知片内RAM中有一个5位的BCD码(高位在前,低位在后),最大不超过65535,始址在R0中,BCD码位数减1(04H)在R2中,试编程将BCD码转换成二进制整数并存入R4和R3中的程序(R4中为高8位)。
19.已知BLOCK1和BLOCK2为始址的存储区分别存有5字节无符号被减数和减数(低位在前,高位在后),试编一个减法子程序令他们相减并把差放入BLOCK1为始址的存储单元。
20.设BLOCK1和BLOCK+1单元有两个补码形式的有符号数,请编一个子程序求他们的和,并把和放在SUM和SUM+1单元(低8位在SUM单元)。 21.16位无符号数乘法程序。BLOCK1和BLOCK2为始址的存储区内放有16位的乘数和被乘数(低字节在前,高字节在后),试编程求积,结果放在BLOCK3为始址的连续4个存储单元。
22.设32位长的被除数已经放在R5、R4、R3、R2(R5为高字节),16位除数放在R7、R6中,试编程求商放在R3、R2,余数放在R5、R4。该程序应能判定除数为0时转入ERR出错处理程序和商超过双字节时使PSW中的F0=1(否则F0=0)。
23.设R0和R1中有两个补码形式的有符号数,试编程求两数之积并送入R3、R2中的程序(R3存放积的高8位)。 24.将外部RAM从0000H开始的2K字节的数据转移到外部2000H开始的区域。试编写有关的程序。
25.外部RAM从2000H开始的100字节的数据,要把他们转移到外部2030H开始的区域。试编写有关的程序。
26.从内部BLOCK单元开始有一个无符号的数据块,长度存放在LEN单元,编程找出数据块中的最小元素,并放在MINI单元。
27.编写一段程序,模拟如图所示逻辑电路的逻辑功能。要求将4输入与非门的功能模拟先写成一个子程序,多次调用模拟整个电路的逻辑功能。设X、Y、Z、W都已经定义为位地址,若程序中还需其他位地址,可以另行定义。
第三章MCS-51系列单片机的指令系统
相关推荐: