学习笔记

1、H-JATG配置---并口选择

            目前用的JTAG口是并口,因此需要设置并口为ECP(支持DMA),且JTAG连接时Settings->LPT/USB Selecting应选上LPT。

 

2、While循环---程序编写技巧

           汇编程序中while的方法跟C里面的区别较大

          (1)、while只是个标量,可以用其他的任意字符串代替

           (2)、循环体需写到外部

                    ; while(x<=y)  
                    ; {  x *= 2;   F?F?
                    ; }  X   ` 
                    ; 设x为R0,y为R1 (x、y均为无符号整数)   &(
                     MOV  R0,#1  ; 初始化x的值    舑1         
                     MOV  R1,#20  ; 初始化y的值               
                     B  WHILE_2; 首先要判断条件                      
WHILE_1    MOV  R0,R0,LSL #1 ; 循环体,x *= 2        

WHILE_2    CMP  R0,R1  ; 判断x≤y?                   
                      BLS  WHILE_1; 若条件正确,继续循环              
WHILE_END   NOP

 

3、MOV 和MOVS的区别

                 S的作用是更新CPSR中标志位的值,若加则标志位更新,可用做判别条件

                                  ; do
                                   ; {  x--;     ?
                                    ; } while(x>0);           
                                   ; 设x为R0 (x为无符号整数)
                                     MOV     R0,#5       ; 初始化x的值

DOWHILE_L1            ADD  R0,R0,#-1 ; 循环体,x-- €   
           
DOWHILE_L2               MOVS R0,R0  ; R0 <= R0,并影响条件码标志                
                                        BNE  DOWHILE_L1 ; 若R0不为0(即x不为0),则继续循环            
DOWHILE_END           NOP 

 4、CMP和C标志位的关系

                   CMP r1,r2        ;                  

                   BCC    main   ;  r1-r2<0,则需要借位C置位,跳转到main

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值