片外RAM数据排序

题目要求:在从1000H开始存有32H个正数,现在将其从小到大排序,并将排序结果存于2000H开始的片外存储器中。
请各位高手帮我看一下这段代码。

    1000H
START:
    MOV R3, #00H
   …… ……        ;细节略
    END

这程序是否正确,不正确的话顺便帮我改一下。

悬赏分:100 - 解决时间:2009-12-15 22:44
----------------------------------------

最佳答案:

;改好了,仿真实验成功。

    ORG  0000H
START:
    MOV  A, #48H
    MOV  DPTR, #1000H
    MOV  R7, #32H
UU:
    MOVX @DPTR, A
    INC  DPTR
    DEC  A
    DJNZ R7, UU
;---------------上面各条,从1000H开始,存放了一批递减的数据
    CALL X_SORT         ;调用排序子程序
    NOP                 ;上面数据即递增排好
    CALL M_XRAM         ;调用移动子程序
    NOP                 ;按照要求,移动到2000H
    SJMP $
;---------------下面是排序子程序
X_SORT:
    MOV  R7, #32H
ZZ:
    MOV  2AH, R7
    MOV  DPTR, #1000H   ;前一数字的地址
SS:
    MOVX A, @DPTR       ;取出前一个数字
    MOV  2BH, A         ;保存前一数字
    MOV  R6, DPL        ;保存前一数字的地址到R6
    INC  DPTR
    MOVX A, @DPTR       ;取出后一个数字
    CJNE A, 2BH, $ + 3
    JC   KK
    MOV  DPL, R6        ;恢复前一地址
    MOVX @DPTR, A       ;保存后一数字
    MOV  A, 2BH         ;找回前一数字
    INC  DPTR           ;后一地址
    MOVX @DPTR, A       ;保存
KK:
    DJNZ 2AH, SS
    DJNZ R7, ZZ
    RET
;---------------排序结束-下面是移动子程序
M_XRAM:
    MOV  DPL, #00H
    MOV  R7, #32H
M_LOOP:
    MOV  DPH, #10H      ;从1000H
    MOVX A, @DPTR       ;取出
    MOV  DPH, #20H      ;到2000H
    MOVX @DPTR, A       ;复制
    INC  DPTR
    DJNZ R7, M_LOOP
    RET
END
--------------------------------------
回答者:    做而论道 - 十一级   2009-12-15 00:29
提问者对于答案的评价:非常感谢你。
原题网址:http://zhidao.baidu.com/question/129408332.html
--------------------------------------

FPGA(现场可编程门阵列)是一种可以通过编程来配置的集成电路,它通常用于实现特定的硬件逻辑功能。在FPGA设计中,片外RAM(随机存取存储器)的读写是一个常见操作,它允许FPGA访问和处理大量数据,这些数据存储在FPGA芯片外部的RAM芯片上。 为了实现FPGA与片外RAM的通信,通常需要使用诸如SPI、I2C、Parallel I/O或专用的内存接口协议如DDR等。这些接口协议决定了数据在FPGA和RAM之间的传输方式。以下是一些基本步骤,用于实现FPGA对片外RAM的读写操作: 1. 初始化:配置FPGA的I/O引脚,用于与片外RAM的通信。这包括设置引脚的电气特性,如速度、驱动能力等。 2. 配置RAM:在通信开始之前,需要对片外RAM进行配置,这通常包括设置读写时序、模式寄存器等。这可以通过发送配置命令到RAM的控制寄存器来完成。 3. 读操作:当需要从片外RAM读取数据时,FPGA会生成相应的控制信号,如片选信号(CS)、读信号(RD)以及地址线(ADDR)上的地址信息。数据通过数据线(DATA)从RAM传输到FPGA。 4. 写操作:写数据片外RAM时,FPGA同样需要提供控制信号,包括片选信号、写信号(WR),以及地址线上的地址信息。数据通过数据线从FPGA传输到RAM。 5. 时序控制:由于FPGA和RAM的运行可能不在同一时钟域,因此在设计时需要考虑时序控制,确保数据在正确的时钟周期内被读取或写入。 实现FPGA与片外RAM的高效通信通常涉及到对时序的精确控制,以及对FPGA和RAM接口协议的深入理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值