⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ram_inst.fmt

📁 xilinx ISE 实例代码。可用ISE直接打开
💻 FMT
字号:
        ;NAMEREG sX, <name>     ; Rename register sX with <name>
        CONSTANT VGA_ADDR_R, 10         ; Define constant <name>, assign value
        CONSTANT VGA_ADDR_G, 11         ;
        CONSTANT VGA_ADDR_B, 12         ;
        CONSTANT PUSHBUTTON_ADDR, 20    ;
        CONSTANT SEGLED_ADDR_LED, 00    ;
        CONSTANT SEGLED_ADDR_SEGUP, 01  ;
        CONSTANT SEGLED_ADDR_SEGLOW, 02 ;
        CONSTANT SEGLED_ADDR_SEGDOT, 03 ;
        ; ROM output file is always called
        ; <filename>.vhd
        ADDRESS 000                     ; Programs always start at reset vector 0
        ENABLE INTERRUPT                ; If using interrupts, be sure to enable
        ; the INTERRUPT input
 BEGIN: 
        ; <<< your code here >>>
        LOAD s0, 00                     ;
        LOAD s1, 00                     ;
        LOAD s2, 00                     ;
        LOAD s3, 00                     ;
DEALS6: 
        COMPARE s6, FF                  ;
        JUMP Z, DEALS5                  ;
        ;  LOAD S7,S7;
        LOAD s7, s7                     ;
        LOAD s7, s7                     ;
        ADD s6, 01
        JUMP DEALS6
DEALS5: 
        LOAD s6, 00                     ;
        ADD s5, 01                      ;
        COMPARE s5, FF                  ;
        JUMP Z, DEALS4                  ;
        JUMP DEALS6
DEALS4: 
        LOAD s5, 00                     ;
        ADD s4, 01                      ;
        COMPARE s4, 07                  ;
        JUMP Z, S407
        JUMP DEALS6
  S407: 
        ADD s0, 01
        ADD s1, 01
        ADD s2, 01
        ADD s3, 01
        OUTPUT s0, SEGLED_ADDR_LED      ;
        OUTPUT s1, SEGLED_ADDR_SEGUP    ;
        OUTPUT s2, SEGLED_ADDR_SEGLOW   ;
        OUTPUT s3, SEGLED_ADDR_SEGDOT   ;
        LOAD s4, 00                     ;
        LOAD s5, 00                     ;
        LOAD s6, 00                     ;
        JUMP DEALS6
        JUMP BEGIN                      ; Embedded applications never end
   ISR: ; An Interrupt Service Routine (ISR) is
        ; required if using interrupts
        ; Interrupts are automatically disabled
        ; when an interrupt is recognized
        ; Never re-enable interrupts during the ISR
        INPUT sA, PUSHBUTTON_ADDR       ; Read the ISR register from Push Button module
        LOAD sB, sA                     ;
        AND sB, 0F                      ; mask out the 3 bit of LSB ( B,G,R )
     R: 
        RR sB                           ; The LSB is in the carry => R field
        JUMP NC, G                      ;
        INPUT sC, VGA_ADDR_R            ;
        ADD sC, 01                      ;
        OUTPUT sC, VGA_ADDR_R           ;
     G: 
        RR sB                           ; The Less LSB is in the carry => G field
        JUMP NC, B                      ;
        INPUT sC, VGA_ADDR_G            ;
        ADD sC, 01                      ;
        OUTPUT sC, VGA_ADDR_G           ;
     B: 
        RR sB                           ; The 3rd LSB is in the carry => B field
        JUMP NC, CLEAR                  ;
        INPUT sC, VGA_ADDR_B            ;
        ADD sC, 01                      ;
        OUTPUT sC, VGA_ADDR_B           ;
 CLEAR: 
        RR sB
        JUMP NC, INTEND                 ;
        LOAD s0, 00
        LOAD s1, 00
        LOAD s2, 00
        LOAD s3, 00
        LOAD s4, 00                     ;
        LOAD s5, 00                     ;
        LOAD s6, 00                     ;
        OUTPUT s0, SEGLED_ADDR_LED      ;
        OUTPUT s1, SEGLED_ADDR_SEGUP    ;
        OUTPUT s2, SEGLED_ADDR_SEGLOW   ;
        OUTPUT s3, SEGLED_ADDR_SEGDOT   ;
INTEND: 
        LOAD sD, 00
        OUTPUT sD, PUSHBUTTON_ADDR      ;
        RETURNI ENABLE                  ; Return from interrupt service routine
        ; Use RETURNI DISABLE to leave interrupts
        ; disabled
        ADDRESS 3FF                     ; Interrupt vector is located at highest
        ; instruction address
        JUMP ISR                        ; Jump to interrupt service routine, ISR

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -