导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→[求助]新手问两个汇编程序问题,内详

* 80380: [求助]新手问两个汇编程序问题,内详

   zjf3338025 
zjf3338025发表的帖子 

 [求助]新手问两个汇编程序问题,内详
1、函数跳转表
         AREA     Jummp, CODE, READWRITE
         CODE32
 
num  EQU     5
        ENTRY
start
        MOV    R0,  #4                ;初始复制,在程序中r0相当于switch(a)中的a
        MOV    R4,#0               ;r4对应跳转的条目编号
        
        CMP     R0,#num             ;比较入口地址和实际入口数目
        BHS     stop                      ;如果入口大于实际入口数目,程序推出
        ADR     R3, JumpTable

        CMP     R0,#2                   ;是调用func1吗?
        MOVEQ R4,#0
        ;*****其他情况省略
        BL      JumpTableFunc
stop  
        MOV   R0,  #0X18               ;程序结束处理
        LDR    R1, =0X20026
        SWI    0X123456

JumpTableFunc
         LDREQU   pc,[R3,R4,LSL #2] ;跳转到对应处理函数
 
JumpTable
         DCD   func1
         DCD   func2
         DCD   func3
         DCD   func4

func1
         ..............;第一种可能
         MOV   PC,LR
;其他函数定义省略

        END
我的问题:程序中r0相当于switch(a)中的a,划线的指令把R0和表示入口数目的num比较是不是不对?

2、交换

           AREA          Sort,CODE,READONLY
           ENTRY
start    
           [U]LDR             R3,[R0]
           LDR                 R2,[R0,#4][/U]           
           BL                   swap
           [U]LDR             R3,[R0]
           LDR                 R2,[R0,#4][/U]      

stop     
           MOV            R0,  #0X18               ;程序结束处理
           LDR             R1, =0X20026
           SWI            0X123456

swap    
           LDR             R0,=src
           LDR             R3,[R0]
           LDR             R2,[R0,#4]
           STR             R2,[R0]
           LDR             R3,[R0,#4]
           MOV            PC,LR                          ;函数返回
           
           AREA           Array,DATA,READWRTIE
src       DCD             2,4
           END 

问题:划线部分是不是没用处?swap调用前,R0还没初始化啊

以上是看书的时候两点疑惑,我是新手,望大侠指点!
  
           

         



发表时间:2005年6月24日17:45:48

  
回复该帖

本主题共有 1 帖,分页:>>>>>该主题的所有内容[1]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

[上一篇帖子]:不知道哪位大哥有PT2314的详细资料,谢谢[B]小弟刚刚在外面接了个外卖,呵呵,关于音频方面的,需
[下一篇帖子]:我没耍好max197最近做了个12位采用,用的是max197,从资料上看到REF端内部电压为4.09