这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » CODE16 请高手指教一个 CODE16的汇编问题

共2条 1/1 1 跳转至

CODE16 请高手指教一个 CODE16的汇编问题

院士
2006-09-17 18:14:16     打赏
CODE16 请高手指教一个 CODE16的汇编问题



关键词: CODE16     高手     指教     一个     汇编     问题    

院士
2006-12-22 22:43:00     打赏
2楼
问 周工或者是哪位大虾  帮我一个问题  这个是一AD的测试程序,
但是我每次运行到  最后  POP    {R1-R7,PC}
的时候  总是跳到  “未定义指令”
大虾门帮帮忙啊   看看我哪写的有问题


DA_Write    
    CODE16
    PUSH    {R1-R7,LR}
    LDR     R3, =IO3CLR     ;置低P3.22 脚,开始写数据   
    LDR     R1, =DASYNC
    STR     R1, [R3]

    LSL     R0,R0,#0x10   
    LDR        R4, =0x00   
    
DA_SEND_LOOP         
    LDR     R3, =IO0SET     ;置高P脚,写时钟上升沿   
    LDR     R1, =DASCLK
    STR     R1, [R3]
                        
    LSL     R0, R0,#1       ;左移DA控制字,输出数据
    BHS     SETDIN
    LDR     R3, =IO0CLR     ;送出0   
    B       SENDDATA   
SETDIN
    LDR     R3, =IO0SET     ;送出1   
SENDDATA
    LDR     R1, =DADIN
    STR     R1, [R3]

    LDR     R3, =IO0CLR     ;置低P 脚,写时钟下降沿   
    LDR     R1, =DASCLK
    STR     R1, [R3]
    ADD     R4, R4, #0x01
    CMP     R4, #0x10       ;判断是否送完
    BNE     DA_SEND_LOOP    ;
    
DA_Write_End   
    LDR     R3, =IO3SET     ;置高P3.22 脚,写数据完成   
    LDR     R1, =DASYNC
    STR     R1, [R3]

    POP     {R1-R7,PC}
    
    END
   
1: 周工或哪位大仙帮忙解决下谢谢了啊  着急 2: 如果你是从ARM态调用这段程序,必然出错退出时:
POP     {R1-R7,LR}
BX LR

3: 觉得把CODE16写在DA_WRITE后有些怪怪的,放在前面试试呢 4: 终于解决了 谢谢lenglx如果你是从ARM态调用这段程序,必然出错

退出时:
POP     {R1-R7,LR}
BX LR



果然是这样哈  我看他状态字有改变 并没有跳回到 ARM  呵呵
谢谢哈

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]