第四章汇编语言程序设计 4-1试编写程序,将内部RAM的20H~2FH共16个连续单元清零。 4-2试编写程序,求出内部RAM20H单元中的数据含“1”的个数,并将结果存入21H单 4-3试编写一个程序,查找在内部RAM的30H-50H单元中出现FFH的次数,并将查找的 结果存入51H单元。 4-4试编写程序,计数∑2i,并将结果存放在内部RAM的30H单元 4-5试用循环转移指令编写延时20ms子程序。设单片机的晶振频率为6MLz 46SJMP指令和AJMP指令都是两字节指令,它们有什么区别?各自的转移范围是多少? 能否用AJMP指令代替程序中所有的SJMP指令?为什么? 47从内部RAM的30H单元开始存放一组用补码表示的带符号数,其数目己存放在20H 单元。编写程序统计出其中的正数、0和负数的数目,并将结果分别存入21H、22H、23H 单元。 4-8内部RAM中有一块数据块,存放在20H~2FH单元中,要求对这些数据进行奇偶校验 凡是满足偶校验的数据(1的个数为偶数),都要转存到外部RAM80004开始的数据区中。 试编写有关程序。 4-9试编写1个程序,将内部RAM中45H单元的高4位清0,低4位置1。 4-10编写程序,查找在内部RAM的30H~50H单元中是否有0AAH这一数据。若有,则 将5lH单元置为“01H”:若未找到,则将51H单元置为“00H”。 4-11若SP=60H,标号 LABEL所在的地址为3456 H. LCALL指令的地址为2000H,执行 指令 LCALL LABEL后,堆栈指针SP和堆栈内容发生了什么变化?PC的值等于什么? 如果将指令 LCALL直接换成 ACALL是否可以?如果换成 ACALL指令,可调用的地址范 围是什么?
第四章 汇编语言程序设计 4-1 试编写程序,将内部 RAM 的 20H~2FH 共 16 个连续单元清零。 4-2 试编写程序,求出内部 RAM 20H 单元中的数据含“1”的个数,并将结果存入 21H 单 元。 4-3 试编写一个程序,查找在内部 RAM 的 30H~50H 单元中出现 FFH 的次数,并将查找的 结果存入 51H 单元。 4-4 试编写程序,计数 = 10 1 2 i i ,并将结果存放在内部 RAM 的 30H 单元。 4-5 试用循环转移指令编写延时 20ms 子程序。设单片机的晶振频率为 6MHz。 4-6 SJMP 指令和 AJMP 指令都是两字节指令,它们有什么区别?各自的转移范围是多少? 能否用 AJMP 指令代替程序中所有的 SJMP 指令?为什么? 4-7 从内部 RAM 的 30H 单元开始存放一组用补码表示的带符号数,其数目已存放在 20H 单元。编写程序统计出其中的正数、0 和负数的数目,并将结果分别存入 21H、22H、23H 单元。 4-8 内部 RAM 中有一块数据块,存放在 20H~2FH 单元中,要求对这些数据进行奇偶校验。 凡是满足偶校验的数据(1 的个数为偶数),都要转存到外部 RAM 8000H 开始的数据区中。 试编写有关程序。 4-9 试编写 1 个程序,将内部 RAM 中 45H 单元的高 4 位清 0,低 4 位置 1。 4-10 编写程序,查找在内部 RAM 的 30H~50H 单元中是否有 0AAH 这一数据。若有,则 将 51H 单元置为“01H”;若未找到,则将 51H 单元置为“00H”。 4-11 若 SP=60H,标号 LABEL 所在的地址为 3456H。LCALL 指令的地址为 2000H,执行 指令 LCALL LABEL 后,堆栈指针 SP 和堆栈内容发生了什么变化?PC 的值等于什么? 如果将指令 LCALL 直接换成 ACALL 是否可以?如果换成 ACALL 指令,可调用的地址范 围是什么?