打印

请教高手(2812 加法汇编小程序中的问题)

[复制链接]
3610|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yh_zjm|  楼主 | 2007-7-3 14:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用的是2812     (一个加法小程序)
源程序如下:(源程序没错,但第二个程序是自己在第一个基础上修改后就有错了)
    .global start
    
start:
    MOV      @AR1,#9000h  ;给ar1寄存器赋值
LOOP:
    ADDB      SP,#3      ;此时sp指针为403h地址
    MOV      *-SP[1],#10 ;把立即数10放到402地址上
    MOV      *-SP[2],#1  ;把立即数1放到401地址上
    MOV      AL,*-SP[2]  ;把401地址上数据读出放到AL寄存器中
    ADD      AL,*-SP[1]  ;把401和402地址中数据做加法运算,把结果放到AL寄存器中
    MOV      *-SP[3],AL  ;把AL中值放到400h地址中
    nop                  ;空指令
    nop
    SUBB      SP,#3      ;设置sp指针为400h地址
    BANZ   LOOP,AR1--   ;有条件跳转,只要ar1中的值不为0
.end


上面的源程序没错,但我自己在中间加了一条转移指令就有错误,如下所示,不知道为什么?望高手指点一下!  
   .global start
    
start:
    MOV      @AR1,#9000h  ;给ar1寄存器赋值
LOOP:
    ADDB      SP,#3      ;此时sp指针为403h地址
    MOV      *-SP[1],#0f000h ;把立即数0f000h放到402地址上
    MOV      *-SP[2],#0e000h ;把立即数0e000h放到401地址上
    MOV      AL,*-SP[2]  ;把401地址上数据读出放到AL寄存器中
    ADD      AL,*-SP[1]  ;把401和402地址中数据做加法运算,把结果放到AL寄存器中
    BCND    W1,NC
      MOV      AH,#1
W1:
    MOV      *-SP[3],AL  ;把AL中值放到400h地址中
    nop                  ;空指令
    nop
    SUBB      SP,#3      ;设置sp指针为400h地址
    BANZ   LOOP,AR1--   ;有条件跳转,只要ar1中的值不为0
.end
------------------------------  TASM.pjt - Debug  ------------------------------
[tasm.asm] "C: ic2000cgtoolsincl2000" -g -q -fr"c:/icetek-f2812-a-edulab/dsp281x_examples/lab0103-asm/Debug" -d"_DEBUG" -d"LARGE_MODEL" -ml -v28 -@"Debug.lkf" "tasm.asm"
"tasm.asm", ERROR!   at line 11: [E0002] Invalid instruction for specified
                                         processor version
             BCND    W1,NC

1 Assembly Error, No Assembly Warnings

Errors in Source - Assembler Aborted

Build Complete,
  2 Errors, 0 Warnings, 0 Remarks.

相关帖子

沙发
chenligen| | 2012-8-1 16:39 | 只看该作者
我也在搞这个程序,即第一个程序也没调试出来,会是什么原因?

使用特权

评论回复
板凳
jesuswd| | 2012-8-14 14:03 | 只看该作者
你那个是C2XLP的程序,可以换成XB指令试试!

使用特权

评论回复
地板
optical85| | 2012-8-15 09:41 | 只看该作者
报错的意思应该是说2812的指令集里面没有BCND这个指令。去查查2812 instruction set reference guide里面有没有BCND的指令。

使用特权

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

本版积分规则

3

主题

4

帖子

0

粉丝