打印
[DSC]

请教 56F800E 指令 求一份 指令说明手册 完整版的(已解决)

[复制链接]
1607|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
itelectron|  楼主 | 2014-6-10 17:20 | 只看该作者
beq     end_xrom2xram           ; if no xROM-to-xRAM, then exit////这个指令 翻变了官网  找不到解释

使用特权

评论回复
板凳
FSL_TICS_Robin| | 2014-6-11 09:50 | 只看该作者
楼主你好
请问你有下载飞思卡尔官网MC56F800x: MC56F8006和MCF56F8002数字信号控制器 文档页面下的DSP56800ERM手册吗?

使用特权

评论回复
地板
itelectron|  楼主 | 2014-6-11 16:43 | 只看该作者
楼上请看

使用特权

评论回复
5
itelectron|  楼主 | 2014-6-11 16:46 | 只看该作者
个人感觉 非思卡尔的文档和TI的 ADI 的 比起来 差好多   学习的 书籍也少    最起码  指令集  要  写清楚吧
我 Freescale CodeWarrior 下的PDF 也找变了 :L

使用特权

评论回复
6
xiangjunrong| | 2014-6-12 11:15 | 只看该作者
就像你贴的图一样, DSP56800ERM.pdf 是介绍DSP56800E core的文档,里面包含DSP56800E的指令集。56800FM.pdf 是介绍DSP56800 core的文档,里面包含DSP56800 core的指令集。
其中,brach 指令bra label, bcc label 是短跳转,其跳转地址是当前地址加偏移量。 jmp label, jcc label 是茶长跳转,地址是绝对地址。
你可以download DSP56800ERM from the website:

使用特权

评论回复
7
xiangjunrong| | 2014-6-12 11:15 | 只看该作者
就像你贴的图一样, DSP56800ERM.pdf 是介绍DSP56800E core的文档,里面包含DSP56800E的指令集。56800FM.pdf 是介绍DSP56800 core的文档,里面包含DSP56800 core的指令集。
其中,brach 指令bra label, bcc label 是短跳转,其跳转地址是当前地址加偏移量。 jmp label, jcc label 是茶长跳转,地址是绝对地址。
你可以download DSP56800ERM from the website:
://tinyurl.com/pw3xp3q

使用特权

评论回复
8
itelectron|  楼主 | 2014-6-13 07:27 | 只看该作者
xiangjunrong 发表于 2014-6-12 11:15
就像你贴的图一样, DSP56800ERM.pdf 是介绍DSP56800E core的文档,里面包含DSP56800E的指令集。56800FM.pd ...



BEQ  这个 指令 找不到  知道 这个 是 条转 指令  但是   就 是 在  上面截图 众多 手册  中  找 不到


使用特权

评论回复
9
itelectron|  楼主 | 2014-6-13 07:29 | 只看该作者
brach
bra label,
bcc label
jmp label,
jcc label

就是 没有 BEQ 这个 指令

使用特权

评论回复
10
itelectron|  楼主 | 2014-6-13 07:32 | 只看该作者

; -------------------------------------------------------
;
;        56836E_init.asm
;
;       Metrowerks, a Freescale company
;        sample code
;
;        description:  main entry point to C code.
;                 setup runtime for C and call main
;
; -------------------------------------------------------

;===============================

; OMR mode bits

;===============================

NL_MODE                                                          EQU  $8000
CM_MODE                                                          EQU  $0100
XP_MODE                                                          EQU  $0080
R_MODE                                                           EQU  $0020
SA_MODE                                                          EQU  $0010



;===============================

; init

;===============================


        section startup

        XREF  F_stack_addr
        XREF  F_xROM_to_xRAM
        XREF  F_pROM_to_xRAM
        XREF  F_Ldata_size
        XREF  F_Ldata_ROM_addr
        XREF    F_Ldata_RAM_addr
        org   p:


        GLOBAL Finit_56800_

        SUBROUTINE "Finit_56800_",Finit_56800_,Finit_56800_END-Finit_56800_

Finit_56800_:

;
; setup the OMr with the values required by C
;
        bfset #NL_MODE,omr    ; ensure NL=1  (enables nsted DO loops)
        nop
        nop
        bfclr #(CM_MODE|XP_MODE|R_MODE|SA_MODE),omr               ; ensure CM=0  (optional for C)
                                                                            ; ensure XP=0 to enable harvard architecture
                                                                            ; ensure R=0  (required for C)
                                                                            ; ensure SA=0 (required for C)




; setup the m01 register for linear addressing

        move.w                                                   #-1,x0
        moveu.w                                                  x0,m01          ; set the m register to linear addressing

        moveu.w                                                  hws,la          ; clear the hardware stack
        moveu.w                                                  hws,la
        nop
        nop





CALLMAIN:                           ; initialize compiler environment

                                    ; initialize the Stack
        move.l #>>F_Lstack_addr,r0
        bftsth #$0001,r0
        bcc noinc
        adda #1,r0
noinc:
        tfra  r0,sp                                                     ; set stack pointer too
        move.w                                                   #0,r1
        nop
        move.w                                                   r1,x:(sp)
        adda  #1,sp


        jsr                                                      F__init_sections        ; clear BSS


; xROM-to-xRAM utility

    nop
    move.w                                                   #F_xROM_to_xRAM,r0     ; check for the option
    tst.w   r0
    beq     end_xrom2xram           ; if no xROM-to-xRAM, then exit
    nop
    move.l  #>>F_Ldata_size,r2        ; set data size
    move.l  #>>F_Ldata_ROM_addr,r3    ; src address -- xROM data start
    move.l  #>>F_Ldata_RAM_addr,r1    ; dest address -- xRAM data start
    do      r2,>>end_xrom2xram      ; copy for r2 times
    move.w  x:(r3)+,x0              ; fetch value at address r3
    nop
    nop
    nop
    move.w  x0,x:(r1)+              ; stash value at address r1
end_xrom2xram:



; pROM-to-xRAM utility

    nop
    move.w                                                   #F_pROM_to_xRAM,r0     ; check for the option
    tst.w   r0
    beq     end_prom2xram           ; if no pROM-to-xRAM, then exit
    nop
    move.l  #>>F_Ldata_size,r2        ; set data size
    move.l  #>>F_Ldata_ROM_addr,r3    ; src address -- pROM data start
    move.l  #>>F_Ldata_RAM_addr,r1    ; dest address -- xRAM data start
    do      r2,>>end_prom2xram      ; copy for r2 times
    move.w  p:(r3)+,x0              ; fetch value at address r3
    nop
    nop
    nop
    move.w  x0,x:(r1)+              ; stash value at address r1
end_prom2xram:



; call main()

        move.w                                                   #0,y0         ; pass parameters to main()
        move.w                                                   #0,R2
        move.w                                                   #0,R3

        jsr                                                      Fmain         ; call the user program


;
;   The fflush calls where removed because they added code
;   growth in cases where the user is not using any debugger IO.
;   Users should now make these calls at the end of main if they use debugger IO
;
;       move.w                                                   #0,r2
;       jsr   Ffflush                                              ; flush file IO
;       jsr   Ffflush_console                                    ; flush console IO

;       end of program; halt CPU
        debughlt
        rts
Finit_56800_END:

        endsec

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:MARK: zhi kan ji shu

274

主题

2762

帖子

8

粉丝