qiuqiu
获得 12 次赞
帮助过267人
0x1656 RCALL 0x165a 0x1658 BRA 0x166e 0x165A PUSH ;將下一個指令的PC值存到堆疊的最上層。 0x165C MOVWF PCLATH ACCESS 0x165E MOVLB 0x1 ;BSR = 1 0x1660 MOVF 0x86 W BANKED 0x1662 MOVWF TOSL ACCESS 0x1664 MOVF 0x87 W BANKED 0x1666 MOVWF TOSH ACCESS 0x1668 CLRF TOSU ACCESS 0x166A MOVF PCLATH W ACCESS 0x166C RETLW 0x1 请教一下这段代码是起什么作用呢。
以前做的都是直插的PCB,我一般会设置电源线和地线走线的线宽为50mil,其他线宽为30mil。现在要做一个PCB,既有贴片又有直插的元器件,对于很小的贴片芯片,一般线宽怎么取呢?比如我又一个10脚的芯片,引脚焊盘长度为0.15mm(5.9mil),那这个芯片引脚上的线宽都要改成0.15mm吗?
清除bss段的代码部分如下: //清除BSS段 clean_bss: ldr r1 =__bss_start ldr r2 =__bss_end mov r3 #0 clean: str r3 [r1] add r1 r1 #4 cmp r1 r2 bne clean复制代码 想问一下大佬,clean部分清除bss段的原理,为啥将r1寄存器清零后,又要加上4,与r2执行了CMP指令,零标志寄存器不为零的话则循环,我自己的理解: R1清零→+4→清零→+4,那这样如何起到清除bss段呢,请大佬指点