发表于:2008/8/10 10:02:00
#0楼
2.1算术操作指令(20条)
1. add a, i
指令描述: 将累加器a中的值与立即数相加求和,结果送累加器
影响标志位: z,c,ac,ov
举例: 将a中的值与立即数0x0f相加
add a, 0x0f
2. add a, m
指令描述: 将累加器a中的值与数据存储器单元的值相加求和,结果送累加器
影响标志位: z,c,ac,ov
举例: 将a中的值与数据存储器单元memory中的值相加求和
add a, memory
3. add m, a
指令描述: 将数据存储器单元的值与累加器a中的值相加求和,结果送数据存储单元
影响标志位: z,c,ac,ov
举例: 将数据存储器单元memory的值与累加器a中的值相加求和
add memory, a
一些使用者可能觉得fppa的指令显得有些多,其实很多指令都是可以整合的。比
如pic的精简指令为35条,象上面的2,3指令,他们就整合为1条指令,但指令
所带的参数不一样而已,即计算结果的存储地址选择,结果是存在w里面,还是数
据存储单元里。
4. addc a, m
指令描述: 将累加器a中的值与数据存储器单元的值带进位相加求和,结果送累加器
影响标志位: z,c,ac,ov
举例: 将a中的值与数据存储器单元memory中的值带进位相加求和
addc a, memory
这条指令在做多字节的计算时很管用,但很多低价的mcu都没有,而是要通过判断
c标志后,再进行处理,
5. addc m, a
指令描述: 将数据存储器单元的值与累加器a中的值带进位相加求和,结果送数据存储单元
影响标志位: z,c,ac,ov
举例: 将数据存储器单元memory的值与累加器a中的值带进位相加求和
addc memory, a
6. addc a
指令描述: 将累加器a中的值带进位相加求和,结果送累加器a
影响标志位: z,c,ac,ov
举例: 将累加器a中的值带进位相加求和,结果送a
addc a
这条指令也一样对c标志处理提供了很好的可操作性
7. addc m
指令描述: 将数据存储器单元的值带进位相加求和,结果送数据存储器单元
影响标志位: z,c,ac,ov
举例: 将累加器a中的值带进位相加求和,结果送a
addc m
这条指令也一样对c标志处理提供了很好的可操作性
8. nadd a, m
指令描述: 将累加器a中的值取补码后和数据存储器单元的值相加求和,结果送累加器a
影响标志位: z,c,ac,ov
举例: 将累加器a中的值取补码后和数据存储器单元的值相加求和,结果送a
nadd a, m
9. nadd m, a
指令描述: 将数据存储器单元的值取补码后和累加器a中的值相加求和,结果送数据存储器单元
影响标志位: z,c,ac,ov
举例: 将数据存储器单元的值取补码后和累加器a中的值相加求和,结果数据存储
器单元
nadd m, a
10. sub a, i
指令描述: 将累加器a中的值减去立即数i,结果送累加器a
影响标志位: z,c,ac,ov
举例: 将数据存储器单元的值取补码后和累加器a中的值相加求和,结果数据存储
器单元
nadd m, a
11. sub a, m
指令描述: 将累加器a中的值减去数据存储器单元的值,结果送累加器a
影响标志位: z,c,ac,ov
举例: 将累加器a中的值减去数据存储器单元的值,结果送累加器a
sub a, m
12. sub m, a
指令描述: 将数据存储器单元的值减去累加器a中的值,结果送数据存储器单元
影响标志位: z,c,ac,ov
举例: 将数据存储器单元的值减去累加器a中的值,结果送数据存储器单元
sub m, a
13. subc a, m
指令描述: 将累加器a中的值带借位减去数据存储器单元的值,结果送累加器a
影响标志位: z,c,ac,ov
举例: 将累加器a中的值带借位减去数据存储器单元的值,结果送累加器a
subc a, m
14. subc m, a
指令描述: 将数据存储器单元的值带借位减去累加器a中的值,结果送数据存储器单元
影响标志位: z,c,ac,ov
举例: 将数据存储器单元的值带借位减去累加器a中的值,结果送数据存储器单元
subc m, a
15. subc a
指令描述: 将累加器a中的值带进位相减求差,结果送累加器a
影响标志位: z,c,ac,ov
举例: 将累加器a中的值带进位相减求差,结果送累加器a
subc a
16. subc m
指令描述: 将数据存储器单元的值带进位相减求差,结果送数据存储器单元
影响标志位: z,c,ac,ov
举例: 将数据存储器单元的值带进位相减求差,结果送数据存储器单元
subc m
17. inc m
指令描述: 将数据存储器单元的值递加1,结果送数据存储器单元
影响标志位: z,c,ac,ov
举例: 将数据存储器单元的值递加1,结果送数据存储器单元
inc m
18. dec m
指令描述: 将数据存储器单元的值递减1,结果送数据存储器单元
影响标志位: z,c,ac,ov
举例: 将数据存储器单元的值递减1,结果送数据存储器单元
dec m
19. clear m
指令描述: 将数据存储器单元的值清0,结果送数据存储器单元
影响标志位: 无
举例: 将数据存储器单元的值清0,结果送数据存储器单元
clear m
20. mul
指令描述: 乘法操作指令,执行两个8*8的无符号数的乘法操作,一个操作数存放累加器a,另一个存放在mulop寄存器中,积结果的高8位存放在mulrh,低8位存放在累加器a中。
影响标志位: 无
举例: 乘法操作指令,执行两个8*8的无符号数的乘法操作
;0x05*0xfa
mov a, 0x05
mov mulop, a
mov a, 0xfa
mul
此指令仅限于部分pad产品系列。
----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=58366&Name=gongkong
1. add a, i
指令描述: 将累加器a中的值与立即数相加求和,结果送累加器
影响标志位: z,c,ac,ov
举例: 将a中的值与立即数0x0f相加
add a, 0x0f
2. add a, m
指令描述: 将累加器a中的值与数据存储器单元的值相加求和,结果送累加器
影响标志位: z,c,ac,ov
举例: 将a中的值与数据存储器单元memory中的值相加求和
add a, memory
3. add m, a
指令描述: 将数据存储器单元的值与累加器a中的值相加求和,结果送数据存储单元
影响标志位: z,c,ac,ov
举例: 将数据存储器单元memory的值与累加器a中的值相加求和
add memory, a
一些使用者可能觉得fppa的指令显得有些多,其实很多指令都是可以整合的。比
如pic的精简指令为35条,象上面的2,3指令,他们就整合为1条指令,但指令
所带的参数不一样而已,即计算结果的存储地址选择,结果是存在w里面,还是数
据存储单元里。
4. addc a, m
指令描述: 将累加器a中的值与数据存储器单元的值带进位相加求和,结果送累加器
影响标志位: z,c,ac,ov
举例: 将a中的值与数据存储器单元memory中的值带进位相加求和
addc a, memory
这条指令在做多字节的计算时很管用,但很多低价的mcu都没有,而是要通过判断
c标志后,再进行处理,
5. addc m, a
指令描述: 将数据存储器单元的值与累加器a中的值带进位相加求和,结果送数据存储单元
影响标志位: z,c,ac,ov
举例: 将数据存储器单元memory的值与累加器a中的值带进位相加求和
addc memory, a
6. addc a
指令描述: 将累加器a中的值带进位相加求和,结果送累加器a
影响标志位: z,c,ac,ov
举例: 将累加器a中的值带进位相加求和,结果送a
addc a
这条指令也一样对c标志处理提供了很好的可操作性
7. addc m
指令描述: 将数据存储器单元的值带进位相加求和,结果送数据存储器单元
影响标志位: z,c,ac,ov
举例: 将累加器a中的值带进位相加求和,结果送a
addc m
这条指令也一样对c标志处理提供了很好的可操作性
8. nadd a, m
指令描述: 将累加器a中的值取补码后和数据存储器单元的值相加求和,结果送累加器a
影响标志位: z,c,ac,ov
举例: 将累加器a中的值取补码后和数据存储器单元的值相加求和,结果送a
nadd a, m
9. nadd m, a
指令描述: 将数据存储器单元的值取补码后和累加器a中的值相加求和,结果送数据存储器单元
影响标志位: z,c,ac,ov
举例: 将数据存储器单元的值取补码后和累加器a中的值相加求和,结果数据存储
器单元
nadd m, a
10. sub a, i
指令描述: 将累加器a中的值减去立即数i,结果送累加器a
影响标志位: z,c,ac,ov
举例: 将数据存储器单元的值取补码后和累加器a中的值相加求和,结果数据存储
器单元
nadd m, a
11. sub a, m
指令描述: 将累加器a中的值减去数据存储器单元的值,结果送累加器a
影响标志位: z,c,ac,ov
举例: 将累加器a中的值减去数据存储器单元的值,结果送累加器a
sub a, m
12. sub m, a
指令描述: 将数据存储器单元的值减去累加器a中的值,结果送数据存储器单元
影响标志位: z,c,ac,ov
举例: 将数据存储器单元的值减去累加器a中的值,结果送数据存储器单元
sub m, a
13. subc a, m
指令描述: 将累加器a中的值带借位减去数据存储器单元的值,结果送累加器a
影响标志位: z,c,ac,ov
举例: 将累加器a中的值带借位减去数据存储器单元的值,结果送累加器a
subc a, m
14. subc m, a
指令描述: 将数据存储器单元的值带借位减去累加器a中的值,结果送数据存储器单元
影响标志位: z,c,ac,ov
举例: 将数据存储器单元的值带借位减去累加器a中的值,结果送数据存储器单元
subc m, a
15. subc a
指令描述: 将累加器a中的值带进位相减求差,结果送累加器a
影响标志位: z,c,ac,ov
举例: 将累加器a中的值带进位相减求差,结果送累加器a
subc a
16. subc m
指令描述: 将数据存储器单元的值带进位相减求差,结果送数据存储器单元
影响标志位: z,c,ac,ov
举例: 将数据存储器单元的值带进位相减求差,结果送数据存储器单元
subc m
17. inc m
指令描述: 将数据存储器单元的值递加1,结果送数据存储器单元
影响标志位: z,c,ac,ov
举例: 将数据存储器单元的值递加1,结果送数据存储器单元
inc m
18. dec m
指令描述: 将数据存储器单元的值递减1,结果送数据存储器单元
影响标志位: z,c,ac,ov
举例: 将数据存储器单元的值递减1,结果送数据存储器单元
dec m
19. clear m
指令描述: 将数据存储器单元的值清0,结果送数据存储器单元
影响标志位: 无
举例: 将数据存储器单元的值清0,结果送数据存储器单元
clear m
20. mul
指令描述: 乘法操作指令,执行两个8*8的无符号数的乘法操作,一个操作数存放累加器a,另一个存放在mulop寄存器中,积结果的高8位存放在mulrh,低8位存放在累加器a中。
影响标志位: 无
举例: 乘法操作指令,执行两个8*8的无符号数的乘法操作
;0x05*0xfa
mov a, 0x05
mov mulop, a
mov a, 0xfa
mul
此指令仅限于部分pad产品系列。
----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=58366&Name=gongkong
14PIN的单片MCU多核心时代已来临, 想在低容量的MCU系统跑多任务吗,欢迎登陆"http://gongkong.gkbk.com"我的博客 查看详情,谢谢!