在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
0基础踏入嵌入式开发的第一坑!用无敌简简单单的C程序调用汇编程序实现整数相加,这辈子都有阴影了,这大概是一条一条指令谷歌百度搜出来的结果,学习从来没这么卑微过,唔QAQ 工程大概长这样: add10.s
main.c
理解程序最快的方法之一莫过于读现有的程序,先来看add.s的代码 ;用于添加多个整数的例程。 ;R0是循环的计数器。 ;R2是数组元素的指针。R3是R2指向的数组元素的值。 ;R4是和的低位,R5是高位。 N EQU 10 ;N的值定义为10 add10 ;函数名 小结:#后是一个及时数,MOV是将一个寄存器的地址给另一个寄存器,ADDS是将两个寄存器中的值相加赋给另一个寄存器。这个函数是将寄存器R0 R4 R5初始化为0 addloop01 小结:ADDS.W的W:用户通过.W(Wide)后缀指定编译器使用32位ARM指令 ADDS是32位数的加法运算,影响进位标志位C而不影响运算结果的值,ADCS是大于32位数的加法,低32位数相加的结果影响标志位C的值(作为进位值)就得加到高32位数的相加运算里去,以此类推,可做高32数的加法. end:这一块是水平有限得死死的QAQ希望大家能从这一条条代码的解释得到一丝丝收货 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论