URL
https://opencores.org/ocsvn/8051/8051/trunk
Subversion Repositories 8051
Compare Revisions
- This comparison shows the changes necessary to convert path
/8051/tags/rel_19/asm
- from Rev 185 to Rev 186
- ↔ Reverse comparison
Rev 185 → Rev 186
/timer2_test.asm
0,0 → 1,837
; b: error code |
; r3: timer high expected value |
; r4: timer low expected value |
|
|
t2con EQU 0c8h; |
rcap2l EQU 0cah; |
rcap2h EQU 0cbh; |
tl2 EQU 0cch; |
th2 EQU 0cdh; |
|
tr2 EQU 0cah; |
exen2 EQU 0cbh; |
exf2 EQU 0ceh; |
tf2 EQU 0cfh; |
|
ajmp start; |
|
org 03h ; external interrupt 0 |
reti; |
|
org 0bh ; t/c 0 interrupt |
reti; |
|
org 13h ; external interrupt 1 |
reti; |
|
org 1bh ; t/c 1 interrupt |
reti; |
|
org 23h ; serial interface interrupt |
reti; |
|
org 2bh; t/c 2 interrupt |
reti; |
|
|
test2: |
mov a, th2 ; |
subb a, r3 ; |
jnz error ; |
|
mov a,tl2 ; |
subb a, r4 ; |
jnz error ; |
|
ret; |
|
|
error: |
mov p1, b; |
nop; |
ajmp error; |
|
|
wait: |
dec a ; 1 |
nop ; 1 |
nop ; 1 |
nop ; 1 |
nop ; 1 |
nop ; 1 |
nop ; 1 |
nop ; 1 |
jnz wait ; 4 |
nop; |
; nop; |
nop; |
ret ; 4 |
|
|
|
start: |
clr a; |
mov r0, a; |
mov r1, a; |
mov ie, #00h ;disable interrupts |
clr c; |
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
; |
; timer 2 test |
; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
; |
; capture mode |
; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
|
mov tcon, #000h ; disable t/c 0,1 |
mov t2con, #01h; timer 2 capture mode, |
mov th2, #000h ;load timer 2 |
mov tl2, #000h ; |
setb tr2 ;start timer 2; |
mov a, #03h ; 1 |
acall wait ; 2 |
|
clr tr2 ;stop timer 2 |
mov b, #00h ; error 0 |
mov r3, #000h ; |
mov r4, #004h ; |
acall test2 ; |
|
mov tl2, #0fch ; load timer 2 |
setb tr2 ; start timer 2; |
mov a, #04h ; |
acall wait ; |
|
clr tr2 ; stop timer 2 |
mov b, #01h ; error 1 |
mov r3, #001h ; |
mov r4, #001h ; |
acall test2 ; |
|
mov tl2, #0fch ; |
mov th2, #0ffh ; |
setb tr2 ;start timer 2 |
mov a, #05h ; |
acall wait ; |
|
clr tr2 ;stop timer 0 |
mov b, #02h ; error 2 |
mov r3, #000h ; |
mov r4, #002h ; |
acall test2 ; |
mov b, #03h ; error 3 |
jnb tf2, error ; |
clr tf2 ; |
|
mov p0, #01h; |
; |
; test exen2 |
; |
mov rcap2l, #43h |
mov rcap2h, #21h |
mov th2, #23h ; |
mov tl2, #45h ; |
clr p3.2 ; |
setb p3.2 ; |
mov a, #10h ; |
loop1: nop ; |
dec a ; |
jnz loop1 ; |
mov a, rcap2l ; |
mov psw, #00h ; |
mov b, #04h ;error 4 |
subb a, #43h ; |
jnz error0 ; |
mov a, rcap2h ; |
subb a, #21h ; |
jnz error0 ; |
|
mov b, #05h ;error 5 |
jb exf2, error0 ; |
clr exf2 ; |
|
setb exen2 ; |
clr p3.2 ; |
setb p3.2 ; |
mov a, #10h ; |
loop2: nop ; |
dec a ; |
jnz loop2 ; |
mov a, rcap2l ; |
mov psw, #00h ; |
mov b, #06h ;error 6 |
subb a, #45h ; |
jnz error0 ; |
mov a, rcap2h ; |
subb a, #23h ; |
jnz error0 ; |
|
mov b, #07h ;error 7 |
jnb exf2, error0; |
clr exf2 ; |
|
mov p0, #02h; |
|
ajmp arm; |
|
error0: |
ljmp error; |
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
; |
; auto reload mode |
; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
arm: |
mov t2con, #00h ; t/c 2 in auto reload mode |
mov th2, #000h ;load timer 2 |
mov tl2, #000h ; |
mov rcap2l, #11h; |
mov rcap2h, #22h; |
setb tr2 ;start timer 2; |
mov a, #03h ; |
acall wait ; |
|
clr tr2 ;stop timer 2 |
mov b, #08h ; error 8 |
mov r3, #000h ; |
mov r4, #004h ; |
acall test2 ; |
|
mov tl2, #0fch ; load timer 2 |
setb tr2 ; start timer 2 |
mov a, #04h ; |
acall wait ; |
|
clr tr2 ; stop timer 2 |
mov b, #09h ; error 9 |
mov r3, #001h ; |
mov r4, #001h ; |
acall test2 ; |
|
mov b, #0ah ; error a |
jb tf2, error0 ; |
clr tf2 ; |
|
|
mov tl2, #0fch ; |
mov th2, #0ffh ; |
setb tr2 ;start timer 2 |
mov a, #05h ; |
acall wait ; |
|
clr tr2 ;stop timer 0 |
mov b, #0bh ; error b |
mov r3, #022h ; |
mov r4, #013h ; |
acall test2 ; |
|
mov b, #0ch ; error c |
jnb tf2, error0 ; |
clr tf2 ; |
|
|
mov a, rcap2l ; |
mov psw, #00h ; |
mov b, #0f0h ;error f0 |
subb a, #11h ; |
jnz error1 ; |
mov a, rcap2h ; |
subb a, #22h ; |
jnz error0 ; |
|
mov p0, #03h; |
|
|
; |
; test exen2 |
; |
mov rcap2l, #12h |
mov rcap2h, #34h |
mov tl2, #56h ; |
mov th2, #78h ; |
clr p3.2 ; |
setb p3.2 ; |
mov a, #10h ; |
loop3: nop ; |
dec a ; |
jnz loop3 ; |
|
mov b, #0dh ; error d |
mov r3, #078h ; |
mov r4, #056h ; |
acall test2 ; |
|
mov b, #0eh ; error e |
jb exf2, error1 ; |
clr exf2 ; |
|
setb exen2 ; |
clr p3.2 ; |
setb p3.2 ; |
mov a, #10h ; |
loop4: nop ; |
dec a ; |
jnz loop4 ; |
|
mov b, #0fh ; error f |
mov r3, #034h ; |
mov r4, #012h ; |
acall test2 ; |
|
mov b, #10h ;error 10 |
jnb exf2, error1; |
clr exf2 ; |
|
mov a, rcap2l ; |
mov psw, #00h ; |
mov b, #0f1h ;error f1 |
subb a, #12h ; |
jnz error1 ; |
mov a, rcap2h ; |
subb a, #34h ; |
jnz error1 ; |
|
mov p0, #04h ; |
|
ajmp brate; |
|
|
error1: |
ljmp error; |
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
; |
; baud rate generator |
; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
brate: |
mov t2con, #10h ; t/c 2 in baud rate generator mode |
mov th2, #000h ;load timer 2 |
mov tl2, #000h ; |
mov rcap2l, #11h; |
mov rcap2h, #22h; |
setb tr2 ;start timer 2; |
mov a, #03h ; |
acall wait ; |
|
clr tr2 ;stop timer 2 |
mov b, #20h ; error 20 |
mov r3, #000h ; |
mov r4, #004h ; |
acall test2 ; |
|
mov t2con, #20h ; |
mov tl2, #0fch ; load timer 2 |
setb tr2 ; start timer 2 |
mov a, #04h ; |
acall wait ; |
|
clr tr2 ; stop timer 2 |
mov b, #021h ; error 21 |
mov r3, #001h ; |
mov r4, #001h ; |
acall test2 ; |
|
mov b, #22h ; error 22 |
jb tf2, error1 ; |
clr tf2 ; |
|
|
mov tl2, #0fch ; |
mov th2, #0ffh ; |
setb tr2 ;start timer 2 |
mov a, #05h ; |
acall wait ; |
|
clr tr2 ;stop timer 0 |
mov b, #23h ; error 23 |
mov r3, #022h ; |
mov r4, #013h ; |
acall test2 ; |
|
mov b, #24h ; error 24 |
jb tf2, error1 ; |
clr tf2 ; |
|
|
mov a, rcap2l ; |
mov psw, #00h ; |
mov b, #0f4h ;error f4 |
subb a, #11h ; |
jnz error1 ; |
mov a, rcap2h ; |
subb a, #22h ; |
jnz error1 ; |
|
mov p0, #07h; |
|
|
; |
; test exen2 |
; |
mov tl2, #56h ; |
mov th2, #78h ; |
setb p3.2 ; |
clr p3.2 ; |
setb p3.2 ; |
mov a, #10h ; |
loop5: nop ; |
dec a ; |
jnz loop5 ; |
|
mov b, #25h ; error 25 |
mov r3, #078h ; |
mov r4, #056h ; |
acall test2 ; |
|
mov b, #0eh ; error e |
jb exf2, error3 ; |
clr exf2 ; |
|
setb exen2 ; |
clr p3.2 ; |
setb p3.2 ; |
mov a, #10h ; |
loop6: nop ; |
dec a ; |
jnz loop6 ; |
|
mov b, #26h ; error 26 |
mov r3, #078h ; |
mov r4, #056h ; |
acall test2 ; |
|
mov b, #27h ;error 27 |
jnb exf2, error3; |
clr exf2 ; |
|
|
mov p0, #08h ; |
ajmp counter; |
|
error3: |
ljmp error; |
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
; |
; counter 2 test |
; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
; |
; capture mode |
; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
counter: |
mov tcon, #000h ; disable t/c 0,1 |
mov t2con, #03h; timer 2 capture mode, |
mov th2, #000h ;load timer 2 |
mov tl2, #000h ; |
setb tr2 ;start timer 2; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
clr tr2 ;stop timer 2 |
mov b, #00h ; error 0 |
mov r3, #000h ; |
mov r4, #004h ; |
acall test2 ; |
|
mov tl2, #0fch ; load timer 2 |
setb tr2 ; start timer 2; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
clr tr2 ; stop timer 2 |
mov b, #01h ; error 1 |
mov r3, #001h ; |
mov r4, #001h ; |
acall test2 ; |
|
mov tl2, #0fch ; |
mov th2, #0ffh ; |
setb tr2 ;start timer 2 |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
clr tr2 ;stop timer 0 |
mov b, #02h ; error 2 |
mov r3, #000h ; |
mov r4, #002h ; |
acall test2 ; |
mov b, #03h ; error 3 |
jnb tf2, error4 ; |
clr tf2 ; |
|
mov p0, #09h; |
; |
; test exen2 |
; |
mov rcap2l, #43h |
mov rcap2h, #21h |
mov th2, #23h ; |
mov tl2, #45h ; |
clr p3.2 ; |
setb p3.2 ; |
mov a, #10h ; |
loop7: nop ; |
dec a ; |
jnz loop7 ; |
mov a, rcap2l ; |
mov psw, #00h ; |
mov b, #04h ;error 4 |
subb a, #43h ; |
jnz error4 ; |
mov a, rcap2h ; |
subb a, #21h ; |
jnz error4 ; |
|
mov b, #05h ;error 5 |
jb exf2, error4 ; |
clr exf2 ; |
|
setb exen2 ; |
clr p3.2 ; |
setb p3.2 ; |
mov a, #10h ; |
loop8: nop ; |
dec a ; |
jnz loop8 ; |
mov a, rcap2l ; |
mov psw, #00h ; |
mov b, #06h ;error 6 |
subb a, #45h ; |
jnz error4 ; |
mov a, rcap2h ; |
subb a, #23h ; |
jnz error4 ; |
|
mov b, #07h ;error 7 |
jnb exf2, error4; |
clr exf2 ; |
|
mov p0, #0ah; |
|
ajmp armc; |
|
error4: |
ljmp error; |
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
; |
; auto reload mode |
; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
armc: |
mov t2con, #02h ; t/c 2 in auto reload mode |
mov th2, #000h ;load timer 2 |
mov tl2, #000h ; |
mov rcap2l, #11h; |
mov rcap2h, #22h; |
setb tr2 ;start timer 2; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
clr tr2 ;stop timer 2 |
mov b, #08h ; error 8 |
mov r3, #000h ; |
mov r4, #004h ; |
acall test2 ; |
|
mov tl2, #0fch ; load timer 2 |
setb tr2 ; start timer 2 |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
clr tr2 ; stop timer 2 |
mov b, #09h ; error 9 |
mov r3, #001h ; |
mov r4, #001h ; |
acall test2 ; |
|
mov b, #0ah ; error a |
jb tf2, error4 ; |
clr tf2 ; |
|
|
mov tl2, #0fch ; |
mov th2, #0ffh ; |
setb tr2 ;start timer 2 |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
clr tr2 ;stop timer 0 |
mov b, #0bh ; error b |
mov r3, #022h ; |
mov r4, #013h ; |
acall test2 ; |
|
mov b, #0ch ; error c |
jnb tf2, error5 ; |
clr tf2 ; |
|
|
mov a, rcap2l ; |
mov psw, #00h ; |
mov b, #0f0h ;error f0 |
subb a, #11h ; |
jnz error5 ; |
mov a, rcap2h ; |
subb a, #22h ; |
jnz error5 ; |
|
mov p0, #0bh; |
|
|
; |
; test exen2 |
; |
mov rcap2l, #12h |
mov rcap2h, #34h |
mov tl2, #56h ; |
mov th2, #78h ; |
clr p3.2 ; |
setb p3.2 ; |
mov a, #10h ; |
loop9: nop ; |
dec a ; |
jnz loop9 ; |
|
mov b, #0dh ; error d |
mov r3, #078h ; |
mov r4, #056h ; |
acall test2 ; |
|
mov b, #0eh ; error e |
jb exf2, error5 ; |
clr exf2 ; |
|
setb exen2 ; |
clr p3.2 ; |
setb p3.2 ; |
mov a, #10h ; |
loop10: nop ; |
dec a ; |
jnz loop10 ; |
|
mov b, #0fh ; error f |
mov r3, #034h ; |
mov r4, #012h ; |
acall test2 ; |
|
mov b, #10h ;error 10 |
jnb exf2, error5; |
clr exf2 ; |
|
mov a, rcap2l ; |
mov psw, #00h ; |
mov b, #0f1h ;error f1 |
subb a, #12h ; |
jnz error5 ; |
mov a, rcap2h ; |
subb a, #34h ; |
jnz error5 ; |
|
mov p0, #0ch ; |
|
ajmp bratec; |
|
|
error5: |
ljmp error; |
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
; |
; baud rate generator |
; |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
bratec: |
mov t2con, #12h ; t/c 2 in baud rate generator mode |
mov th2, #000h ;load timer 2 |
mov tl2, #000h ; |
mov rcap2l, #11h; |
mov rcap2h, #22h; |
setb tr2 ;start timer 2; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
clr tr2 ;stop timer 2 |
mov b, #20h ; error 20 |
mov r3, #000h ; |
mov r4, #004h ; |
acall test2 ; |
|
mov tl2, #0fch ; load timer 2 |
setb tr2 ; start timer 2 |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
clr tr2 ; stop timer 2 |
mov b, #021h ; error 21 |
mov r3, #001h ; |
mov r4, #001h ; |
acall test2 ; |
|
mov b, #22h ; error 22 |
jb tf2, error5 ; |
clr tf2 ; |
|
|
mov tl2, #0fch ; |
mov th2, #0ffh ; |
setb tr2 ;start timer 2 |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
cpl p3.5; |
clr tr2 ;stop timer 0 |
mov b, #23h ; error 23 |
mov r3, #022h ; |
mov r4, #012h ; |
lcall test2 ; |
|
mov b, #24h ; error 24 |
jb tf2, error8 ; |
clr tf2 ; |
|
|
mov a, rcap2l ; |
mov psw, #00h ; |
mov b, #0f4h ;error f4 |
subb a, #11h ; |
jnz error8 ; |
mov a, rcap2h ; |
subb a, #22h ; |
jnz error8 ; |
|
mov p0, #0fh; |
|
|
; |
; test exen2 |
; |
mov tl2, #56h ; |
mov th2, #78h ; |
setb p3.2 ; |
clr p3.2 ; |
setb p3.2 ; |
mov a, #10h ; |
loop11: nop ; |
dec a ; |
jnz loop11 ; |
|
mov b, #25h ; error 25 |
mov r3, #078h ; |
mov r4, #056h ; |
lcall test2 ; |
|
mov b, #0eh ; error e |
jb exf2, error8 ; |
clr exf2 ; |
|
setb exen2 ; |
clr p3.2 ; |
setb p3.2 ; |
mov a, #10h ; |
loop12: nop ; |
dec a ; |
jnz loop12 ; |
|
mov b, #26h ; error 26 |
mov r3, #078h ; |
mov r4, #056h ; |
lcall test2 ; |
|
mov b, #27h ;error 27 |
jnb exf2, error8; |
clr exf2 ; |
|
mov p0, #10h ; |
|
ajmp finish ; |
|
error8: |
ljmp error; |
|
|
|
|
finish: |
nop; |
nop; |
ajmp finish; |
|
|
|
end |
|
|
|
|
/testall.asm
0,0 → 1,2473
; Program tests all instructions except: |
; MOVX(1-4) and RETI |
|
; Clear RAM |
mov r0,#128 |
ram_clr: |
dec r0 |
mov @r0,#0 |
mov a,r0 |
jnz ram_clr |
mov PSW,#0 |
|
;;;;;;;;;;;;;;;;; INST 1 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; acall addr11 |
mov a,#85 |
acall testret |
inc a |
jc fail1 |
subb a,#87 |
jz done1 |
fail1: |
mov P1,1 |
ljmp failed |
done1: |
|
;;;;;;;;;;;;;;;; INST 2 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; add a,Rn (2) -- test if ALU and flag setting works |
mov a,#10 |
mov r0,#117 |
mov r1,#10 |
mov r2,#127 |
mov r3,#128 |
mov r5,#245 |
mov r7,#250 |
|
mov a,#10 |
add a,r0 |
jc fail2 |
subb a,#127 |
jnz fail2 |
|
mov a,#10 |
add a,r2 |
jc fail2 |
subb a,#137 |
jnz fail2 |
|
mov a,#10 |
add a,r3 |
jc fail2 |
subb a,#138 |
jnz fail2 |
|
mov a,#10 |
add a,r5 |
jc fail2 |
subb a,#255 |
jnz fail2 |
|
mov a,#10 |
add a,r7 |
jnc fail2 |
clr c |
subb a,#4 |
jnz fail2 |
|
mov a,#117 |
add a,r1 |
jc fail2 |
subb a,#127 |
jnz fail2 |
|
mov a,#127 |
add a,r1 |
jc fail2 |
subb a,#137 |
jnz fail2 |
|
mov a,#128 |
add a,r1 |
jc fail2 |
subb a,#138 |
jnz fail2 |
|
mov a,#245 |
add a,r1 |
jc fail2 |
subb a,#255 |
jnz fail2 |
|
mov a,#250 |
add a,r1 |
jnc fail2 |
clr c |
subb a,#4 |
jnz fail2 |
|
ljmp done2 |
|
fail2: |
mov P1,#2 |
ljmp failed |
done2: |
|
;;;;;;;;;;;;;;;; INST 3 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; add a,direct (3) -- test if ALU and flag setting works |
|
mov 100,#117 |
mov a,#10 |
add a,100 |
jc fail3 |
subb a,#127 |
jnz fail3 |
|
mov 100,#127 |
mov a,#10 |
add a,100 |
jc fail3 |
subb a,#137 |
jnz fail3 |
|
mov 100,#128 |
mov a,#10 |
add a,100 |
jc fail3 |
subb a,#138 |
jnz fail3 |
|
mov 100,#245 |
mov a,#10 |
add a,100 |
jc fail3 |
subb a,#255 |
jnz fail3 |
|
mov 100,#250 |
mov a,#10 |
add a,100 |
jnc fail3 |
clr c |
subb a,#4 |
jnz fail3 |
|
mov a,#117 |
mov 100,#10 |
add a,100 |
jc fail3 |
subb a,#127 |
jnz fail3 |
|
mov a,#127 |
mov 100,#10 |
add a,100 |
jc fail3 |
subb a,#137 |
jnz fail3 |
|
mov a,#128 |
add a,100 |
jc fail3 |
subb a,#138 |
jnz fail3 |
|
mov a,#245 |
add a,100 |
jc fail3 |
subb a,#255 |
jnz fail3 |
|
mov a,#250 |
add a,100 |
jnc fail3 |
clr c |
subb a,#4 |
jnz fail3 |
|
ljmp done3 |
|
fail3: |
jz done3 |
mov P1,#3 |
ljmp failed |
done3: |
|
;;;;;;;;;;;;;;;; INST 4 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; add a,@Ri (4) -- indexed and simple CY |
mov a,#40 |
mov r0,#100 |
mov 100,#10 |
mov r1,#101 |
mov 101,#100 |
|
add a,@r0 |
jc fail4 |
subb a,#50 |
jnz fail4 |
|
mov a,#40 |
add a,@r1 |
jc fail4 |
subb a,#140 |
jnz fail4 |
|
mov a,#10 |
mov r1,#102 |
mov 102,#250 |
add a,@r1 |
jnc fail4 |
clr c |
subb a,#4 |
jnz fail4 |
ljmp done4 |
|
fail4: |
mov P1,#4 |
ljmp failed |
done4: |
|
;;;;;;;;;;;;;;;; INST 5 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; add a,#data (5) |
mov a,#10 |
|
add a,#117 |
jc fail5 |
subb a,#127 |
jnz fail5 |
|
mov a,#10 |
add a,#127 |
jc fail5 |
subb a,#137 |
jnz fail5 |
|
mov a,#10 |
add a,#128 |
jc fail5 |
subb a,#138 |
jnz fail5 |
|
mov a,#10 |
add a,#245 |
jc fail5 |
subb a,#255 |
jnz fail5 |
|
mov a,#10 |
add a,#250 |
jnc fail5 |
clr c |
subb a,#4 |
jnz fail5 |
|
mov a,#117 |
add a,#10 |
jc fail5 |
subb a,#127 |
jnz fail5 |
|
mov a,#127 |
add a,#10 |
jc fail5 |
subb a,#137 |
jnz fail5 |
|
mov a,#128 |
add a,#10 |
jc fail5 |
subb a,#138 |
jnz fail5 |
|
mov a,#245 |
add a,#10 |
jc fail5 |
subb a,#255 |
jnz fail5 |
|
mov a,#250 |
add a,#10 |
jnc fail5 |
clr c |
subb a,#4 |
jnz fail5 |
|
ljmp done5 |
|
fail5: |
jz done5 |
mov P1,#5 |
ljmp failed |
mov P1,#5 |
ljmp failed |
done5: |
|
;;;;;;;;;;;;;;;; INST 6 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; addc a,Rn (6) |
mov a,#10 |
mov r0,#10 |
|
clr c |
addc a,r0 |
jc fail6 |
subb a,#20 |
jnz fail6 |
|
mov a,#10 |
setb c |
addc a,r0 |
jc fail6 |
subb a,#21 |
jnz fail6 |
|
mov a,#100 |
clr c |
addc a,r0 |
jc fail6 |
subb a,#110 |
jnz fail6 |
|
mov a,#100 |
setb c |
addc a,r0 |
jc fail6 |
subb a,#111 |
jnz fail6 |
|
mov a,#250 |
clr c |
addc a,r0 |
jnc fail6 |
clr c |
subb a,#4 |
jnz fail6 |
|
mov a,#250 |
setb c |
addc a,r0 |
jnc fail6 |
clr c |
subb a,#5 |
jnz fail6 |
|
ljmp done6 |
fail6: |
mov P1,#6 |
ljmp failed |
done6: |
|
;;;;;;;;;;;;;;;; INST 7 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; addc a,direct (7) |
mov a,#10 |
mov 100,#10 |
|
clr c |
addc a,100 |
jc fail7 |
subb a,#20 |
jnz fail7 |
|
mov a,#10 |
setb c |
addc a,100 |
jc fail7 |
subb a,#21 |
jnz fail7 |
|
mov a,#100 |
clr c |
addc a,100 |
jc fail7 |
subb a,#110 |
jnz fail7 |
|
mov a,#100 |
setb c |
addc a,100 |
jc fail7 |
subb a,#111 |
jnz fail7 |
|
mov a,#250 |
clr c |
addc a,100 |
jnc fail7 |
clr c |
subb a,#4 |
jnz fail7 |
|
mov a,#250 |
setb c |
addc a,100 |
jnc fail7 |
clr c |
subb a,#5 |
jnz fail7 |
|
ljmp done7 |
fail7: |
mov P1,#7 |
ljmp failed |
done7: |
|
;;;;;;;;;;;;;;;; INST 8 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; addc a,@Ri (8) |
mov a,#10 |
mov r0,#100 |
mov 100,#11 |
|
clr c |
addc a,@r0 |
jc fail8 |
subb a,#21 |
jnz fail8 |
|
mov a,#10 |
setb c |
addc a,@r0 |
jc fail8 |
subb a,#22 |
jnz fail8 |
|
mov a,#100 |
clr c |
addc a,@r0 |
jc fail8 |
subb a,#111 |
jnz fail8 |
|
mov a,#100 |
setb c |
addc a,@r0 |
jc fail8 |
subb a,#112 |
jnz fail8 |
|
mov a,#250 |
clr c |
addc a,@r0 |
jnc fail8 |
clr c |
subb a,#5 |
jnz fail8 |
|
mov a,#250 |
setb c |
addc a,@r0 |
jnc fail8 |
clr c |
subb a,#6 |
jnz fail8 |
|
ljmp done8 |
fail8: |
mov P1,#8 |
ljmp failed |
done8: |
|
|
;;;;;;;;;;;;;;;; INST 9 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; addc a,#data (9) |
mov a,#14 |
|
clr c |
addc a,#14 |
jc fail9 |
subb a,#28 |
jnz fail9 |
|
mov a,#14 |
setb c |
addc a,#15 |
jc fail9 |
subb a,#30 |
jnz fail9 |
|
mov a,#110 |
clr c |
addc a,#20 |
jc fail9 |
subb a,#130 |
jnz fail9 |
|
mov a,#110 |
setb c |
addc a,#20 |
jc fail9 |
subb a,#131 |
jnz fail9 |
|
mov a,#250 |
clr c |
addc a,#11 |
jnc fail9 |
clr c |
subb a,#5 |
jnz fail9 |
|
mov a,#250 |
setb c |
addc a,#11 |
jnc fail9 |
clr c |
subb a,#6 |
jnz fail9 |
|
ljmp done9 |
fail9: |
mov P1,#9 |
ljmp failed |
done9: |
|
;;;;;;;;;;;;;;;; INST 10 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; ajmp (10) |
setb c |
ajmp done10 |
fail10: |
mov P1,#10 |
ljmp failed |
done10:clr c |
jc fail10 |
|
;;;;;;;;;;;;;;;; INST 11 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; anl a,Rn (11) |
mov r0,#250 |
clr c |
clr a |
mov a,#171 |
anl a,r0 |
jc fail11 |
jz fail11 |
subb a,#170 |
jnz fail11 |
|
mov r0,#190 |
mov a,#84 |
inc a |
setb c |
anl a,r0 |
jz fail11 |
jnc fail11 |
clr c |
subb a,#20 |
jnz fail11 |
ljmp done11 |
|
fail11: |
mov P1,#11 |
ljmp failed |
done11: |
|
;;;;;;;;;;;;;;;; INST 12 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; anl a,direct (12) |
mov 127,#250 |
clr c |
clr a |
mov a,#171 |
anl a,127 |
jc fail12 |
jz fail12 |
subb a,#170 |
jnz fail12 |
|
mov 127,#190 |
mov a,#84 |
inc a |
setb c |
anl a,127 |
jz fail12 |
jnc fail12 |
clr c |
subb a,#20 |
jnz fail12 |
ljmp done12 |
|
fail12: |
mov P1,#12 |
ljmp failed |
done12: |
|
;;;;;;;;;;;;;;;; INST 13 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; anl a,@Ri (13) |
mov r0,#127 |
clr c |
clr a |
mov 127,#171 |
mov a,#250 |
anl a,@r0 |
jc fail13 |
jz fail13 |
subb a,#170 |
jnz fail13 |
|
mov 127,#190 |
mov a,#84 |
inc a |
setb c |
anl a,@r0 |
jz fail13 |
jnc fail13 |
clr c |
subb a,#20 |
jnz fail13 |
ljmp done13 |
|
fail13: |
anl a,@r0 |
jz done13 |
mov P1,#13 |
ljmp failed |
done13: |
|
;;;;;;;;;;;;;;;; INST 14 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; anl a,#data (14) |
clr c |
clr a |
mov a,#250 |
anl a,#171 |
jc fail14 |
jz fail14 |
subb a,#170 |
jnz fail14 |
|
mov a,#190 |
mov a,#84 |
inc a |
setb c |
anl a,@r0 |
jz fail14 |
jnc fail14 |
clr c |
subb a,#20 |
jnz fail14 |
ljmp done14 |
|
fail14: |
subb a,#255 |
jz done14 |
mov P1,#14 |
ljmp failed |
done14: |
|
;;;;;;;;;;;;;;;; INST 15 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; anl direct,a (15) |
mov 127,#250 |
clr c |
clr a |
mov a,#171 |
anl 127,a |
jc fail15 |
mov a,127 |
jz fail15 |
subb a,#170 |
jnz fail15 |
|
mov 127,#190 |
mov a,#84 |
inc a |
setb c |
anl 127,a |
mov a,127 |
jz fail15 |
jnc fail15 |
clr c |
subb a,#20 |
jnz fail15 |
ljmp done15 |
|
fail15: |
mov P1,#15 |
ljmp failed |
done15: |
|
;;;;;;;;;;;;;;;; INST 16 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; anl direct,#data (16) |
mov 127,#250 |
clr c |
clr a |
anl 127,#171 |
jc fail16 |
mov a,127 |
jz fail16 |
subb a,#170 |
jnz fail16 |
|
mov 127,#190 |
setb c |
anl 127,#85 |
mov a,127 |
jz fail16 |
jnc fail16 |
clr c |
subb a,#20 |
jnz fail16 |
ljmp done16 |
|
fail16: |
mov P1,#16 |
ljmp failed |
done16: |
|
;;;;;;;;;;;;;;;; INST 17 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; anl c,bit (17) |
mov a,#128 |
clr c |
anl c,acc.7 |
jc fail17 |
mov a,#128 |
setb c |
anl c,acc.7 |
jnc fail17 |
ljmp done17 |
|
fail17: |
mov P1,#17 |
ljmp failed |
done17: |
|
;;;;;;;;;;;;;;;; INST 18 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; anl c,/bit (18) |
mov a,#128 |
clr c |
anl c,/acc.7 |
jc fail18 |
mov a,#128 |
setb c |
anl c,/acc.7 |
jc fail18 |
mov a,#128 |
setb c |
anl c,/acc.5 |
jnc fail18 |
ljmp done18 |
|
fail18: |
mov P1,#18 |
ljmp failed |
done18: |
|
;;;;;;;;;;;;;;;; INST 19 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; cjne a,direct,rel (19) |
mov a,#228 |
mov 100,#228 |
cjne a,100,fail19 |
jc fail19 |
|
mov a,#227 |
cjne a,100,CHECK_C_19 |
ljmp fail19 |
CHECK_C_19: ;Checks that carry was set |
jnc fail19 |
|
mov a,#229 |
cjne a,100,CHECK_NC_19 |
ljmp fail19 |
|
CHECK_NC_19: ;Checks that carry was not set |
jc fail19 |
ljmp done19 |
|
fail19: |
mov P1,#19 |
ljmp failed |
done19: |
|
;;;;;;;;;;;;;;;; INST 20 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; cjne a,#data,rel (20) |
mov a,#100 |
cjne a,#100,fail20 |
jc fail20 |
|
mov a,#99 |
cjne a,#100,CHECK_C_20 |
ljmp fail20 |
CHECK_C_20: ;Checks that carry was set |
jnc fail20 |
|
mov a,#101 |
cjne a,#100,CHECK_NC_20 |
ljmp fail20 |
|
CHECK_NC_20: ;Checks that carry was not set |
jc fail20 |
ljmp done20 |
|
fail20: |
mov P1,#20 |
ljmp failed |
done20: |
|
;;;;;;;;;;;;;;;; INST 21 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; cjne Rn,#data,rel (21) |
mov r1,#100 |
cjne r1,#100,fail21 |
jc fail21 |
|
mov r1,#99 |
cjne r1,#100,CHECK_C_21 |
ljmp fail21 |
CHECK_C_21: ;Checks that carry was set |
jnc fail21 |
|
mov r1,#101 |
cjne r1,#100,CHECK_NC_21 |
ljmp fail21 |
|
CHECK_NC_21: ;Checks that carry was not set |
jc fail21 |
ljmp done21 |
|
fail21: |
mov P1,#21 |
ljmp failed |
done21: |
|
;;;;;;;;;;;;;;;; INST 22 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; cjne @Ri,#data,rel (22) |
mov 125,#99 |
mov 126,#100 |
mov 127,#101 |
mov r1,#125 |
cjne @r1,#100, CHECK_EQ_22 |
ljmp fail22 |
|
CHECK_EQ_22: |
jnc fail22 |
mov r1,#126 |
cjne @r1,#100,fail22 |
jc fail22 |
|
mov r1,#127 |
cjne @r1,#100,CHECK_NC_22 |
ljmp fail22 |
|
CHECK_NC_22: ;Checks that carry was not set |
jc fail22 |
ljmp done22 |
|
fail22: |
mov P1,#22 |
ljmp failed |
done22: |
|
;;;;;;;;;;;;;;;; INST 23 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; clr a (23) |
mov a,#86 |
clr a |
jnz fail23 |
mov a,#86 |
clr a |
mov r0,a |
mov a,r0 |
jnz fail23 |
ljmp done23 |
|
fail23: |
mov P1,#23 |
ljmp failed |
done23: |
|
;;;;;;;;;;;;;;;; INST 24 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; clr c (24) |
setb c |
clr c |
jc fail24 |
clr c |
jc fail24 |
ljmp done24 |
|
fail24: |
mov P1,#24 |
ljmp failed |
done24: |
|
;;;;;;;;;;;;;;;; INST 25 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; clr bit (25) |
mov a, #02h |
jz fail25 |
clr acc.1 |
jnz fail25 |
|
setb 7 |
mov c, 7 |
jc clr1; |
ljmp fail25; |
clr1: |
clr 7 |
mov c, 7 |
jc fail25 |
clr 7 |
mov c, 7 |
jc fail25 |
ljmp done25 |
|
fail25: |
mov P1,#25 |
ljmp failed |
done25: |
|
;;;;;;;;;;;;;;;; INST 26 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; cpl a (26) |
mov a,#255 |
cpl a |
jnz fail26 |
|
mov a,#85 |
cpl a |
clr c |
subb a,#170 |
jnz fail26 |
ljmp done26 |
|
fail26: |
mov P1,#26 |
ljmp failed |
done26: |
|
;;;;;;;;;;;;;;;; INST 27 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; cpl c (27) |
setb c |
cpl c |
jc fail27 |
clr c |
cpl c |
jnc fail27 |
ljmp done27 |
|
fail27: |
mov P1,#27 |
ljmp failed |
done27: |
|
;;;;;;;;;;;;;;;; INST 28 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; cpl bit (28) |
clr a |
setb acc.5 |
cpl acc.5 |
jnz fail28 |
clr acc.5 |
cpl acc.5 |
jz fail28 |
ljmp done28 |
|
fail28: |
mov P1,#28 |
ljmp failed |
done28: |
|
;;;;;;;;;;;;;;;; INST 29 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; DA a (29) |
mov a,#80h |
add a,#99h |
da a |
subb a,#78h ;Will clr acc if c set |
jz tst2 |
|
fail_da: |
mov P1,#29 |
ljmp failed |
tst2: |
mov psw, #00h |
mov r3, #67h |
mov a, #56h |
addc a, r3 |
da a |
subb a, #24h |
jnz fail_da |
|
mov psw, #00h |
mov a, #30h |
addc a, #99h |
da a |
subb a, #28h |
jnz fail_da |
|
|
done29: |
|
|
;;;;;;;;;;;;;;;;; INST 30 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; dec a (30) |
mov a,#10 |
setb c |
dec a |
jnc fail30 |
clr c |
subb a,#9 |
jnz fail30 |
|
mov a,#0 |
clr c |
dec a |
jc fail30 |
subb a,#255 |
jnz fail30 |
ljmp done30 |
|
fail30: |
mov P1,#30 |
ljmp failed |
done30: |
|
;;;;;;;;;;;;;;;;; INST 31 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; dec Rn (31) |
mov r2,#10 |
setb c |
dec r2 |
jnc fail31 |
clr c |
mov a,r2 |
subb a,#9 |
jnz fail31 |
|
mov r2,#0 |
clr c |
dec r2 |
jc fail31 |
mov a,r2 |
subb a,#255 |
jnz fail31 |
ljmp done31 |
|
fail31: |
mov P1,#31 |
ljmp failed |
done31: |
|
;;;;;;;;;;;;;;;;; INST 32 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; dec direct (32) |
mov 127,#10 |
setb c |
dec 127 |
jnc fail32 |
clr c |
mov a,127 |
subb a,#9 |
jnz fail32 |
|
mov 127,#0 |
clr c |
dec 127 |
jc fail32 |
mov a,127 |
subb a,#255 |
jnz fail32 |
ljmp done32 |
|
fail32: |
mov P1,#32 |
ljmp failed |
done32: |
|
;;;;;;;;;;;;;;;;; INST 33 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; dec @Ri (33) |
mov r0,#127 |
mov @r0,#10 |
setb c |
dec @r0 |
jnc fail33 |
clr c |
mov a,@r0 |
subb a,#9 |
jnz fail33 |
|
mov @r0,#0 |
clr c |
dec @r0 |
jc fail33 |
mov a,@r0 |
subb a,#255 |
jnz fail33 |
ljmp done33 |
|
fail33: |
mov P1,#33 |
ljmp failed |
done33: |
|
|
;;;;;;;;;;;;;;;;; INST 34 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; div AB (34) |
mov a,#251 |
mov B,#18 |
div AB |
jc fail34 |
mov c,OV |
jc fail34 |
subb a,#13 |
jnz fail34 |
mov a,B |
subb a,#17 |
jnz fail34 |
|
mov a,#180 |
mov B,#15 |
div AB |
jc fail34 |
mov c,OV |
jc fail34 |
subb a,#12 |
jnz fail34 |
mov a,B |
jnz fail34 |
|
mov a,#0 |
mov B,#15 |
div AB |
jc fail34 |
mov c,OV |
jc fail34 |
jnz fail34 |
mov a,B |
subb a,#15 |
|
mov a,#0 |
mov B,#0 |
div AB |
jc fail34 |
mov c,OV |
jnc fail34 |
|
mov a,#170 |
mov B,#0 |
div AB |
jc fail34 |
mov c,OV |
jnc fail34 |
ljmp done34 |
fail34: |
mov P1,#34 |
ljmp failed |
done34: |
|
|
;;;;;;;;;;;;;;;;; INST 35 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; djnz Rn,rel (35) |
mov r0,#10 |
djnz r0,JUMP_35 ;Should jump |
mov P1,#35 |
ljmp failed |
JUMP_35: |
mov r0,#0 |
djnz r0,JUMP_35B ;Should jump |
mov P1,#35 |
ljmp failed |
JUMP_35B: |
mov r0,#1 |
djnz r0,NOT_JUMP_35 ;Should not jump |
ajmp done35 |
NOT_JUMP_35: |
mov P1,#35 |
ljmp failed |
done35: |
|
;;;;;;;;;;;;;;;;; INST 36 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; djnz direct,rel (36) |
mov 127,#10 |
djnz 127,JUMP_36 ;Should jump |
mov P1,#36 |
ljmp failed |
JUMP_36: |
mov 127,#0 |
djnz 127,JUMP_36B ;Should jump |
mov P1,#36 |
ljmp failed |
JUMP_36B: |
mov 127,#1 |
djnz 127,NOT_JUMP_36 ;Should not jump |
ajmp done36 |
NOT_JUMP_36: |
mov P1,#36 |
ljmp failed |
|
done86: |
|
;;;;;;;;;;;;;;;; INST 88 ;;;;;;;;;;;;;;;;;;;;;;; |
|
ljmp done88 |
clr a |
testret: ;; subroutine called from acall and lcall |
inc a |
ret |
clr a |
|
done36: |
|
;;;;;;;;;;;;;;;;; INST 37 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; inc a (37) |
mov a,#10 |
clr c |
inc a |
jc fail37 |
subb a,#11 |
jnz fail37 |
|
mov a,#255 |
setb c |
inc a |
jnc fail37 |
jnz fail37 |
ljmp done37 |
|
fail37: |
mov P1,#37 |
ljmp failed |
done37: |
|
;;;;;;;;;;;;;;;;; INST 38 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; inc Rn (38) |
mov r3,#10 |
clr c |
inc r3 |
jc fail38 |
mov a,r3 |
subb a,#11 |
jnz fail38 |
|
mov r4,#255 |
setb c |
inc r4 |
jnc fail38 |
mov a,r4 |
jnz fail38 |
ljmp done38 |
|
fail38: |
mov P1,#38 |
ljmp failed |
done38: |
|
;;;;;;;;;;;;;;;;; INST 39 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; inc direct (39) |
mov 127,#10 |
clr c |
inc 127 |
jc fail39 |
mov a,127 |
subb a,#11 |
jnz fail39 |
|
mov 127,#255 |
setb c |
inc 127 |
jnc fail39 |
mov a,127 |
jnz fail39 |
ljmp done39 |
|
fail39: |
mov P1,#39 |
ljmp failed |
done39: |
|
;;;;;;;;;;;;;;;;; INST 40 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; inc @Ri (40) |
mov r1,#126 |
mov @r1,#10 |
clr c |
inc @r1 |
jc fail40 |
mov a,@r1 |
subb a,#11 |
jnz fail40 |
|
mov @r1,#255 |
setb c |
inc @r1 |
jnc fail40 |
mov a,@r1 |
jnz fail40 |
ljmp done40 |
|
fail40: |
mov P1,#40 |
ljmp failed |
done40: |
|
|
;;;;;;;;;;;;;;;;; INST 41 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; inc dptr (41) |
clr c; |
mov dptr,#12ffh |
inc dptr |
mov a,DPH |
subb a,#13h |
jz DPH_OK_41 |
mov P1,#41 |
ljmp failed |
DPH_OK_41: |
mov a,DPL |
jz done41 |
mov P1,#41 |
ljmp failed |
done41: |
|
|
;;;;;;;;;;;;;;;;; INST 42 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; JB bit,rel (42) |
mov a,#16 |
jb acc.3,fail42 |
jb acc.4,done42 |
|
fail42: |
mov P1,#42 |
ljmp failed |
done42: |
|
|
;;;;;;;;;;;;;;;;; INST 43 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; jbc bit,rel (43) |
mov a,#8 |
jbc acc.3,CHECK_BIT_43 |
mov P1,#43 |
ljmp failed |
CHECK_BIT_43: |
jz done43 |
mov P1,#43 |
ljmp failed |
done43: |
|
;;;;;;;;;;;;;;;;; INST 44 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; jc rel (44) |
clr c |
jc fail44 |
cpl c |
jc done44 |
fail44: |
mov P1,#44 |
ljmp failed |
done44: |
|
;;;;;;;;;;;;;;;;; INST 45 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; jmp @a+dptr (45) |
mov a,#4 |
mov dptr,#JMP_TBL |
jmp @a+dptr |
JMP_TBL: |
ajmp JUMP_0 |
ajmp JUMP_2 |
ajmp JUMP_4 |
ajmp JUMP_6 |
JUMP_0: |
JUMP_2: |
JUMP_6: |
mov P1,#43 |
ljmp failed |
JUMP_4: |
|
;;;;;;;;;;;;;;;;; INST 46 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; jnb bit,rel (46) |
mov a,#16 |
jnb acc.4,fail42 |
jnb acc.5,done46 |
fail46: |
mov P1,#46 |
ljmp failed |
done46: |
|
;;;;;;;;;;;;;;;;; INST 47 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; jnc rel (47) |
setb c |
jnc fail47 |
cpl c |
jnc done47 |
fail47: |
mov P1,#47 |
ljmp failed |
|
|
|
done47: |
|
;;;;;;;;;;;;;;;;; INST 48 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; jnz rel (48) |
mov r1,#0 |
mov a,0 |
inc r1 |
jnz fail48 |
|
mov a,#1 |
dec r1 |
jnz done48 |
fail48: |
mov P1,#48 |
ljmp failed |
done48: |
|
;;;;;;;;;;;;;;;;; INST 49 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; jz rel (49) |
mov r1,1 |
mov a,#2 |
dec r1 |
jz fail49 |
|
mov a,#0 |
inc r1 |
jz done49 |
fail49: |
mov P1,#49 |
ljmp failed |
done49: |
|
;;;;;;;;;;;;;;;; INST 50 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; lcall addr11 |
mov a,#85 |
lcall testret |
inc a |
jc fail50 |
subb a,#87 |
jz done50 |
fail50: |
mov P1,1 |
ljmp failed |
done50: |
;;;;;;;;;;;;;;;;; INST 51 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; ljmp (51) |
ljmp done51 |
mov P1,#51 |
ljmp failed |
done51: |
|
;;;;;;;;;;;;;;;;; INST 52 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; mov a,Rn (52) |
mov r0,#10 |
clr a |
setb c |
mov a,r0 |
jnc fail52 |
clr c |
subb a,#10 |
jz done52 |
fail52: |
mov P1,#52 |
ljmp failed |
done52: |
|
|
;;;;;;;;;;;;;;;;; INST 53 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; mov a,direct (53) |
mov 127,#10 |
clr a |
setb c |
mov a,127 |
jnc fail53 |
clr c |
subb a,#10 |
jz done53 |
fail53: |
mov P1,#53 |
ljmp failed |
done53: |
|
;;;;;;;;;;;;;;;;; INST 54 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; mov a,@Ri (54) |
mov r0,#127 |
mov 127,#10 |
clr a |
setb c |
mov a,@r0 |
jnc fail54 |
clr c |
subb a,#10 |
jz done54 |
fail54: |
mov P1,#54 |
ljmp failed |
done54: |
|
|
;;;;;;;;;;;;;;;;; INST 55 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; mov a,#data (55) |
clr a |
setb c |
mov a,#10 |
jnc fail55 |
clr c |
subb a,#10 |
jz done55 |
fail55: |
mov P1,#55 |
ljmp failed |
done55: |
|
;;;;;;;;;;;;;;;;; INST 56 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; mov Rn,a (56) |
mov a,#10 |
mov r0,#0 |
setb c |
mov r0,a |
jnc fail56 |
clr a |
mov a,r0 |
clr c |
subb a,#10 |
jz done56 |
fail56: |
mov P1,#56 |
ljmp failed |
done56: |
|
;;;;;;;;;;;;;;;;; INST 57 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; mov Rn,direct (57) |
mov 127,#10 |
mov r0,#0 |
setb c |
mov r0,127 |
jnc fail57 |
mov a,r0 |
clr c |
subb a,#10 |
jz done57 |
fail57: |
mov P1,#57 |
ljmp failed |
done57: |
|
;;;;;;;;;;;;;;;;; INST 58 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; mov Rn,#data (58) |
mov r0,#0 |
clr a |
setb c |
mov r0,#10 |
jnc fail58 |
mov a,r0 |
clr c |
subb a,#10 |
jz done58 |
fail58: |
mov P1,#58 |
ljmp failed |
done58: |
|
;;;;;;;;;;;;;;;;; INST 59 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; mov direct,a (59) |
mov a,#10 |
clr 127 |
setb c |
mov 127,a |
jnc fail59 |
clr a |
mov a,127 |
clr c |
subb a,#10 |
jz done59 |
fail59: |
mov P1,#59 |
ljmp failed |
done59: |
|
;;;;;;;;;;;;;;;;; INST 60 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; mov direct,Rn (60) |
mov r0,#10 |
clr 127 |
setb c |
clr a |
mov 127,r0 |
jnz fail60 |
jnc fail60 |
mov a,127 |
clr c |
subb a,#10 |
jz done60 |
fail60: |
mov P1,#60 |
ljmp failed |
done60: |
|
;;;;;;;;;;;;;;;;; INST 61 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; mov direct,direct (61) |
mov 127,#10 |
clr 126 |
clr a |
setb c |
mov 126,127 |
jnz fail61 |
jnc fail61 |
mov a,126 |
clr c |
subb a,#10 |
jz done61 |
fail61: |
mov P1,#61 |
ljmp failed |
done61: |
|
;;;;;;;;;;;;;;;;; INST 62 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; mov direct,@Ri (62) |
mov 127,#10 |
mov r0,#127 |
clr 126 |
clr a |
setb c |
mov 126,@r0 |
jnz fail62 |
jnc fail62 |
mov a,126 |
clr c |
subb a,#10 |
jz done62 |
fail62: |
mov P1,#62 |
ljmp failed |
done62: |
|
;;;;;;;;;;;;;;;;; INST 63 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; mov direct,#data (63) |
clr 127 |
clr a |
setb c |
mov 127,#10 |
jnz fail63 |
jnc fail63 |
mov a,127 |
clr c |
subb a,#10 |
jz done63 |
fail63: |
mov P1,#63 |
ljmp failed |
done63: |
|
;;;;;;;;;;;;;;;;; INST 64 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; mov @Ri,a (64) |
mov a,#10 |
mov r0,#127 |
mov @r0,#0 |
setb c |
mov @r0,a |
jnc fail64 |
clr a |
mov a,127 |
clr c |
subb a,#10 |
jz done64 |
fail64: |
mov P1,#64 |
ljmp failed |
done64: |
|
;;;;;;;;;;;;;;;;; INST 65 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; mov @Ri,direct (65) |
mov 127,#10 |
mov r0,#126 |
mov @r0,#0 |
clr a |
setb c |
mov @r0,127 |
jnc fail65 |
jnz fail65 |
mov a,126 |
clr c |
subb a,#10 |
jz done65 |
fail65: |
mov P1,#65 |
ljmp failed |
done65: |
|
;;;;;;;;;;;;;;;;; INST 66 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; mov @Ri,#data (66) |
mov r0,#127 |
mov @r0,#0 |
clr a |
setb c |
mov @r0,#10 |
jnz fail66 |
jnc fail66 |
mov a,127 |
clr c |
subb a,#10 |
jz done66 |
fail66: |
mov P1,#66 |
ljmp failed |
done66: |
|
;;;;;;;;;;;;;;;;; INST 67 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; mov c,bit (67) |
mov a,#1 |
clr c |
mov c,acc.0 |
jnc fail67 |
setb c |
mov c,acc.1 |
jnc done67 |
fail67: |
mov P1,#67 |
ljmp failed |
done67: |
|
;;;;;;;;;;;;;;;;; INST 68 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; mov bit,c (68) |
setb c |
mov acc.0,c |
cpl c |
subb a,#1 |
jz done68 |
mov P1,#68 |
ljmp failed |
done68: |
|
;;;;;;;;;;;;;;;;; INST 69 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; mov dptr,#data (69) |
mov dptr,#1234h |
mov a,DPH |
subb a,#12h |
jnz fail69 |
mov a,DPL |
subb a,#34h |
jz done69 |
fail69: |
mov P1,#69 |
ljmp failed |
done69: |
|
|
;;;;;;;;;;;;;;;;; INST 70 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; movc a,@a+dptr (70) |
clr a |
mov dptr,#DB_TBL |
movc a,@a+dptr |
subb a,#66h |
jnz fail70 |
mov a,#1 |
movc a,@a+dptr |
subb a,#77h |
jz done70 |
jnz fail70 |
DB_TBL: |
db 66h |
db 77h |
fail70: |
mov P1,#70 |
ljmp failed |
done70: |
|
|
;;;;;;;;;;;;;;;;; INST 71 ;;;;;;;;;;;;;;;;;;;;;; |
|
;; movc a,@a+PC (71) |
mov a,#13 |
movc a,@a+pc |
subb a,#66h |
jnz fail71 |
mov a,#7 |
movc a,@a+pc |
subb a,#77h |
jz done71 |
jnz fail71 |
db 66h |
db 77h |
fail71: |
mov P1,#71 |
ljmp failed |
done71: |
|
|
;;;;;;;;;;;;;;;; INST 76 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; mul AB (76) |
mov a,#80 |
mov B,#160 |
mul AB ; = 3200h |
jc fail76 |
jnz fail76 |
mov c, ov |
jnc fail76 |
mov a,B |
clr c |
subb a,#32h |
jnz fail76 |
|
mov a,#111 |
mov B,#87 |
mul AB ; = 25b9h |
jc fail76 |
mov c, ov |
jnc fail76 |
|
clr c |
subb a,#0b9h |
jnz fail76 |
mov a,B |
subb a,#25h |
jnz fail76 |
|
mov a,#11 |
mov B,#17 |
mul AB ; = 00BBh |
jc fail76 |
mov c, ov |
jc fail76 |
clr c |
subb a,#0bbh |
jnz fail76 |
mov a,B |
jnz fail76 |
ljmp done76 |
|
fail76: |
mov P1,#76 |
ljmp failed |
done76: |
|
;;;;;;;;;;;;;;;; INST 77 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; nop |
mov a,#85 |
setb c |
nop |
jnc fail77 |
subb a,#84 |
jnz fail77 |
|
mov a,#123 |
clr c |
nop |
jc fail77 |
subb a,#123 |
jz done77 |
fail77: |
mov P1,#77 |
ljmp failed |
done77: |
|
|
;;;;;;;;;;;;;;;; INST 78 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; orl a,Rn (78) |
mov a,#90h |
mov r0,#09h |
setb c |
orl a,r0 |
jnc fail78 |
clr c |
subb a,#99h |
jnz fail78 |
|
mov a,#48h |
mov r0,#19h |
clr c |
orl a,r0 |
jc fail78 |
subb a,#59h |
jz done78 |
fail78: |
mov P1,#78 |
ljmp failed |
done78: |
|
;;;;;;;;;;;;;;;; INST 79 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; orl a,direct (79) |
mov a,#90h |
mov 127,#09h |
setb c |
orl a,127 |
jnc fail79 |
clr c |
subb a,#99h |
jnz fail79 |
|
mov a,#48h |
mov 127,#19h |
clr c |
orl a,127 |
jc fail79 |
subb a,#59h |
jz done79 |
fail79: |
mov P1,#79 |
ljmp failed |
done79: |
|
;;;;;;;;;;;;;;;; INST 80 ;;;;;;;;;;;;;;;;;;;;;;; |
;; orl a,@Ri (80) |
mov a,#90h |
mov r1,#127 |
mov @r1,#09h |
setb c |
orl a,@r1 |
jnc fail80 |
clr c |
subb a,#99h |
jnz fail80 |
|
mov a,#48h |
mov @r1,#19h |
clr c |
orl a,@r1 |
jc fail80 |
subb a,#59h |
jz done80 |
fail80: |
mov P1,#80 |
ljmp failed |
done80: |
|
;;;;;;;;;;;;;;;; INST 81 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; orl a,#data (81) |
mov a,#90h |
setb c |
orl a,#09h |
jnc fail81 |
clr c |
subb a,#99h |
jnz fail81 |
|
mov a,#48h |
clr c |
orl a,#19h |
jc fail81 |
subb a,#59h |
jz done81 |
fail81: |
mov P1,#81 |
ljmp failed |
done81: |
|
;;;;;;;;;;;;;;;; INST 82 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; orl direct,a (82) |
mov a,#90h |
mov 127,#09h |
setb c |
orl 127,a |
jnc fail82 |
clr c |
subb a,#90h |
jnz fail82 |
mov a,127 |
clr c |
subb a,#99h |
jnz fail82 |
|
mov a,#48h |
mov 127,#19h |
clr c |
orl 127,a |
jc fail82 |
subb a,#48h |
jnz fail82 |
mov a,127 |
clr c |
subb a,#59h |
jz done82 |
fail82: |
mov P1,#82 |
ljmp failed |
done82: |
|
;;;;;;;;;;;;;;;; INST 83 ;;;;;;;;;;;;;;;;;;;;;;; |
;; orl direct,#data (83) |
mov a,#91h |
mov 127,#09h |
setb c |
orl 127,#90h |
jnc fail83 |
clr c |
subb a,#91h |
jnz fail83 |
mov a,127 |
clr c |
subb a,#99h |
jnz fail83 |
|
mov a,#49h |
mov 127,#19h |
clr c |
orl 127,#48h |
jc fail83 |
subb a,#49h |
jnz fail83 |
mov a,127 |
clr c |
subb a,#59h |
jz done83 |
fail83: |
mov P1,#83 |
ljmp failed |
done83: |
|
;;;;;;;;;;;;;;;; INST 84 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; orl c,bit (84) |
mov a,#1 |
orl c,acc.1 |
jc fail84 |
orl c,acc.0 |
jnc fail84 |
orl c,acc.1 |
jc done84 |
fail84: |
mov P1,#84 |
ljmp failed |
done84: |
|
;;;;;;;;;;;;;;;; INST 85 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; orl c,/bit (85) |
mov a,#1 |
clr c |
orl c,/acc.0 |
jc fail85 |
orl c,/acc.1 |
jnc fail85 |
setb c |
orl c,/acc.0 |
jc done85 |
fail85: |
mov P1,#85 |
ljmp failed |
done85: |
|
;;;;;;;;;;;;;;;; INST 86,87 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; push direct (87) |
clr c |
mov dptr,#0123h |
mov 127,#8 |
push DPL |
push DPH |
push 127 |
mov a,8 |
subb a,#23h |
jnz fail87 |
mov a,9 |
subb a,#1 |
jnz fail87 |
mov a,10 |
subb a,#8 |
jz done87 |
fail87: |
mov P1,#87 |
ljmp failed |
done87: |
|
;; pop direct (86) |
pop SP |
pop 100 |
mov a,100 |
subb a,#23h |
jz done88 |
mov P1,#86 |
ljmp failed |
|
done88: |
|
;;;;;;;;;;;;;;;; INST 90 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; rl a (90) |
mov a,#129 |
rl a |
subb a,#3 |
jz done90 |
mov P1,#90 |
ljmp failed |
done90: |
|
;;;;;;;;;;;;;;;; INST 91 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; rlc a (91) |
setb c |
mov a,#129 |
rlc a |
subb a,#2 ;a(3)-c(1)-1 |
jnz fail91 |
clr c |
mov a,#129 |
rlc a |
subb a,#1 ;a(2)-c(1)-1 |
jz done91 |
fail91: |
mov P1,#91 |
ljmp failed |
done91: |
|
;;;;;;;;;;;;;;;; INST 92 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; rr a (92) |
mov a,#129 |
rr a |
subb a,#192 |
jz done92 |
mov P1,#92 |
ljmp failed |
done92: |
|
|
;;;;;;;;;;;;;;;; INST 93 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; rrc a (93) |
setb c |
mov a,#3 |
rrc a |
subb a,#128 ;a(129)-c(1)-0 |
jnz fail93 |
clr c |
mov a,#3 |
rrc a |
subb a,#0 ;a(1)-c(1)-0 |
jz done93 |
fail93: |
mov P1,#93 |
ljmp failed |
done93: |
|
;;;;;;;;;;;;;;;; INST 94 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; setb c (94) |
clr c |
setb c |
mov a,#1 |
subb a,#0 ;a(1)-c(1)-0 |
jz done94 |
mov P1,#94 |
ljmp failed |
done94: |
|
;;;;;;;;;;;;;;;; INST 95 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; setb bit (95) |
clr a |
setb acc.7 |
subb a,#128 |
jz done95 |
mov P1,#95 |
ljmp failed |
done95: |
|
;;;;;;;;;;;;;;;; INST 96 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; sjmp (96) |
sjmp done96 |
mov P1,#96 |
ljmp failed |
done96: |
|
;;;;;;;;;;;;;;;; INST 97 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; subb a,Rn (97) |
setb c |
mov a,#100 |
mov r0,#10 |
subb a,r0 ; 100 - 10 - 1 = 89 |
jc fail97 |
add a,#167 ; 167 + 89 = 0 |
jnz fail97 |
clr c |
mov a,#10 |
mov r0,#100 |
subb a,r0 ; 10 - 100 - 0 = 166 |
jnc fail97 |
add a,#90 ; 166 + 90 = 0 |
jz done97 |
fail97: |
mov P1,#97 |
ljmp failed |
done97: |
|
;;;;;;;;;;;;;;;; INST 98 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; subb a,direct (98) |
setb c |
mov a,#100 |
mov 127,#10 |
subb a,127 ; 100 - 10 - 1 = 89 |
jc fail98 |
add a,#167 ; 167 + 89 = 0 |
jnz fail98 |
clr c |
mov a,#10 |
mov 127,#100 |
subb a,127 ; 10 - 100 - 0 = 166 |
jnc fail98 |
add a,#90 ; 166 + 90 = 0 |
jz done98 |
fail98: |
mov P1,#98 |
ljmp failed |
done98: |
|
;;;;;;;;;;;;;;;; INST 99 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; subb a,@Ri (99) |
setb c |
mov r0,#126 |
mov a,#100 |
mov @r0,#10 |
subb a,@r0 ; 100 - 10 - 1 = 89 |
jc fail99 |
add a,#167 ; 167 + 89 = 0 |
jnz fail99 |
clr c |
mov a,#10 |
mov @r0,#100 |
subb a,@r0 ; 10 - 100 - 0 = 166 |
jnc fail99 |
add a,#90 ; 166 + 90 = 0 |
jz done99 |
fail99: |
mov P1,#99 |
ljmp failed |
done99: |
|
|
;;;;;;;;;;;;;;;; INST 100 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; subb a,#data (100) |
setb c |
mov a,#100 |
subb a,#10 ; 100 - 10 - 1 = 89 |
jc fail100 |
add a,#167 ; 167 + 89 = 0 |
jnz fail100 |
clr c |
mov a,#10 |
subb a,#100 ; 10 - 100 - 0 = 166 |
jnc fail100 |
add a,#90 ; 166 + 90 = 0 |
jz done100 |
fail100: |
mov P1,#100 |
ljmp failed |
done100: |
|
;;;;;;;;;;;;;;;; INST 101 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; swap a (101) |
clr c |
mov a,#23h |
swap a |
jc fail101 |
subb a,#32h |
jnz fail101 |
mov a,#0C3h |
setb c |
swap a |
jnc fail101 |
clr c |
subb a,#3Ch |
jz done101 |
fail101: |
mov P1,#101 |
ljmp failed |
done101: |
|
;;;;;;;;;;;;;;;; INST 102 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; xch a,Rn (102) |
mov a,#10 |
mov r0,#97 |
xch a,r0 |
subb a,#97 |
jnz fail102 |
mov a,r0 |
subb a,#10 |
jz done102 |
fail102: |
mov P1,#102 |
ljmp failed |
done102: |
|
;;;;;;;;;;;;;;;; INST 103 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; xch a,direct (103) |
mov a,#10 |
mov 127,#99 |
xch a,127 |
subb a,#99 |
jnz fail103 |
mov a,127 |
subb a,#10 |
jz done103 |
fail103: |
mov P1,#103 |
ljmp failed |
done103: |
|
;;;;;;;;;;;;;;;; INST 104 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; xch a,@Ri (104) |
mov a,#10 |
mov r0,#127 |
mov 127,#99 |
xch a,@r0 |
subb a,#99 |
jnz fail104 |
mov a,127 |
subb a,#10 |
jz done104 |
fail104: |
mov P1,#104 |
ljmp failed |
done104: |
|
;;;;;;;;;;;;;;;; INST 105 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; xchd a,@Ri (105) |
mov a,#44h |
mov r0,#127 |
mov 127,#55h |
xchd a,@r0 |
subb a,#45h |
jnz fail105 |
mov a,127 |
subb a,#54h |
jz done105 |
fail105: |
mov P1,#105 |
ljmp failed |
done105: |
|
|
;;;;;;;;;;;;;;;; INST 106 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; xrl a,Rn (106) |
mov a,#35h |
mov r0,#0C3h |
xrl a,r0 |
subb a,#0F6h |
jz done106 |
mov P1,#106 |
ljmp failed |
done106: |
|
;;;;;;;;;;;;;;;; INST 107 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; xrl a,direct (107) |
mov a,#0C3h |
mov 127,#35h |
xrl a,127 |
subb a,#0F6h |
jz done107 |
mov P1,#107 |
ljmp failed |
done107: |
|
|
;;;;;;;;;;;;;;;; INST 108 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; xrl a,@Ri (108) |
mov a,#35h |
mov r0,#127 |
mov 127,#0C3h |
xrl a,@r0 |
subb a,#0F6h |
jz done108 |
mov P1,#108 |
ljmp failed |
done108: |
|
|
;;;;;;;;;;;;;;;; INST 109 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; xrl a,#data (109) |
mov a,#35h |
xrl a,#0C3h |
subb a,#0F6h |
jz done109 |
mov P1,#109 |
ljmp failed |
done109: |
|
|
;;;;;;;;;;;;;;;; INST 110 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; xrl direct,a (110) |
mov a,#35h |
mov 127,#0C3h |
xrl 127,a |
clr a |
mov a,127 |
subb a,#0F6h |
jz done110 |
mov P1,#110 |
ljmp failed |
done110: |
|
|
;;;;;;;;;;;;;;;; INST 111 ;;;;;;;;;;;;;;;;;;;;;;; |
|
;; xrl direct,#data (111) |
mov 127,#35h |
xrl 127,#0C3h |
mov a,127 |
subb a,#0F6h |
jz done111 |
mov P1,#111 |
ljmp failed |
done111: |
|
|
;;;;;;;;;;;;;;;;; DONE ;;;;;;;;;;;;;;;;;;;;;; |
|
mov P1,#127 ; All instructions passed |
|
|
failed: |
nop; |
nop; |
sjmp failed; |
|
end |
testall.asm
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: counter_test.asm
===================================================================
--- counter_test.asm (nonexistent)
+++ counter_test.asm (revision 186)
@@ -0,0 +1,537 @@
+; r0: counter 0 owerflov counter
+; r1: counter 1 owerflov counter
+; r2: error code
+; r3: counter high expected value
+; r4: counter low expected value
+; r5: owerflov counter expected value
+
+ ajmp start;
+
+ org 03h ;external interrupt 0
+ reti;
+
+ org 0bh ;t/c 0 interrupt
+ inc r0;
+ reti;
+
+ org 13h ;external interrupt 1
+ reti;
+
+ org 1bh ;t/c 1 interrupt
+ inc r1;
+ reti;
+
+ org 23h ;serial interface interrupt
+ reti;
+
+
+test0:
+ mov a, th0 ;
+ subb a, r3 ;
+ jnz error ;
+ inc r2 ;
+ mov a,tl0 ;
+ subb a, r4 ;
+ jnz error ;
+ inc r2 ;
+ mov a, r0 ;
+ subb a, r5 ;
+ jnz error ;
+ ret;
+
+test1:
+ mov a, th1 ;
+ subb a, r3 ;
+ jnz error ;
+ inc r2 ;
+ mov a,tl1 ;
+ subb a, r4 ;
+ jnz error ;
+ inc r2 ;
+ mov a, r1 ;
+ subb a, r5 ;
+ jnz error ;
+ ret;
+
+wait:
+ dec a ; 1
+ nop ; 1
+ nop ; 1
+ nop ; 1
+ nop ; 1
+ nop ; 1
+ nop ; 1
+ nop ; 1
+ jnz wait ; 4
+ ret ; 4
+
+
+error:
+ mov p0, r2;
+ nop;
+ ajmp error;
+
+
+start:
+ clr a;
+ mov r0, a;
+ mov r1, a;
+ mov ie, #08ah ;enable interrupts
+ clr c;
+
+;
+; timer 0 test
+;
+; mode 0
+;
+ mov tmod, #004h ;t/c 0 and t/c 1 in counter mode 0
+ mov th0, #000h ;load counter 0
+ mov tl0, #000h ;
+ mov tcon, #010h ;start counter 0;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ clr tcon.4 ;stop counter 0
+ mov r2, #010h ;
+ mov r3, #000h ;
+ mov r4, #003h ;
+ mov r5, #000h ;
+ acall test0 ;
+
+ mov tl0, #01ch ; load counter 0
+ setb tcon.4 ;start counter0
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ clr tcon.4 ;stop counter 0
+ mov r2, #020h ;
+ mov r3, #001h ;
+ mov r4, #000h ;
+ mov r5, #000h ;
+ acall test0 ;
+
+ mov tl0, #01ch ;
+ mov th0, #0ffh ;
+ setb tcon.4 ;start counter 0
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ clr tcon.4 ;stop counter 0
+ mov r2, #030h ;
+ mov r3, #000h ;
+ mov r4, #001h ;
+ mov r5, #001h ;
+ acall test0 ;
+;
+; mode 1
+;
+ mov tmod, #005h ; t/c 0 in mode 1
+ mov th0, #000h ;load counter 0
+ mov tl0, #000h ;
+ setb tcon.4 ;start counter 0;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ clr tcon.4 ;stop counter 0
+ mov r2, #040h ;
+ mov r3, #000h ;
+ mov r4, #004h ;
+ mov r5, #001h ;
+ acall test0 ;
+
+ mov tl0, #0fch ; load counter 0
+ setb tcon.4 ;start counter 0;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ clr tcon.4 ;stop counter 0;
+ mov r2, #050h ;
+ mov r3, #001h ;
+ mov r4, #001h ;
+ mov r5, #001h ;
+ acall test0 ;
+
+ mov tl0, #0fch ;
+ mov th0, #0ffh ;
+ setb tcon.4 ;start counter 0
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ clr tcon.4 ;stop counter 0
+ mov r2, #060h ;
+ mov r3, #000h ;
+ mov r4, #002h ;
+ mov r5, #002h ;
+ acall test0 ;
+;
+; mode 2
+;
+ mov tmod, #006h ; t/c 0 in mode 2
+ mov th0, #000h ;load counter 0
+ mov tl0, #005h ;
+ setb tcon.4 ;start counter 0;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ clr tcon.4 ;stop counter 0
+ mov r2, #070h ;
+ mov r3, #000h ;
+ mov r4, #009h ;
+ mov r5, #002h ;
+ acall test0 ;
+
+ mov tl0, #0fch ; load counter 0
+ mov th0, #050h ;
+ setb tcon.4 ;start counter 0;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ clr tcon.4 ;stop counter 0;
+ mov r2, #080h ;
+ mov r3, #050h ;
+ mov r4, #051h ;
+ mov r5, #003h ;
+ acall test0 ;
+;
+; mode 3
+;
+ mov tmod, #007h ; t/c 0 in mode 3
+ mov th0, #000h ;load counter 0
+ mov tl0, #000h ;
+ setb tcon.4 ;start counter 0;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ clr tcon.4 ;stop counter 0
+ mov r2, #090h ;
+ mov r3, #000h ;
+ mov r4, #004h ;
+ mov r5, #003h ;
+ acall test0 ;
+
+ mov tl0, #0fch ; load counter 0
+ mov th0, #000h ;
+ setb tcon.4 ;start counter 0
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ cpl p3.5;
+ clr tcon.4 ;stop counter 0
+ mov r2, #0a0h ;
+ mov r3, #000h ;
+ mov r4, #002h ;
+ mov r5, #004h ;
+ acall test0 ;
+
+ mov tl0, #000h ; load counter 0
+ mov th0, #000h ;
+ setb tcon.6 ; start counter 1
+ mov a, #03h ;
+ acall wait ;
+ nop;
+ nop;
+ nop;
+ clr tcon.6 ; stop counter 1
+ mov r2, #0b0h ;
+ mov r3, #004h ;
+ mov r4, #000h ;
+ mov r5, #004h ;
+ acall test0 ;
+
+ mov tl0, #000h ; load counter 0
+ mov th0, #0fch ;
+ setb tcon.6 ;start counter 1
+ mov a, #05h ;
+ acall wait ;
+ nop;
+ nop;
+ nop;
+ clr tcon.6 ;stop counter 1
+ mov r2, #0c0h ;
+ mov r3, #003h ;
+ mov r4, #000h ;
+ mov r5, #001h ;
+ mov r0, 01h ;
+ acall test0 ;
+
+ mov p0, #001h ; test counter 0 done!
+ mov r1, #000h ;
+
+;
+; timer 1 test
+;
+; mode 0
+;
+ mov tmod, #040h ;t/c 0 and t/c 1 in counter mode 0
+ mov th1, #000h ;load counter 1
+ mov tl1, #000h ;
+ mov tcon, #040h ;start counter 1;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ clr tcon.6 ;stop counter 1
+ mov r2, #018h ;
+ mov r3, #000h ;
+ mov r4, #004h ;
+ mov r5, #000h ;
+ acall test1 ;
+
+ mov tl1, #01ch ; load counter 1
+ setb tcon.6 ;start counter 1
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ clr tcon.6 ;stop counter 1
+ mov r2, #028h ;
+ mov r3, #001h ;
+ mov r4, #001h ;
+ mov r5, #000h ;
+ acall test1 ;
+
+ mov tl1, #01ch ;
+ mov th1, #0ffh ;
+ setb tcon.6 ;start counter 1
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ clr tcon.6 ;stop counter 1
+ mov r2, #038h ;
+ mov r3, #000h ;
+ mov r4, #002h ;
+ mov r5, #001h ;
+ acall test1 ;
+;
+; mode 1
+;
+ mov tmod, #050h ; t/c 1 in counter 1
+ mov th1, #000h ;load counter 1
+ mov tl1, #000h ;
+ setb tcon.6 ;start counter 1
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ clr tcon.6 ;stop counter 1
+ mov r2, #048h ;
+ mov r3, #000h ;
+ mov r4, #004h ;
+ mov r5, #001h ;
+ acall test1 ;
+
+ mov tl1, #0fch ; load counter 1
+ setb tcon.6 ; start counter 1
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ clr tcon.6 ;stop counter 1
+ mov r2, #058h ;
+ mov r3, #001h ;
+ mov r4, #001h ;
+ mov r5, #001h ;
+ acall test1 ;
+
+ mov tl1, #0fch ;
+ mov th1, #0ffh ;
+ setb tcon.6 ;start counter 1
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ clr tcon.6 ;stop counter 1
+ mov r2, #068h ;
+ mov r3, #000h ;
+ mov r4, #002h ;
+ mov r5, #002h ;
+ acall test1 ;
+;
+; mode 2
+;
+ mov tmod, #060h ; t/c 1 in mode 2
+ mov th1, #000h ;load counter 1
+ mov tl1, #005h ;
+ setb tcon.6 ;start counter 1
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ clr tcon.6 ;stop counter 1
+ mov r2, #078h ;
+ mov r3, #000h ;
+ mov r4, #009h ;
+ mov r5, #002h ;
+ acall test1 ;
+
+ mov tl1, #0fch ; load counter 1
+ mov th1, #050h ;
+ setb tcon.6 ;start counter 1
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ clr tcon.6 ;stop counter 1
+ mov r2, #088h ;
+ mov r3, #050h ;
+ mov r4, #051h ;
+ mov r5, #003h ;
+ acall test1 ;
+;
+; mode 3
+;
+ mov tmod, #070h ; t/c 1 in mode 3
+ mov th1, #000h ;load counter 1
+ mov tl1, #000h ;
+ setb tcon.6 ;start counter 1
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ clr tcon.6 ;stop counter 1
+ mov r2, #098h ;
+ mov r3, #000h ;
+ mov r4, #000h ;
+ mov r5, #003h ;
+ acall test1 ;
+
+ mov tl1, #0fch ; load counter 1
+ mov th1, #0ffh ;
+ setb tcon.6 ;start counter 1
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+
+
+ cpl p3.6;
+ cpl p3.6;
+ cpl p3.6;
+ clr tcon.6 ;stop counter 1
+ mov r2, #0a8h ;
+ mov r3, #0ffh ;
+ mov r4, #0fch ;
+ mov r5, #003h ;
+ acall test1 ;
+
+ mov p0, #002h ; test counter 1 done!
+
+
+end
Index: serial_test.asm
===================================================================
--- serial_test.asm (nonexistent)
+++ serial_test.asm (revision 186)
@@ -0,0 +1,382 @@
+;
+; r0 - scon
+; r1 - sbuf
+; r2 - transnit test
+; r3 - receive test
+; r4 - pcon
+;
+ ajmp start;
+
+ org 03h ;external interrupt 0
+ reti;
+
+ org 0bh ;t/c 0 interrupt
+ setb p3.1 ;
+ clr p3.1 ;
+ reti;
+
+ org 13h ;external interrupt 1
+ reti;
+
+ org 1bh ;t/c 1 interrupt
+ reti;
+
+ org 23h ;serial interface interrupt
+ clr scon.4 ;
+ clr scon.0 ;
+ clr scon.1 ;
+ inc b ;
+ reti;
+
+ nop;
+ nop;
+wait:
+ mov a,b ;
+ jz wait ;
+ ret ;
+
+wait_txd:
+ movx a, @r0 ;
+ jnb acc.1, wait_txd ;
+ ret ;
+
+
+ nop;
+ nop;
+
+test_txd:
+ clr c ;
+ movx a, @r1 ;
+ subb a, r2 ;
+ jnz error ;
+ ret ;
+
+ nop;
+ nop;
+
+test_rxd:
+ clr c ;
+ mov a, sbuf ;
+ subb a, r3 ;
+ jnz error ;
+ ret ;
+
+ nop;
+ nop;
+
+
+start:
+ clr a;
+ mov 7fh, a ; error 0
+ clr p3.7 ;
+ clr p3.0 ;
+ mov ie, #090h ; enable interrupts
+ mov r0, #098h ; serial control address
+ mov r1, #099h ; serial data buffer address
+ mov dpl, #087h ; pcon
+ mov dph, #000h ;
+
+;
+; testing mode 0
+;
+; transmit
+;
+ mov scon, #000h ; mode 0
+ mov b,#000h ;
+ mov a, #010h ;
+ mov r2, #06ch ;
+ mov sbuf, r2 ; transmit 6c
+ movx @r0, a ;
+ acall wait ;
+ acall test_txd ;
+ mov c, p3.0 ;
+ jnc error ;
+;
+; receive
+;
+ setb ie.7 ;
+ mov a, #000h ;
+ movx @r0,a ;
+ mov 7fh, #001h ; error 1
+ nop ;
+ nop ;
+ nop ;
+ nop ;
+ mov c, p3.0 ;
+ jc error ;
+ mov 7fh, #002h ; error 2
+ mov b,#000h ;
+ mov a, #0d3h ;
+ mov r3, a ;
+ movx @r1, a ;
+ mov scon, #010h ;
+ acall wait ;
+ acall test_rxd ;
+ mov c, p3.0 ;
+ jnc error ;
+
+ mov p0, #00h ;
+ ajmp mode1 ;
+
+error:
+ mov p2, 7fh ;
+loop:
+ nop ;
+ ajmp loop ;
+
+;
+; mode 1
+;
+; transmit
+;
+mode1:
+ mov b,#000h ;
+ mov ie, #092h ;
+ mov 7fh, #003h ; error 3
+ clr p3.1 ;
+ mov a, #050h ; external mode 1 receive
+ movx @r0, a ;
+ mov scon, #040h ;
+ mov th0, #0ech ;
+ mov tl0, #0ech ;
+ mov th1, #0ech ;
+ mov tl1, #0ech ;
+ mov tmod, #022h ;
+ setb tcon.4 ;
+ setb tcon.6 ;
+ mov r2, #095h ;
+ mov sbuf, r2 ; start transmition
+ acall wait ;
+ clr tcon.4 ;
+ clr tcon.6 ;
+ acall test_txd ;
+;
+; receive
+;
+ mov 7fh, #004h ; error 4
+ mov b, #000h ;
+ mov a, #040h ;
+ movx @r0, a ;
+ mov scon, #050h ;
+ mov a, #0a2h ;
+ mov r3, a ;
+ setb tcon.4 ;
+ setb tcon.6 ;
+ movx @r1, a ;
+ acall wait ;
+ acall wait_txd ;
+
+ clr tcon.4 ;
+ clr tcon.6 ;
+ acall test_rxd ;
+ mov 7fh, #005h ; error 5
+ mov c, scon.2 ;
+ jnc error ;
+
+
+
+;
+; transmit / receive
+;
+ mov b,#000h ;
+ mov ie, #082h ;
+ mov 7fh, #006h ; error 6
+ mov a, #050h ; external mode 1 receive
+ movx @r0, a ;
+ mov scon, #050h ;
+ setb tcon.4 ;
+ setb tcon.6 ;
+ mov r2, #097h ;
+ mov sbuf, r2 ; start transmition
+ mov a, #0d5h ;
+ mov r3, a ;
+ movx @r1, a ;
+loop0:
+ mov c, scon.1 ;
+ jnc loop0 ;
+ mov c, scon.0 ;
+ jnc loop0 ;
+ clr tcon.4 ;
+ clr tcon.6 ;
+ clr c ;
+ acall test_txd ;
+ mov 7fh, #007h ; error 7
+ acall test_rxd ;
+ clr scon.1 ;
+ clr scon.0 ;
+
+ mov p0, #01h ;
+
+
+;
+; mode 2
+;
+; transmit
+;
+ mov b,#000h ;
+ mov ie, #090h ;
+ mov 7fh, #008h ; error 8
+ mov a, #090h ; external mode 2 receive
+ movx @r0, a ;
+ mov scon, #080h ;
+ mov r2, #095h ;
+ mov sbuf, r2 ; start transmition
+ acall wait ;
+ acall test_txd ;
+;
+; receive 1
+;
+ mov 7fh, #009h ; error 9
+ mov b, #000h ;
+ mov a, #088h ;
+ movx @r0, a ;
+ mov scon, #090h ;
+ mov a, #0a2h ;
+ mov r3, a ;
+ movx @r1, a ;
+ acall wait ;
+ acall test_rxd ;
+ mov 7fh, #00ah ; error a
+ mov c, scon.2 ;
+ jnc error1 ;
+;
+; receive 2
+;
+ setb ie.7 ;
+ mov 7fh, #00bh ; error b
+ mov b, #000h ;
+ mov a, #080h ;
+ movx @r0, a ;
+ mov scon, #0b0h ;
+ mov a, #0b2h ;
+ mov r3, a ;
+ movx @r1, a ;
+loop1:
+ nop ;
+ nop ;
+ dec a ;
+ jnz loop1 ;
+ acall test_rxd ;
+ mov 7fh, #00ch ; error c
+ mov a, b ;
+ jnz error1 ;
+;
+; transmit / receive
+;
+ mov b,#000h ;
+ mov ie, #000h ;
+ mov 7fh, #00dh ; error d
+ mov a, #090h ; external mode 2 receive
+ movx @r0, a ;
+ mov a, #080h ;
+ movx @dptr, a ;
+ mov pcon, a ;
+ mov scon, #090h ;
+ mov r2, #097h ;
+ mov sbuf, r2 ; start transmition
+ mov a, #0d5h ;
+ mov r3, a ;
+ movx @r1, a ;
+loop2:
+ mov c, scon.1 ;
+ jnc loop2 ;
+ mov c, scon.0 ;
+ jnc loop2 ;
+ acall test_txd ;
+ mov 7fh, #00eh ; error e
+ acall test_rxd ;
+ clr scon.1 ;
+ clr scon.0 ;
+
+ mov p0, #02h ;
+ ajmp mode3 ;
+
+error1:
+ ljmp error ;
+
+;
+; mode 3
+;
+; transmit
+;
+mode3:
+ mov b,#000h ;
+ mov ie, #092h ;
+ mov 7fh, #00fh ; error f
+ mov a, #0d0h ; external mode 3 receive
+ movx @r0, a ;
+ mov scon, #0c0h ;
+ mov r2, #095h ;
+ setb tcon.4 ;
+ setb tcon.6 ;
+ mov sbuf, r2 ; start transmition
+ acall wait ;
+ clr tcon.4 ;
+ clr tcon.6 ;
+ acall test_txd ;
+;
+; receive
+;
+ setb ie.7 ;
+ mov 7fh, #010h ; error 10
+ mov b, #000h ;
+ mov a, #0c0h ;
+ movx @r0, a ;
+ mov scon, #0d4h ;
+ mov a, #0a2h ;
+ mov r3, a ;
+ movx @r1, a ;
+ setb tcon.4 ;
+ setb tcon.6 ;
+ acall wait ;
+ acall wait_txd ;
+
+ clr tcon.4 ;
+ clr tcon.6 ;
+ acall test_rxd ;
+ mov 7fh, #011h ; error 11
+ mov c, scon.2 ;
+ jc error1 ;
+;
+; transmit / receive
+;
+ mov scon, #0d8h ;
+ mov b,#000h ;
+ mov ie, #082h ;
+ mov 7fh, #012h ; error 12
+ mov a, #0d0h ; external mode 3 receive
+ movx @r0, a ;
+ mov r2, #097h ;
+ setb tcon.4 ;
+ setb tcon.6 ;
+ mov sbuf, r2 ; start transmition
+ mov a, #0d5h ;
+ mov r3, a ;
+ movx @r1, a ;
+loop3:
+ mov c, scon.1 ;
+ jnc loop3 ;
+ mov c, scon.0 ;
+ jnc loop3 ;
+ clr tcon.4 ;
+ clr tcon.6 ;
+ acall test_txd ;
+ mov 7fh, #013h ; error 13
+ acall test_rxd ;
+ clr scon.1 ;
+ clr scon.0 ;
+ mov 7fh, #014h ; error 14
+ mov c, scon.2 ;
+ jc error2 ;
+ movx a, @r0 ;
+ subb a, #0d7h ;
+
+done:
+ mov p0, #03h ;
+ ajmp done ;
+
+error2:
+ ljmp error ;
+
+
+ end
serial_test.asm
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: timer_test.asm
===================================================================
--- timer_test.asm (nonexistent)
+++ timer_test.asm (revision 186)
@@ -0,0 +1,456 @@
+; r0: timer 0 owerflov counter
+; r1: timer 1 owerflov counter
+; r2: error code
+; r3: timer high expected value
+; r4: timer low expected value
+; r5: owerflov counter expected value
+
+ ajmp start;
+
+ org 03h ;external interrupt 0
+ reti;
+
+ org 0bh ;t/c 0 interrupt
+ inc r0;
+ nop;
+ nop;
+ nop;
+ nop;
+ reti;
+
+ org 13h ;external interrupt 1
+ reti;
+
+ org 1bh ;t/c 1 interrupt
+ inc r1;
+ nop;
+ nop;
+ nop;
+ nop;
+ reti;
+
+ org 23h ;serial interface interrupt
+ reti;
+
+
+test0:
+ mov a, th0 ;
+ subb a, r3 ;
+ jnz error ;
+ inc r2 ;
+ mov a,tl0 ;
+ subb a, r4 ;
+ jnz error ;
+ inc r2 ;
+ mov a, r0 ;
+ subb a, r5 ;
+ jnz error ;
+ ret;
+
+test1:
+ mov a, th1 ;
+ subb a, r3 ;
+ jnz error ;
+ inc r2 ;
+ mov a,tl1 ;
+ subb a, r4 ;
+ jnz error ;
+ inc r2 ;
+ mov a, r1 ;
+ subb a, r5 ;
+ jnz error ;
+ ret;
+
+
+error:
+ mov p0, r2;
+ nop;
+ ajmp error;
+
+wait:
+ dec a ; 1
+ nop ; 1
+ nop ; 1
+ nop ; 1
+ nop ; 1
+ nop ; 1
+ nop ; 1
+ nop ; 1
+ jnz wait ; 4
+ ret ; 4
+
+
+start:
+ clr a;
+ mov r0, a;
+ mov r1, a;
+ mov ie, #08ah ;enable interrupts
+ clr c;
+
+;
+; timer 0 test
+;
+; mode 0
+;
+ mov tmod, #000h ;t/c 0 and t/c 1 in timer mode 0
+ mov th0, #000h ;load timer 0
+ mov tl0, #000h ;
+ mov tcon, #010h ;start timer 0;
+
+ mov a, #03h ; 1
+ acall wait ; 3
+ nop;
+ nop;
+ nop;
+
+
+ clr tcon.4 ;stop timer 0
+ mov r2, #010h ;
+ mov r3, #000h ;
+ mov r4, #004h ;
+ mov r5, #000h ;
+ acall test0 ;
+
+ mov tl0, #01ch ; load timer 0
+ setb tcon.4 ;start timer 0;
+
+ mov a, #04h ; 1
+ acall wait ; 2
+ nop;
+ nop;
+ nop;
+ clr tcon.4 ;stop timer 0;
+ mov r2, #020h ;
+ mov r3, #001h ;
+ mov r4, #001h ;
+ mov r5, #000h ;
+ acall test0 ;
+
+ mov tl0, #01ch ;
+ mov th0, #0ffh ;
+ setb tcon.4 ;start timer 0
+ mov a, #05h ;
+ acall wait ;
+ nop;
+ nop;
+ nop;
+ clr tcon.4 ;stop timer 0
+ mov r2, #030h ;
+ mov r3, #000h ;
+ mov r4, #003h ;
+ mov r5, #001h ;
+ acall test0 ;
+;
+; mode 1
+;
+ mov tmod, #001h ; t/c 0 in mode 1
+ mov th0, #000h ;load timer 0
+ mov tl0, #000h ;
+ setb tcon.4 ;start timer 0;
+ mov a, #03h ;
+ acall wait ;
+ nop;
+ nop;
+ nop;
+ clr tcon.4 ;stop timer 0
+ mov r2, #040h ;
+ mov r3, #000h ;
+ mov r4, #004h ;
+ mov r5, #001h ;
+ acall test0 ;
+
+ mov tl0, #0fch ; load timer 0
+ setb tcon.4 ;start timer 0;
+ mov a, #04h ;
+ acall wait ;
+ nop;
+ nop;
+ nop;
+ clr tcon.4 ;stop timer 0;
+ mov r2, #050h ;
+ mov r3, #001h ;
+ mov r4, #001h ;
+ mov r5, #001h ;
+ acall test0 ;
+
+ mov tl0, #0fch ;
+ mov th0, #0ffh ;
+ setb tcon.4 ;start timer 0
+ mov a, #05h ;
+ acall wait ;
+ nop;
+ nop;
+ nop;
+ clr tcon.4 ;stop timer 0
+ mov r2, #060h ;
+ mov r3, #000h ;
+ mov r4, #003h ;
+ mov r5, #002h ;
+ acall test0 ;
+;
+; mode 2
+;
+ mov tmod, #002h ; t/c 0 in mode 2
+ mov th0, #000h ;load timer 0
+ mov tl0, #005h ;
+ setb tcon.4 ;start timer 0;
+ mov a, #03h ;
+ acall wait ;
+ nop;
+ nop;
+ nop;
+ clr tcon.4 ;stop timer 0
+ mov r2, #070h ;
+ mov r3, #000h ;
+ mov r4, #009h ;
+ mov r5, #002h ;
+ acall test0 ;
+
+ mov tl0, #0fch ; load timer 0
+ mov th0, #050h ;
+ setb tcon.4 ;start timer 0;
+ mov a, #05h ;
+ acall wait ;
+ nop;
+ nop;
+ nop;
+ clr tcon.4 ;stop timer 0;
+ mov r2, #080h ;
+ mov r3, #050h ;
+ mov r4, #053h ;
+ mov r5, #003h ;
+ acall test0 ;
+;
+; mode 3
+;
+ mov tmod, #003h ; t/c 0 in mode 3
+ mov th0, #000h ;load timer 0
+ mov tl0, #000h ;
+ setb tcon.4 ;start timer 0;
+ mov a, #03h ;
+ acall wait ;
+ nop;
+ nop;
+ nop;
+ clr tcon.4 ;stop timer 0
+ mov r2, #090h ;
+ mov r3, #000h ;
+ mov r4, #004h ;
+ mov r5, #003h ;
+ acall test0 ;
+
+ mov tl0, #0fch ; load timer 0
+ mov th0, #000h ;
+ setb tcon.4 ;start timer 0
+ mov a, #05h ;
+ acall wait ;
+ nop;
+ nop;
+ nop;
+ clr tcon.4 ;stop timer 0
+ mov r2, #0a0h ;
+ mov r3, #000h ;
+ mov r4, #003h ;
+ mov r5, #004h ;
+ acall test0 ;
+
+ mov tl0, #000h ; load timer 0
+ mov th0, #000h ;
+ setb tcon.6 ; start timer 1
+ mov a, #03h ;
+ acall wait ;
+ nop;
+ nop;
+ nop;
+ clr tcon.6 ; stop timer 1
+ mov r2, #0b0h ;
+ mov r3, #004h ;
+ mov r4, #000h ;
+ mov r5, #004h ;
+ acall test0 ;
+
+ mov tl0, #000h ; load timer 0
+ mov th0, #0fch ;
+ setb tcon.6 ;start timer 1
+ mov a, #05h ;
+ acall wait ;
+ nop;
+ nop;
+ nop;
+ clr tcon.6 ;stop timer 1
+ mov r2, #0c0h ;
+ mov r3, #003h ;
+ mov r4, #000h ;
+ mov r5, #001h ;
+ mov r0, 01h ;
+ acall test0 ;
+
+ mov p0, #001h ; test timer 0 done!
+ mov r1, #000h ;
+
+;
+; timer 1 test
+;
+; mode 0
+;
+ mov tmod, #000h ;t/c 0 and t/c 1 in timer mode 0
+ mov th1, #000h ;load timer 1
+ mov tl1, #000h ;
+ mov tcon, #040h ;start timer 1;
+ mov a, #03h ;
+ acall wait ;
+ nop;
+ nop;
+ nop;
+ clr tcon.6 ;stop timer 1
+ mov r2, #018h ;
+ mov r3, #000h ;
+ mov r4, #004h ;
+ mov r5, #000h ;
+ acall test1 ;
+
+ mov tl1, #01ch ; load timer 1
+ setb tcon.6 ;start timer 1
+ mov a, #04h ;
+ acall wait ;
+ nop;
+ nop;
+ nop;
+ clr tcon.6 ;stop timer 1
+ mov r2, #028h ;
+ mov r3, #001h ;
+ mov r4, #001h ;
+ mov r5, #000h ;
+ acall test1 ;
+
+ mov tl1, #01ch ;
+ mov th1, #0ffh ;
+ setb tcon.6 ;start timer 1
+ mov a, #05h ;
+ acall wait ;
+ nop;
+ nop;
+ nop;
+ clr tcon.6 ;stop timer 1
+ mov r2, #038h ;
+ mov r3, #000h ;
+ mov r4, #003h ;
+ mov r5, #001h ;
+ acall test1 ;
+;
+; mode 1
+;
+ mov tmod, #010h ; t/c 1 in mode 1
+ mov th1, #000h ;load timer 1
+ mov tl1, #000h ;
+ setb tcon.6 ;start timer 1
+ mov a, #03h ;
+ acall wait ;
+ nop;
+ nop;
+ nop;
+ clr tcon.6 ;stop timer 1
+ mov r2, #048h ;
+ mov r3, #000h ;
+ mov r4, #004h ;
+ mov r5, #001h ;
+ acall test1 ;
+
+ mov tl1, #0fch ; load timer 1
+ setb tcon.6 ; start timer 1
+ mov a, #04h ;
+ acall wait ;
+ nop;
+ nop;
+ nop;
+ clr tcon.6 ;stop timer 1
+ mov r2, #058h ;
+ mov r3, #001h ;
+ mov r4, #001h ;
+ mov r5, #001h ;
+ acall test1 ;
+
+ mov tl1, #0fch ;
+ mov th1, #0ffh ;
+ setb tcon.6 ;start timer 1
+ mov a, #05h ;
+ acall wait ;
+ nop;
+ nop;
+ nop;
+ clr tcon.6 ;stop timer 1
+ mov r2, #068h ;
+ mov r3, #000h ;
+ mov r4, #004h ;
+ mov r5, #002h ;
+ acall test1 ;
+;
+; mode 2
+;
+ mov tmod, #020h ; t/c 1 in mode 2
+ mov th1, #000h ;load timer 1
+ mov tl1, #005h ;
+ setb tcon.6 ;start timer 1
+ mov a, #03h ;
+ acall wait ;
+ nop;
+ nop;
+ clr tcon.6 ;stop timer 1
+ mov r2, #078h ;
+ mov r3, #000h ;
+ mov r4, #009h ;
+ mov r5, #002h ;
+ acall test1 ;
+
+ mov tl1, #0fch ; load timer 1
+ mov th1, #050h ;
+ setb tcon.6 ;start timer 1
+ mov a, #04h ;
+ acall wait ;
+ nop;
+ nop;
+ nop;
+ clr tcon.6 ;stop timer 1
+ mov r2, #088h ;
+ mov r3, #050h ;
+ mov r4, #052h ;
+ mov r5, #003h ;
+ acall test1 ;
+;
+; mode 3
+;
+ mov tmod, #030h ; t/c 1 in mode 3
+ mov th1, #000h ;load timer 1
+ mov tl1, #000h ;
+ setb tcon.6 ;start timer 1
+ mov a, #03h ;
+ acall wait ;
+ nop;
+ nop;
+ nop;
+ clr tcon.6 ;stop timer 1
+ mov r2, #098h ;
+ mov r3, #000h ;
+ mov r4, #000h ;
+ mov r5, #003h ;
+ acall test1 ;
+
+ mov tl1, #0fch ; load timer 1
+ mov th1, #0ffh ;
+ setb tcon.6 ;start timer 1
+ mov a, #05h ;
+ acall wait ;
+ nop;
+ nop;
+ nop;
+ clr tcon.6 ;stop timer 1
+ mov r2, #0a8h ;
+ mov r3, #0ffh ;
+ mov r4, #0fch ;
+ mov r5, #003h ;
+ acall test1 ;
+
+ mov p0, #002h ; test timer 1 done!
+
+end
+
Index: test.asm
===================================================================
--- test.asm (nonexistent)
+++ test.asm (revision 186)
@@ -0,0 +1,12 @@
+
+ mov a, #10h ;
+ mov 15h, #20h ;
+ mov 25h, 15h ;
+ orl 25h, #1h ;
+ add a, 25h ;
+ mov p0, a ;
+
+done:
+ ajmp done ;
+
+end
\ No newline at end of file
test.asm
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: xram_m.c
===================================================================
--- xram_m.c (nonexistent)
+++ xram_m.c (revision 186)
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 1999-2001 Tony Givargis. Permission to copy is granted
+ * provided that this header remains intact. This software is provided
+ * with no warranties.
+ *
+ * Version : 2.9
+ */
+
+/*---------------------------------------------------------------------------*/
+
+#include <8051.h>
+
+unsigned char xdata buffer[65536];
+
+/*---------------------------------------------------------------------------*/
+
+void main() {
+
+ unsigned short i, j;
+ unsigned x;
+
+ buffer[255] = 255;
+ for (j=1; j<10; j++){
+ x = 256 * j;
+ for(i=0; i<256; i++) {
+ buffer[x+i] = buffer[x+i - 1] + 1;
+ }
+ if (buffer[x+255]!=255) {
+ P1 = j;
+ }
+ }
+
+ P0 = 1;
+
+ while(1);
+}
xram_m.c
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: lcall.asm
===================================================================
--- lcall.asm (nonexistent)
+++ lcall.asm (revision 186)
@@ -0,0 +1,149 @@
+;
+; test lcall and bit addressable memory space
+;
+ mov 20h, #00h ;
+ setb 02h ;
+ lcall t ;
+ mov P0, 20h ;
+ ljmp e ;
+
+t:
+ mov P0, #10 ;
+ ret ;
+e:
+ nop ;
+ nop ;
+
+;
+; test p bit in psw
+;
+ mov r0, #0f0h ;
+ mov a, #031h ; p=1
+ mov c, psw.0 ;
+ jnc error ;
+ mov p0, #001h ;
+ mov r0, #0f1h ;
+ mov a, #063h ; p=0
+ mov c, psw.0 ;
+ jc error ;
+ mov P0, #02h ;
+ jnz test1 ;
+ nop
+ nop
+ nop
+test1:
+ ljmp test ;
+
+error:
+ mov p1, r0;
+
+;
+; test relative jumps
+;
+
+
+ org 01f0h ;
+test_r1:
+ nop ;
+ mov p0, #33h ;
+ ajmp test_r2 ;
+
+ org 0210h
+test:
+ mov b, #04h ;
+ clr a ;
+ jz test_r1 ;
+
+ org 02f0h ;
+ mov r0, #00 ;
+ ljmp error ;
+
+test_r2:
+ mov b, #05h ;
+ mov r4, #10h ;
+ mov r5, #20h ;
+ mov a, r4 ;
+ subb a, #10h ;
+ jnz error1 ;
+ mov a, r5 ;
+ subb a, #20h ;
+ jnz error1 ;
+
+ mov b, #06h ;
+ mov r4, b ;
+ mov a, r5 ;
+ subb a, #20h ;
+ jnz error1 ;
+ mov a, r4 ;
+ subb a, #06h ;
+ jnz error1 ;
+ mov b, #06h ;
+
+ mov r0, #02h ;
+ mov a, #044h ;
+ mov b, #044h ;
+ subb a, b ;
+ jnz error1 ;
+
+ mov r0, #03h ;
+ mov a, #04h ;
+ mov b, #084h ;
+ clr b.7 ;
+ subb a, b ;
+ jnz error1 ;
+
+ mov r0, #03h ;
+ mov a, #04h ;
+ mov b, #084h ;
+ clr b.7 ;
+ subb a, b ;
+ jnz error1 ;
+
+ mov r0, #04h ;
+ mov psw, #00h ;
+ setb c ;
+ mov a, #0e4h ;
+ subb a, #04h ;
+ mov a, psw ;
+ subb a, #041h ;
+ jnz error1 ;
+ ajmp test_lcall ;
+
+error1:
+ ljmp error ;
+;;;;;;;;;;;;;;;;;;
+
+test_lcall:
+ mov r0, #05h ;
+ clr a ;
+ lcall tst1 ;
+ inc a ;
+ subb a, #3h ;
+ jnz error1 ;
+ ljmp done ;
+ inc a ;
+ inc a ;
+tst1:
+ lcall tst2 ;
+ inc a ;
+ ret ;
+ inc a ;
+ inc a ;
+
+tst2:
+ inc a ;
+ ret ;
+ inc a ;
+ inc a ;
+
+;;;;;;;;;;;;;;;;;;
+
+done:
+ nop ;
+ mov p0, #34h ;
+ ajmp done ;
+
+
+end
+
+
lcall.asm
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: xrom_test.asm
===================================================================
--- xrom_test.asm (nonexistent)
+++ xrom_test.asm (revision 186)
@@ -0,0 +1,105 @@
+ ajmp start;
+
+check:
+ subb a, #04;
+ jnz error1;
+ mov a, b;
+ jnz error2;
+ ret;
+
+error1:
+ mov p1, #01;
+ ajmp error1;
+
+error2:
+ mov p1, #02;
+ ajmp error2;
+
+ .org 020eh
+start:
+ mov p0, #090h;
+ mov a, #20;
+ mov b, #05;
+ div ab;
+ lcall check;
+ mov p0, #00h;
+ ljmp test1;
+
+ .org 500dh;
+test1:
+ mov a, #00;
+ mov b, #00;
+ mov r0, a;
+ mov r1, #30h
+ mov dptr, #data;
+loop1:
+ mov a, r0;
+ movc a, @a+dptr;
+ mov @r1, a;
+ inc r0;
+ inc r1;
+ mov a, r0;
+ subb a, #25;
+ jnz loop1;
+
+ mov p0, #01h;
+
+ mov r0, #00h;
+ mov r1, #30h;
+ mov b, #05;
+
+loop2:
+ clr c;
+ mov a, @r1;
+ subb a, b;
+ jnz error3;
+ inc b;
+ inc r1;
+ inc r0;
+ mov a, r0;
+ subb a, #25;
+ jnz loop2;
+
+ mov p0, #002h;
+ ljmp _end;
+
+
+error3:
+ mov p1, #03;
+ ajmp error3;
+
+ .org 800fh;
+_end:
+ mov p0, #0eeh;
+ ajmp _end;
+
+ .org 9000h;
+data:
+ .db 5;
+ .db 6;
+ .db 7;
+ .db 8;
+ .db 9;
+ .db 10;
+ .db 11;
+ .db 12;
+ .db 13;
+ .db 14;
+ .db 15;
+ .db 16;
+ .db 17;
+ .db 18;
+ .db 19;
+ .db 20;
+ .db 21;
+ .db 22;
+ .db 23;
+ .db 24;
+ .db 25;
+ .db 26;
+ .db 27;
+ .db 28;
+ .db 29;
+ .db 30;
+ .db 31;
+
Index: DIV16U.asm
===================================================================
--- DIV16U.asm (nonexistent)
+++ DIV16U.asm (revision 186)
@@ -0,0 +1,255 @@
+ mov r5, #0a1h;
+ mov r4, #054h;
+ mov r1, #001h;
+ mov r0, #070h;
+ lcall DIV16U;
+ mov p0, r5;
+ mov p0, r4;
+ mov p0, r7;
+ mov p0, r6;
+
+;
+; testing div
+;
+
+ mov a, #0e5h;
+ mov b, #072h;
+ div ab;
+ mov p0, a;
+ mov p0, b;
+ jnc ok1;
+ mov p1, #00h;
+
+ok1:
+ mov c, psw.2;
+ jnc ok2;
+ mov p1, #01h;
+
+ok2:
+ mov a, #0d3h;
+ mov b, #00h;
+ div ab;
+ jnc ok3;
+ mov p1, #02h;
+
+ok3:
+ mov c, psw.2;
+ jc ok4;
+ mov p1, #03h;
+
+
+;
+;testing mul
+;
+
+ok4:
+ mov a, #03h
+ mov b, #04h
+ mul ab;
+ mov p0, a;
+ mov p0, b;
+ jnc ok5;
+ mov p1, #04h;
+
+ok5:
+ mov c, psw.2;
+ jnc ok6;
+ mov p1, #05h;
+
+ok6:
+ mov a, #057h;
+ mov b, #0eeh;
+ mul ab;
+ mov p0, a;
+ mov p0, b;
+ jnc ok7;
+ mov p1, #06h;
+
+ok7:
+ mov c, psw.2;
+ jc ok8;
+ mov p1, #07h;
+
+ok8:
+ mov p0, #00h;
+ nop
+ sjmp ok8;
+
+
+
+
+
+;26 Oct 00 added code to zero remainder when dividend is zero
+;26 Oct 00 Change labels from duxxx to duaxxx
+;19 Dec 99 corrected comments
+;16 Dec 99 made from DIV32U
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;
+;DIV16U is called to divide (unsigned) a 16-bit dividend using a
+; 16-bit divisor.
+;
+;DIV16U solves for quotient and remainder the equation:
+;
+; dividend = divisor*quotient + remainder
+;
+;Call:
+; r5,r4 = dividend
+; r1,r0 = divisor
+; lcall DIV16U
+; jc divide_by_zero
+;
+;Return:
+; r5,r4 = quotient
+; r7,r6 = remainder
+; c flag set to 1 if divide by zero attempted
+; All registers, acc, b and have been changed.
+; Data pointer has not been disturbed
+;
+;Note:
+; (1)Most significant (ms) register always listed first when comma
+; separates two in a comment. Example: r5,r4 (r5 contains the ms bits)
+; (2) The algorithm used in this code borrows heavily from work posted
+; by John C. Wren who said he got it from a C complier.
+;
+;Original author: John Veazey, Ridgecrest, CA, 16 Dec 99
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;
+;cseg
+DIV16U:
+;
+;Clear the working quotient
+;
+ clr a
+ mov r2,a
+ mov r3,a
+;
+;b counts the number of places+1 the divisor was initially
+; shifted left to align its ms bit set with the ms bit set
+; in the dividend
+;
+ mov b,#1
+;
+;Make an error return if trying to divide by zero
+;
+ mov a,r1
+ orl a,r0
+ jz dua920
+;
+;Just return with quotient and remainder zero if dividend is zero
+;
+ mov a,r5;
+ orl a,r4;
+ jnz dua200;
+ mov r7,a;
+ mov r6,a;
+ ajmp dua910 ;Make a normal return
+;
+;Align the msb set in the demoninator with the msb set in the
+; numerator. Increment the shift count in b each time a shift left
+; is performed.
+;
+dua200:
+ mov a,r1 ;Stop if MSB set
+ rlc a
+ jc dua600
+ clr c
+ mov a,r5 ;Compare r1 & r5
+ subb a,r1
+ jc dua600 ; jump if r1>r5
+ jnz dua240 ; jump if r1r4
+dua240:
+ clr c ;Now shift the denominator
+ mov a,r0 ; left 1 bit position
+ rlc a
+ mov r0,a
+ mov a,r1
+ rlc a
+ mov r1,a
+ inc b ;Increment b counter and
+ sjmp dua200 ; continue
+;
+;Compare the shifted divisor with the remainder (what's
+; left of the dividend)
+;
+dua600:
+ clr c
+ mov a,r5
+ subb a,r1
+ jc dua720 ;jump if r1>r5
+ jnz dua700 ;jump if r1r4
+;
+;Divisor is equal or smaller, so subtract it off and
+; get a 1 for the quotient
+;
+dua700:
+ mov a,r4
+ clr c
+ subb a,r0
+ mov r4,a
+ mov a,r5
+ subb a,r1
+ mov r5,a
+ clr c
+ cpl c ;Get a 1 for the quotient
+ sjmp dua730
+;
+;Divisor is greater, get a 0 for the quotient
+;
+dua720:
+ clr c
+;
+;Shift 0 or 1 into quotient
+;
+dua730:
+ mov a,r2
+ rlc a
+ mov r2,a
+ mov a,r3
+ rlc a ;Test for overlow removed here because
+ mov r3,a ; it can't happen when dividing 16 by 16
+;
+;Now shift the denominator right 1, decrement the counter
+; in b until b = 0
+;
+dua740:
+ clr c
+ mov a,r1
+ rrc a
+ mov r1,a
+ mov a,r0
+ rrc a
+ mov r0,a
+ djnz b,dua600
+;
+;Move quotient and remainder so that quotient is returned in the same
+; registers as the dividend. This makes it easier to divide repeatedly
+; by the same number as you would do when converting to a new radix.
+;
+ mov a,r5
+ mov r7,a
+ mov a,r4
+ mov r6,a
+ mov a,r3
+ mov r5,a
+ mov a,r2
+ mov r4,a
+;
+;Make the normal return
+;
+dua910:
+ clr c
+ ret
+;
+;Make the error return
+;
+dua920:
+ clr c
+ cpl c
+ ret
+;End of DIV16U
DIV16U.asm
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: v/counter_test.v
===================================================================
--- v/counter_test.v (nonexistent)
+++ v/counter_test.v (revision 186)
@@ -0,0 +1,1421 @@
+] = 8'h00;
+ buff [16'h00_0e] = 8'h00;
+ buff [16'h00_0f] = 8'h00;
+ buff [16'h00_10] = 8'h00;
+ buff [16'h00_11] = 8'h00;
+ buff [16'h00_12] = 8'h00;
+ buff [16'h00_13] = 8'h01;
+ buff [16'h00_14] = 8'h3C;
+ buff [16'h00_15] = 8'h00;
+ buff [16'h00_16] = 8'h00;
+ buff [16'h00_17] = 8'h00;
+ buff [16'h00_18] = 8'h00;
+ buff [16'h00_19] = 8'h00;
+ buff [16'h00_1a] = 8'h00;
+ buff [16'h00_1b] = 8'h01;
+ buff [16'h00_1c] = 8'h45;
+ buff [16'h00_1d] = 8'h00;
+ buff [16'h00_1e] = 8'h00;
+ buff [16'h00_1f] = 8'h00;
+ buff [16'h00_20] = 8'h00;
+ buff [16'h00_21] = 8'h00;
+ buff [16'h00_22] = 8'h00;
+ buff [16'h00_23] = 8'hD2;
+ buff [16'h00_24] = 8'hF4;
+ buff [16'h00_25] = 8'hC2;
+ buff [16'h00_26] = 8'h98;
+ buff [16'h00_27] = 8'hC2;
+ buff [16'h00_28] = 8'h99;
+ buff [16'h00_29] = 8'h32;
+ buff [16'h00_2a] = 8'hD2;
+ buff [16'h00_2b] = 8'hF0;
+ buff [16'h00_2c] = 8'hA2;
+ buff [16'h00_2d] = 8'h00;
+ buff [16'h00_2e] = 8'h40;
+ buff [16'h00_2f] = 8'h1E;
+ buff [16'h00_30] = 8'hC2;
+ buff [16'h00_31] = 8'h02;
+ buff [16'h00_32] = 8'h32;
+ buff [16'h00_33] = 8'hD2;
+ buff [16'h00_34] = 8'hF1;
+ buff [16'h00_35] = 8'hA2;
+ buff [16'h00_36] = 8'h01;
+ buff [16'h00_37] = 8'h40;
+ buff [16'h00_38] = 8'h1B;
+ buff [16'h00_39] = 8'hC2;
+ buff [16'h00_3a] = 8'h03;
+ buff [16'h00_3b] = 8'h32;
+ buff [16'h00_3c] = 8'hD2;
+ buff [16'h00_3d] = 8'hF2;
+ buff [16'h00_3e] = 8'hA2;
+ buff [16'h00_3f] = 8'h02;
+ buff [16'h00_40] = 8'h40;
+ buff [16'h00_41] = 8'h18;
+ buff [16'h00_42] = 8'hC2;
+ buff [16'h00_43] = 8'h00;
+ buff [16'h00_44] = 8'h32;
+ buff [16'h00_45] = 8'hD2;
+ buff [16'h00_46] = 8'hF3;
+ buff [16'h00_47] = 8'hA2;
+ buff [16'h00_48] = 8'h03;
+ buff [16'h00_49] = 8'h40;
+ buff [16'h00_4a] = 8'h15;
+ buff [16'h00_4b] = 8'hC2;
+ buff [16'h00_4c] = 8'h01;
+ buff [16'h00_4d] = 8'h32;
+ buff [16'h00_4e] = 8'h00;
+ buff [16'h00_4f] = 8'hA2;
+ buff [16'h00_50] = 8'h00;
+ buff [16'h00_51] = 8'h40;
+ buff [16'h00_52] = 8'hFB;
+ buff [16'h00_53] = 8'h32;
+ buff [16'h00_54] = 8'h00;
+ buff [16'h00_55] = 8'hA2;
+ buff [16'h00_56] = 8'h01;
+ buff [16'h00_57] = 8'h40;
+ buff [16'h00_58] = 8'hFB;
+ buff [16'h00_59] = 8'h32;
+ buff [16'h00_5a] = 8'h00;
+ buff [16'h00_5b] = 8'hA2;
+ buff [16'h00_5c] = 8'h02;
+ buff [16'h00_5d] = 8'h40;
+ buff [16'h00_5e] = 8'hFB;
+ buff [16'h00_5f] = 8'h32;
+ buff [16'h00_60] = 8'h00;
+ buff [16'h00_61] = 8'hA2;
+ buff [16'h00_62] = 8'h03;
+ buff [16'h00_63] = 8'h40;
+ buff [16'h00_64] = 8'hFB;
+ buff [16'h00_65] = 8'h32;
+ buff [16'h00_66] = 8'h00;
+ buff [16'h00_67] = 8'h00;
+ buff [16'h00_68] = 8'h14;
+ buff [16'h00_69] = 8'h70;
+ buff [16'h00_6a] = 8'hFB;
+ buff [16'h00_6b] = 8'h22;
+ buff [16'h00_6c] = 8'h75;
+ buff [16'h00_6d] = 8'hD0;
+ buff [16'h00_6e] = 8'h00;
+ buff [16'h00_6f] = 8'h85;
+ buff [16'h00_70] = 8'h7F;
+ buff [16'h00_71] = 8'h90;
+ buff [16'h00_72] = 8'h00;
+ buff [16'h00_73] = 8'h01;
+ buff [16'h00_74] = 8'h72;
+ buff [16'h00_75] = 8'h95;
+ buff [16'h00_76] = 8'hF0;
+ buff [16'h00_77] = 8'h70;
+ buff [16'h00_78] = 8'hF3;
+ buff [16'h00_79] = 8'h22;
+ buff [16'h00_7a] = 8'h95;
+ buff [16'h00_7b] = 8'h88;
+ buff [16'h00_7c] = 8'h70;
+ buff [16'h00_7d] = 8'hEE;
+ buff [16'h00_7e] = 8'h22;
+ buff [16'h00_7f] = 8'hE4;
+ buff [16'h00_80] = 8'hF8;
+ buff [16'h00_81] = 8'hF9;
+ buff [16'h00_82] = 8'hFA;
+ buff [16'h00_83] = 8'hFB;
+ buff [16'h00_84] = 8'hFC;
+ buff [16'h00_85] = 8'hF5;
+ buff [16'h00_86] = 8'h7F;
+ buff [16'h00_87] = 8'hF5;
+ buff [16'h00_88] = 8'h20;
+ buff [16'h00_89] = 8'h75;
+ buff [16'h00_8a] = 8'h81;
+ buff [16'h00_8b] = 8'h2F;
+ buff [16'h00_8c] = 8'h75;
+ buff [16'h00_8d] = 8'hA8;
+ buff [16'h00_8e] = 8'h0F;
+ buff [16'h00_8f] = 8'h75;
+ buff [16'h00_90] = 8'h99;
+ buff [16'h00_91] = 8'h00;
+ buff [16'h00_92] = 8'h75;
+ buff [16'h00_93] = 8'h89;
+ buff [16'h00_94] = 8'h33;
+ buff [16'h00_95] = 8'h75;
+ buff [16'h00_96] = 8'h8C;
+ buff [16'h00_97] = 8'hFD;
+ buff [16'h00_98] = 8'h75;
+ buff [16'h00_99] = 8'h8A;
+ buff [16'h00_9a] = 8'hFC;
+ buff [16'h00_9b] = 8'h75;
+ buff [16'h00_9c] = 8'h88;
+ buff [16'h00_9d] = 8'h50;
+ buff [16'h00_9e] = 8'hC2;
+ buff [16'h00_9f] = 8'hB4;
+ buff [16'h00_a0] = 8'hC2;
+ buff [16'h00_a1] = 8'hB3;
+ buff [16'h00_a2] = 8'h75;
+ buff [16'h00_a3] = 8'h7F;
+ buff [16'h00_a4] = 8'h01;
+ buff [16'h00_a5] = 8'h74;
+ buff [16'h00_a6] = 8'h10;
+ buff [16'h00_a7] = 8'h11;
+ buff [16'h00_a8] = 8'h66;
+ buff [16'h00_a9] = 8'hC2;
+ buff [16'h00_aa] = 8'h8E;
+ buff [16'h00_ab] = 8'hC2;
+ buff [16'h00_ac] = 8'h8C;
+ buff [16'h00_ad] = 8'hE4;
+ buff [16'h00_ae] = 8'h11;
+ buff [16'h00_af] = 8'h75;
+ buff [16'h00_b0] = 8'h74;
+ buff [16'h00_b1] = 8'hAA;
+ buff [16'h00_b2] = 8'h75;
+ buff [16'h00_b3] = 8'h7F;
+ buff [16'h00_b4] = 8'h02;
+ buff [16'h00_b5] = 8'h11;
+ buff [16'h00_b6] = 8'h7A;
+ buff [16'h00_b7] = 8'h75;
+ buff [16'h00_b8] = 8'h88;
+ buff [16'h00_b9] = 8'h00;
+ buff [16'h00_ba] = 8'h74;
+ buff [16'h00_bb] = 8'h0A;
+ buff [16'h00_bc] = 8'h11;
+ buff [16'h00_bd] = 8'h7A;
+ buff [16'h00_be] = 8'hD2;
+ buff [16'h00_bf] = 8'hB4;
+ buff [16'h00_c0] = 8'hD2;
+ buff [16'h00_c1] = 8'hB3;
+ buff [16'h00_c2] = 8'h74;
+ buff [16'h00_c3] = 8'h00;
+ buff [16'h00_c4] = 8'h11;
+ buff [16'h00_c5] = 8'h7A;
+ buff [16'h00_c6] = 8'hC2;
+ buff [16'h00_c7] = 8'h98;
+ buff [16'h00_c8] = 8'hC2;
+ buff [16'h00_c9] = 8'h99;
+ buff [16'h00_ca] = 8'h75;
+ buff [16'h00_cb] = 8'h88;
+ buff [16'h00_cc] = 8'h05;
+ buff [16'h00_cd] = 8'h75;
+ buff [16'h00_ce] = 8'hA8;
+ buff [16'h00_cf] = 8'h99;
+ buff [16'h00_d0] = 8'h75;
+ buff [16'h00_d1] = 8'h8C;
+ buff [16'h00_d2] = 8'hFD;
+ buff [16'h00_d3] = 8'h75;
+ buff [16'h00_d4] = 8'h8A;
+ buff [16'h00_d5] = 8'hFC;
+ buff [16'h00_d6] = 8'h75;
+ buff [16'h00_d7] = 8'h88;
+ buff [16'h00_d8] = 8'h55;
+ buff [16'h00_d9] = 8'h75;
+ buff [16'h00_da] = 8'h99;
+ buff [16'h00_db] = 8'h98;
+ buff [16'h00_dc] = 8'hC2;
+ buff [16'h00_dd] = 8'hB4;
+ buff [16'h00_de] = 8'hC2;
+ buff [16'h00_df] = 8'hB3;
+ buff [16'h00_e0] = 8'hD2;
+ buff [16'h00_e1] = 8'hB4;
+ buff [16'h00_e2] = 8'hD2;
+ buff [16'h00_e3] = 8'hB3;
+ buff [16'h00_e4] = 8'h75;
+ buff [16'h00_e5] = 8'h7F;
+ buff [16'h00_e6] = 8'h03;
+ buff [16'h00_e7] = 8'h74;
+ buff [16'h00_e8] = 8'h10;
+ buff [16'h00_e9] = 8'h11;
+ buff [16'h00_ea] = 8'h66;
+ buff [16'h00_eb] = 8'hC2;
+ buff [16'h00_ec] = 8'h8E;
+ buff [16'h00_ed] = 8'hC2;
+ buff [16'h00_ee] = 8'h8C;
+ buff [16'h00_ef] = 8'h74;
+ buff [16'h00_f0] = 8'h19;
+ buff [16'h00_f1] = 8'h11;
+ buff [16'h00_f2] = 8'h75;
+ buff [16'h00_f3] = 8'h75;
+ buff [16'h00_f4] = 8'h7F;
+ buff [16'h00_f5] = 8'h04;
+ buff [16'h00_f6] = 8'h74;
+ buff [16'h00_f7] = 8'h2D;
+ buff [16'h00_f8] = 8'h11;
+ buff [16'h00_f9] = 8'h7A;
+ buff [16'h00_fa] = 8'h75;
+ buff [16'h00_fb] = 8'hF0;
+ buff [16'h00_fc] = 8'h00;
+ buff [16'h00_fd] = 8'h75;
+ buff [16'h00_fe] = 8'hA8;
+ buff [16'h00_ff] = 8'h9F;
+ buff [16'h01_00] = 8'h75;
+ buff [16'h01_01] = 8'h7F;
+ buff [16'h01_02] = 8'h05;
+ buff [16'h01_03] = 8'h74;
+ buff [16'h01_04] = 8'h10;
+ buff [16'h01_05] = 8'h11;
+ buff [16'h01_06] = 8'h66;
+ buff [16'h01_07] = 8'hC2;
+ buff [16'h01_08] = 8'h8E;
+ buff [16'h01_09] = 8'hC2;
+ buff [16'h01_0a] = 8'h8C;
+ buff [16'h01_0b] = 8'h74;
+ buff [16'h01_0c] = 8'h06;
+ buff [16'h01_0d] = 8'h11;
+ buff [16'h01_0e] = 8'h75;
+ buff [16'h01_0f] = 8'h75;
+ buff [16'h01_10] = 8'h7F;
+ buff [16'h01_11] = 8'h06;
+ buff [16'h01_12] = 8'h74;
+ buff [16'h01_13] = 8'h05;
+ buff [16'h01_14] = 8'h11;
+ buff [16'h01_15] = 8'h7A;
+ buff [16'h01_16] = 8'h75;
+ buff [16'h01_17] = 8'hF0;
+ buff [16'h01_18] = 8'h00;
+ buff [16'h01_19] = 8'h75;
+ buff [16'h01_1a] = 8'h88;
+ buff [16'h01_1b] = 8'hAF;
+ buff [16'h01_1c] = 8'hD2;
+ buff [16'h01_1d] = 8'h98;
+ buff [16'h01_1e] = 8'h75;
+ buff [16'h01_1f] = 8'h7F;
+ buff [16'h01_20] = 8'h07;
+ buff [16'h01_21] = 8'h74;
+ buff [16'h01_22] = 8'h05;
+ buff [16'h01_23] = 8'h11;
+ buff [16'h01_24] = 8'h66;
+ buff [16'h01_25] = 8'h74;
+ buff [16'h01_26] = 8'h1F;
+ buff [16'h01_27] = 8'h11;
+ buff [16'h01_28] = 8'h75;
+ buff [16'h01_29] = 8'h75;
+ buff [16'h01_2a] = 8'h7F;
+ buff [16'h01_2b] = 8'h08;
+ buff [16'h01_2c] = 8'h74;
+ buff [16'h01_2d] = 8'h05;
+ buff [16'h01_2e] = 8'h11;
+ buff [16'h01_2f] = 8'h7A;
+ buff [16'h01_30] = 8'h75;
+ buff [16'h01_31] = 8'h80;
+ buff [16'h01_32] = 8'h01;
+ buff [16'h01_33] = 8'h75;
+ buff [16'h01_34] = 8'hF0;
+ buff [16'h01_35] = 8'h00;
+ buff [16'h01_36] = 8'h75;
+ buff [16'h01_37] = 8'hA8;
+ buff [16'h01_38] = 8'h8F;
+ buff [16'h01_39] = 8'h75;
+ buff [16'h01_3a] = 8'hB8;
+ buff [16'h01_3b] = 8'h03;
+ buff [16'h01_3c] = 8'h75;
+ buff [16'h01_3d] = 8'h14;
+ buff [16'h01_3e] = 8'h0C;
+ buff [16'h01_3f] = 8'h75;
+ buff [16'h01_40] = 8'h88;
+ buff [16'h01_41] = 8'hAF;
+ buff [16'h01_42] = 8'h75;
+ buff [16'h01_43] = 8'h7F;
+ buff [16'h01_44] = 8'h09;
+ buff [16'h01_45] = 8'h74;
+ buff [16'h01_46] = 8'h05;
+ buff [16'h01_47] = 8'h11;
+ buff [16'h01_48] = 8'h66;
+ buff [16'h01_49] = 8'h74;
+ buff [16'h01_4a] = 8'h0F;
+ buff [16'h01_4b] = 8'h11;
+ buff [16'h01_4c] = 8'h75;
+ buff [16'h01_4d] = 8'h75;
+ buff [16'h01_4e] = 8'h7F;
+ buff [16'h01_4f] = 8'h0A;
+ buff [16'h01_50] = 8'h74;
+ buff [16'h01_51] = 8'h05;
+ buff [16'h01_52] = 8'h11;
+ buff [16'h01_53] = 8'h7A;
+ buff [16'h01_54] = 8'h75;
+ buff [16'h01_55] = 8'hF0;
+ buff [16'h01_56] = 8'h00;
+ buff [16'h01_57] = 8'h75;
+ buff [16'h01_58] = 8'hB8;
+ buff [16'h01_59] = 8'h0C;
+ buff [16'h01_5a] = 8'h75;
+ buff [16'h01_5b] = 8'h14;
+ buff [16'h01_5c] = 8'h03;
+ buff [16'h01_5d] = 8'h75;
+ buff [16'h01_5e] = 8'h88;
+ buff [16'h01_5f] = 8'hAF;
+ buff [16'h01_60] = 8'h75;
+ buff [16'h01_61] = 8'h7F;
+ buff [16'h01_62] = 8'h0B;
+ buff [16'h01_63] = 8'h74;
+ buff [16'h01_64] = 8'h05;
+ buff [16'h01_65] = 8'h11;
+ buff [16'h01_66] = 8'h66;
+ buff [16'h01_67] = 8'h74;
+ buff [16'h01_68] = 8'h0F;
+ buff [16'h01_69] = 8'h11;
+ buff [16'h01_6a] = 8'h75;
+ buff [16'h01_6b] = 8'h75;
+ buff [16'h01_6c] = 8'h7F;
+ buff [16'h01_6d] = 8'h0C;
+ buff [16'h01_6e] = 8'h74;
+ buff [16'h01_6f] = 8'h05;
+ buff [16'h01_70] = 8'h11;
+ buff [16'h01_71] = 8'h7A;
+ buff [16'h01_72] = 8'h75;
+ buff [16'h01_73] = 8'h80;
+ buff [16'h01_74] = 8'h02;
+end
+
+always @(posedge clk)
+begin
+ data1 <= #1 buff [addr];
+ data2 <= #1 buff [addr+1];
+ data3 <= #1 buff [addr+2];
+end
+
+endmodule
+ ///
+/// created by oc8051 rom maker
+/// author: Simon Teran (simont@opencores.org)
+///
+/// source file: D:\tmp\asm\TEMP\serial_test.hex
+/// date: 16.7.02
+/// time: 21:34:18
+///
+01
+3F
+00
+32
+00
+00
+00
+00
+00
+00
+00
+D2
+B1
+C2
+B1
+32
+00
+00
+00
+32
+00
+00
+00
+00
+00
+00
+00
+32
+00
+00
+00
+00
+00
+00
+00
+C2
+98
+C2
+99
+75
+F0
+01
+32
+E5
+F0
+60
+FC
+22
+E3
+9A
+70
+5C
+A2
+B0
+50
+58
+22
+E5
+99
+9B
+70
+52
+22
+E4
+F5
+7F
+C2
+B7
+C2
+B0
+75
+A8
+90
+78
+98
+79
+99
+75
+82
+87
+75
+83
+00
+75
+98
+00
+75
+F0
+00
+74
+10
+7A
+6C
+F2
+8A
+99
+11
+2B
+11
+30
+A2
+B0
+50
+28
+C3
+74
+00
+F2
+75
+7F
+01
+00
+00
+A2
+B0
+40
+1B
+75
+7F
+02
+75
+F0
+00
+74
+D3
+FB
+F3
+75
+98
+10
+11
+2B
+11
+39
+A2
+B0
+50
+06
+C3
+75
+80
+00
+01
+96
+85
+7F
+A0
+00
+01
+93
+75
+F0
+00
+75
+A8
+92
+75
+7F
+03
+C2
+B1
+74
+50
+F2
+75
+98
+40
+75
+8C
+EC
+75
+8A
+EC
+75
+8D
+EC
+75
+8B
+EC
+75
+89
+22
+D2
+8C
+D2
+8E
+7A
+95
+8A
+99
+11
+2B
+C2
+8C
+C2
+8E
+11
+30
+75
+7F
+04
+75
+F0
+00
+74
+40
+F2
+75
+98
+50
+74
+A2
+FB
+D2
+8C
+D2
+8E
+F3
+11
+2B
+C2
+8C
+C2
+8E
+11
+39
+75
+7F
+05
+A2
+9A
+50
+A7
+75
+F0
+00
+75
+A8
+82
+75
+7F
+06
+74
+50
+F2
+75
+98
+50
+D2
+8C
+D2
+8E
+7A
+97
+8A
+99
+74
+D5
+FB
+F3
+A2
+99
+50
+FC
+A2
+98
+50
+F8
+C2
+8C
+C2
+8E
+11
+30
+75
+7F
+07
+11
+39
+C2
+99
+C2
+98
+75
+80
+01
+75
+F0
+00
+75
+A8
+90
+75
+7F
+08
+74
+90
+F2
+75
+98
+80
+7A
+95
+8A
+99
+11
+2B
+11
+30
+75
+7F
+09
+75
+F0
+00
+74
+88
+F2
+75
+98
+90
+74
+A2
+FB
+F7
+11
+2B
+11
+39
+75
+7F
+0A
+A2
+9A
+50
+52
+75
+7F
+0B
+75
+F0
+00
+74
+80
+F2
+75
+98
+B0
+74
+A2
+FB
+F7
+00
+A2
+98
+50
+FB
+11
+39
+75
+7F
+0C
+E5
+F0
+60
+34
+75
+F0
+00
+75
+A8
+00
+75
+7F
+0D
+74
+90
+F2
+74
+80
+F0
+F5
+87
+75
+98
+5A
+7A
+97
+8A
+99
+74
+D5
+FB
+F3
+A2
+99
+50
+FC
+A2
+98
+50
+F8
+11
+30
+75
+7F
+0E
+11
+39
+C2
+99
+C2
+98
+75
+80
+02
+21
+A5
+02
+00
+90
+75
+F0
+00
+75
+A8
+92
+75
+7F
+0F
+74
+D0
+F2
+75
+98
+C0
+7A
+95
+D2
+8C
+D2
+8E
+8A
+99
+11
+2B
+C2
+8C
+C2
+8E
+11
+30
+75
+7F
+10
+75
+F0
+00
+74
+C0
+F2
+75
+98
+D4
+74
+A2
+FB
+F7
+D2
+8C
+D2
+8E
+11
+2B
+C2
+8C
+C2
+8E
+11
+39
+75
+7F
+11
+A2
+9A
+40
+BB
+75
+F0
+00
+75
+A8
+92
+75
+7F
+12
+74
+D0
+F2
+75
+98
+F8
+7A
+97
+D2
+8C
+D2
+8E
+8A
+99
+74
+D5
+FB
+F3
+A2
+99
+50
+FC
+A2
+98
+50
+F8
+C2
+8C
+C2
+8E
+11
+30
+75
+7F
+13
+11
+39
+C2
+99
+C2
+98
+75
+7F
+14
+A2
+9A
+40
+82
+E2
+94
+D7
+75
+80
+03
+ SERIAL~1V lÆð,ð, L¬ð,’E
+///
+/// created by oc8051 rom maker
+/// author: Simon Teran (simont@opencores.org)
+///
+/// source file: D:\tmp\asm\TEMP\serial_test.hex
+/// date: 16.7.02
+/// time: 21:34:23
+///
+
+module oc8051_rom (rst, clk, addr, ea_int, data1, data2, data3);
+
+parameter INT_ROM_WID= 10;
+
+input rst, clk;
+input [15:0] addr;
+output ea_int;
+output [7:0] data1, data2, data3;
+reg [7:0] data1, data2, data3;
+reg [7:0] buff [65535:0];
+integer i;
+
+wire ea;
+
+assign ea = | addr[15:INT_ROM_WID];
+assign ea_int = ! ea;
+
+initial
+begin
+ for (i=0; i<65536; i=i+1)
+ buff [i] = 8'h00;
+#2
+
+ buff [16'h00_00] = 8'h01;
+ buff [16'h00_01] = 8'h3F;
+ buff [16'h00_02] = 8'h00;
+ buff [16'h00_03] = 8'h32;
+ buff [16'h00_04] = 8'h00;
+ buff [16'h00_05] = 8'h00;
+ buff [16'h00_06] = 8'h00;
+ buff [16'h00_07] = 8'h00;
+ buff [16'h00_08] = 8'h00;
+ buff [16'h00_09] = 8'h00;
+ buff [16'h00_0a] = 8'h00;
+ buff [16'h00_0b] = 8'hD2;
+ buff [16'h00_0c] = 8'hB1;
+ buff [16'h00_0d] = 8'hC2;
+ buff [16'h00_0e] = 8'hB1;
+ buff [16'h00_0f] = 8'h32;
+ buff [16'h00_10] = 8'h00;
+ buff [16'h00_11] = 8'h00;
+ buff [16'h00_12] = 8'h00;
+ buff [16'h00_13] = 8'h32;
+ buff [16'h00_14] = 8'h00;
+ buff [16'h00_15] = 8'h00;
+ buff [16'h00_16] = 8'h00;
+ buff [16'h00_17] = 8'h00;
+ buff [16'h00_18] = 8'h00;
+ buff [16'h00_19] = 8'h00;
+ buff [16'h00_1a] = 8'h00;
+ buff [16'h00_1b] = 8'h32;
+ buff [16'h00_1c] = 8'h00;
+ buff [16'h00_1d] = 8'h00;
+ buff [16'h00_1e] = 8'h00;
+ buff [16'h00_1f] = 8'h00;
+ buff [16'h00_20] = 8'h00;
+ buff [16'h00_21] = 8'h00;
+ buff [16'h00_22] = 8'h00;
+ buff [16'h00_23] = 8'hC2;
+ buff [16'h00_24] = 8'h98;
+ buff [16'h00_25] = 8'hC2;
+ buff [16'h00_26] = 8'h99;
+ buff [16'h00_27] = 8'h75;
+ buff [16'h00_28] = 8'hF0;
+ buff [16'h00_29] = 8'h01;
+ buff [16'h00_2a] = 8'h32;
+ buff [16'h00_2b] = 8'hE5;
+ buff [16'h00_2c] = 8'hF0;
+ buff [16'h00_2d] = 8'h60;
+ buff [16'h00_2e] = 8'hFC;
+ buff [16'h00_2f] = 8'h22;
+ buff [16'h00_30] = 8'hE3;
+ buff [16'h00_31] = 8'h9A;
+ buff [16'h00_32] = 8'h70;
+ buff [16'h00_33] = 8'h5C;
+ buff [16'h00_34] = 8'hA2;
+ buff [16'h00_35] = 8'hB0;
+ buff [16'h00_36] = 8'h50;
+ buff [16'h00_37] = 8'h58;
+ buff [16'h00_38] = 8'h22;
+ buff [16'h00_39] = 8'hE5;
+ buff [16'h00_3a] = 8'h99;
+ buff [16'h00_3b] = 8'h9B;
+ buff [16'h00_3c] = 8'h70;
+ buff [16'h00_3d] = 8'h52;
+ buff [16'h00_3e] = 8'h22;
+ buff [16'h00_3f] = 8'hE4;
+ buff [16'h00_40] = 8'hF5;
+ buff [16'h00_41] = 8'h7F;
+ buff [16'h00_42] = 8'hC2;
+ buff [16'h00_43] = 8'hB7;
+ buff [16'h00_44] = 8'hC2;
+ buff [16'h00_45] = 8'hB0;
+ buff [16'h00_46] = 8'h75;
+ buff [16'h00_47] = 8'hA8;
+ buff [16'h00_48] = 8'h90;
+ buff [16'h00_49] = 8'h78;
+ buff [16'h00_4a] = 8'h98;
+ buff [16'h00_4b] = 8'h79;
+ buff [16'h00_4c] = 8'h99;
+ buff [16'h00_4d] = 8'h75;
+ buff [16'h00_4e] = 8'h82;
+ buff [16'h00_4f] = 8'h87;
+ buff [16'h00_50] = 8'h75;
+ buff [16'h00_51] = 8'h83;
+ buff [16'h00_52] = 8'h00;
+ buff [16'h00_53] = 8'h75;
+ buff [16'h00_54] = 8'h98;
+ buff [16'h00_55] = 8'h00;
+ buff [16'h00_56] = 8'h75;
+ buff [16'h00_57] = 8'hF0;
+ buff [16'h00_58] = 8'h00;
+ buff [16'h00_59] = 8'h74;
+ buff [16'h00_5a] = 8'h10;
+ buff [16'h00_5b] = 8'h7A;
+ buff [16'h00_5c] = 8'h6C;
+ buff [16'h00_5d] = 8'hF2;
+ buff [16'h00_5e] = 8'h8A;
+ buff [16'h00_5f] = 8'h99;
+ buff [16'h00_60] = 8'h11;
+ buff [16'h00_61] = 8'h2B;
+ buff [16'h00_62] = 8'h11;
+ buff [16'h00_63] = 8'h30;
+ buff [16'h00_64] = 8'hA2;
+ buff [16'h00_65] = 8'hB0;
+ buff [16'h00_66] = 8'h50;
+ buff [16'h00_67] = 8'h28;
+ buff [16'h00_68] = 8'hC3;
+ buff [16'h00_69] = 8'h74;
+ buff [16'h00_6a] = 8'h00;
+ buff [16'h00_6b] = 8'hF2;
+ buff [16'h00_6c] = 8'h75;
+ buff [16'h00_6d] = 8'h7F;
+ buff [16'h00_6e] = 8'h01;
+ buff [16'h00_6f] = 8'h00;
+ buff [16'h00_70] = 8'h00;
+ buff [16'h00_71] = 8'hA2;
+ buff [16'h00_72] = 8'hB0;
+ buff [16'h00_73] = 8'h40;
+ buff [16'h00_74] = 8'h1B;
+ buff [16'h00_75] = 8'h75;
+ buff [16'h00_76] = 8'h7F;
+ buff [16'h00_77] = 8'h02;
+ buff [16'h00_78] = 8'h75;
+ buff [16'h00_79] = 8'hF0;
+ buff [16'h00_7a] = 8'h00;
+ buff [16'h00_7b] = 8'h74;
+ buff [16'h00_7c] = 8'hD3;
+ buff [16'h00_7d] = 8'hFB;
+ buff [16'h00_7e] = 8'hF3;
+ buff [16'h00_7f] = 8'h75;
+ buff [16'h00_80] = 8'h98;
+ buff [16'h00_81] = 8'h10;
+ buff [16'h00_82] = 8'h11;
+ buff [16'h00_83] = 8'h2B;
+ buff [16'h00_84] = 8'h11;
+ buff [16'h00_85] = 8'h39;
+ buff [16'h00_86] = 8'hA2;
+ buff [16'h00_87] = 8'hB0;
+ buff [16'h00_88] = 8'h50;
+ buff [16'h00_89] = 8'h06;
+ buff [16'h00_8a] = 8'hC3;
+ buff [16'h00_8b] = 8'h75;
+ buff [16'h00_8c] = 8'h80;
+ buff [16'h00_8d] = 8'h00;
+ buff [16'h00_8e] = 8'h01;
+ buff [16'h00_8f] = 8'h96;
+ buff [16'h00_90] = 8'h85;
+ buff [16'h00_91] = 8'h7F;
+ buff [16'h00_92] = 8'hA0;
+ buff [16'h00_93] = 8'h00;
+ buff [16'h00_94] = 8'h01;
+ buff [16'h00_95] = 8'h93;
+ buff [16'h00_96] = 8'h75;
+ buff [16'h00_97] = 8'hF0;
+ buff [16'h00_98] = 8'h00;
+ buff [16'h00_99] = 8'h75;
+ buff [16'h00_9a] = 8'hA8;
+ buff [16'h00_9b] = 8'h92;
+ buff [16'h00_9c] = 8'h75;
+ buff [16'h00_9d] = 8'h7F;
+ buff [16'h00_9e] = 8'h03;
+ buff [16'h00_9f] = 8'hC2;
+ buff [16'h00_a0] = 8'hB1;
+ buff [16'h00_a1] = 8'h74;
+ buff [16'h00_a2] = 8'h50;
+ buff [16'h00_a3] = 8'hF2;
+ buff [16'h00_a4] = 8'h75;
+ buff [16'h00_a5] = 8'h98;
+ buff [16'h00_a6] = 8'h40;
+ buff [16'h00_a7] = 8'h75;
+ buff [16'h00_a8] = 8'h8C;
+ buff [16'h00_a9] = 8'hEC;
+ buff [16'h00_aa] = 8'h75;
+ buff [16'h00_ab] = 8'h8A;
+ buff [16'h00_ac] = 8'hEC;
+ buff [16'h00_ad] = 8'h75;
+ buff [16'h00_ae] = 8'h8D;
+ buff [16'h00_af] = 8'hEC;
+ buff [16'h00_b0] = 8'h75;
+ buff [16'h00_b1] = 8'h8B;
+ buff [16'h00_b2] = 8'hEC;
+ buff [16'h00_b3] = 8'h75;
+ buff [16'h00_b4] = 8'h89;
+ buff [16'h00_b5] = 8'h22;
+ buff [16'h00_b6] = 8'hD2;
+ buff [16'h00_b7] = 8'h8C;
+ buff [16'h00_b8] = 8'hD2;
+ buff [16'h00_b9] = 8'h8E;
+ buff [16'h00_ba] = 8'h7A;
+ buff [16'h00_bb] = 8'h95;
+ buff [16'h00_bc] = 8'h8A;
+ buff [16'h00_bd] = 8'h99;
+ buff [16'h00_be] = 8'h11;
+ buff [16'h00_bf] = 8'h2B;
+ buff [16'h00_c0] = 8'hC2;
+ buff [16'h00_c1] = 8'h8C;
+ buff [16'h00_c2] = 8'hC2;
+ buff [16'h00_c3] = 8'h8E;
+ buff [16'h00_c4] = 8'h11;
+ buff [16'h00_c5] = 8'h30;
+ buff [16'h00_c6] = 8'h75;
+ buff [16'h00_c7] = 8'h7F;
+ buff [16'h00_c8] = 8'h04;
+ buff [16'h00_c9] = 8'h75;
+ buff [16'h00_ca] = 8'hF0;
+ buff [16'h00_cb] = 8'h00;
+ buff [16'h00_cc] = 8'h74;
+ buff [16'h00_cd] = 8'h40;
+ buff [16'h00_ce] = 8'hF2;
+ buff [16'h00_cf] = 8'h75;
+ buff [16'h00_d0] = 8'h98;
+ buff [16'h00_d1] = 8'h50;
+ buff [16'h00_d2] = 8'h74;
+ buff [16'h00_d3] = 8'hA2;
+ buff [16'h00_d4] = 8'hFB;
+ buff [16'h00_d5] = 8'hD2;
+ buff [16'h00_d6] = 8'h8C;
+ buff [16'h00_d7] = 8'hD2;
+ buff [16'h00_d8] = 8'h8E;
+ buff [16'h00_d9] = 8'hF3;
+ buff [16'h00_da] = 8'h11;
+ buff [16'h00_db] = 8'h2B;
+ buff [16'h00_dc] = 8'hC2;
+ buff [16'h00_dd] = 8'h8C;
+ buff [16'h00_de] = 8'hC2;
+ buff [16'h00_df] = 8'h8E;
+ buff [16'h00_e0] = 8'h11;
+ buff [16'h00_e1] = 8'h39;
+ buff [16'h00_e2] = 8'h75;
+ buff [16'h00_e3] = 8'h7F;
+ buff [16'h00_e4] = 8'h05;
+ buff [16'h00_e5] = 8'hA2;
+ buff [16'h00_e6] = 8'h9A;
+ buff [16'h00_e7] = 8'h50;
+ buff [16'h00_e8] = 8'hA7;
+ buff [16'h00_e9] = 8'h75;
+ buff [16'h00_ea] = 8'hF0;
+ buff [16'h00_eb] = 8'h00;
+ buff [16'h00_ec] = 8'h75;
+ buff [16'h00_ed] = 8'hA8;
+ buff [16'h00_ee] = 8'h82;
+ buff [16'h00_ef] = 8'h75;
+ buff [16'h00_f0] = 8'h7F;
+ buff [16'h00_f1] = 8'h06;
+ buff [16'h00_f2] = 8'h74;
+ buff [16'h00_f3] = 8'h50;
+ buff [16'h00_f4] = 8'hF2;
+ buff [16'h00_f5] = 8'h75;
+ buff [16'h00_f6] = 8'h98;
+ buff [16'h00_f7] = 8'h50;
+ buff [16'h00_f8] = 8'hD2;
+ buff [16'h00_f9] = 8'h8C;
+ buff [16'h00_fa] = 8'hD2;
+ buff [16'h00_fb] = 8'h8E;
+ buff [16'h00_fc] = 8'h7A;
+ buff [16'h00_fd] = 8'h97;
+ buff [16'h00_fe] = 8'h8A;
+ buff [16'h00_ff] = 8'h99;
+ buff [16'h01_00] = 8'h74;
+ buff [16'h01_01] = 8'hD5;
+ buff [16'h01_02] = 8'hFB;
+ buff [16'h01_03] = 8'hF3;
+ buff [16'h01_04] = 8'hA2;
+ buff [16'h01_05] = 8'h99;
+ buff [16'h01_06] = 8'h50;
+ buff [16'h01_07] = 8'hFC;
+ buff [16'h01_08] = 8'hA2;
+ buff [16'h01_09] = 8'h98;
+ buff [16'h01_0a] = 8'h50;
+ buff [16'h01_0b] = 8'hF8;
+ buff [16'h01_0c] = 8'hC2;
+ buff [16'h01_0d] = 8'h8C;
+ buff [16'h01_0e] = 8'hC2;
+ buff [16'h01_0f] = 8'h8E;
+ buff [16'h01_10] = 8'h11;
+ buff [16'h01_11] = 8'h30;
+ buff [16'h01_12] = 8'h75;
+ buff [16'h01_13] = 8'h7F;
+ buff [16'h01_14] = 8'h07;
+ buff [16'h01_15] = 8'h11;
+ buff [16'h01_16] = 8'h39;
+ buff [16'h01_17] = 8'hC2;
+ buff [16'h01_18] = 8'h99;
+ buff [16'h01_19] = 8'hC2;
+ buff [16'h01_1a] = 8'h98;
+ buff [16'h01_1b] = 8'h75;
+ buff [16'h01_1c] = 8'h80;
+ buff [16'h01_1d] = 8'h01;
+ buff [16'h01_1e] = 8'h75;
+ buff [16'h01_1f] = 8'hF0;
+ buff [16'h01_20] = 8'h00;
+ buff [16'h01_21] = 8'h75;
+ buff [16'h01_22] = 8'hA8;
+ buff [16'h01_23] = 8'h90;
+ buff [16'h01_24] = 8'h75;
+ buff [16'h01_25] = 8'h7F;
+ buff [16'h01_26] = 8'h08;
+ buff [16'h01_27] = 8'h74;
+ buff [16'h01_28] = 8'h90;
+ buff [16'h01_29] = 8'hF2;
+ buff [16'h01_2a] = 8'h75;
+ buff [16'h01_2b] = 8'h98;
+ buff [16'h01_2c] = 8'h80;
+ buff [16'h01_2d] = 8'h7A;
+ buff [16'h01_2e] = 8'h95;
+ buff [16'h01_2f] = 8'h8A;
+ buff [16'h01_30] = 8'h99;
+ buff [16'h01_31] = 8'h11;
+ buff [16'h01_32] = 8'h2B;
+ buff [16'h01_33] = 8'h11;
+ buff [16'h01_34] = 8'h30;
+ buff [16'h01_35] = 8'h75;
+ buff [16'h01_36] = 8'h7F;
+ buff [16'h01_37] = 8'h09;
+ buff [16'h01_38] = 8'h75;
+ buff [16'h01_39] = 8'hF0;
+ buff [16'h01_3a] = 8'h00;
+ buff [16'h01_3b] = 8'h74;
+ buff [16'h01_3c] = 8'h88;
+ buff [16'h01_3d] = 8'hF2;
+ buff [16'h01_3e] = 8'h75;
+ buff [16'h01_3f] = 8'h98;
+ buff [16'h01_40] = 8'h90;
+ buff [16'h01_41] = 8'h74;
+ buff [16'h01_42] = 8'hA2;
+ buff [16'h01_43] = 8'hFB;
+ buff [16'h01_44] = 8'hF7;
+ buff [16'h01_45] = 8'h11;
+ buff [16'h01_46] = 8'h2B;
+ buff [16'h01_47] = 8'h11;
+ buff [16'h01_48] = 8'h39;
+ buff [16'h01_49] = 8'h75;
+ buff [16'h01_4a] = 8'h7F;
+ buff [16'h01_4b] = 8'h0A;
+ buff [16'h01_4c] = 8'hA2;
+ buff [16'h01_4d] = 8'h9A;
+ buff [16'h01_4e] = 8'h50;
+ buff [16'h01_4f] = 8'h52;
+ buff [16'h01_50] = 8'h75;
+ buff [16'h01_51] = 8'h7F;
+ buff [16'h01_52] = 8'h0B;
+ buff [16'h01_53] = 8'h75;
+ buff [16'h01_54] = 8'hF0;
+ buff [16'h01_55] = 8'h00;
+ buff [16'h01_56] = 8'h74;
+ buff [16'h01_57] = 8'h80;
+ buff [16'h01_58] = 8'hF2;
+ buff [16'h01_59] = 8'h75;
+ buff [16'h01_5a] = 8'h98;
+ buff [16'h01_5b] = 8'hB0;
+ buff [16'h01_5c] = 8'h74;
+ buff [16'h01_5d] = 8'hA2;
+ buff [16'h01_5e] = 8'hFB;
+ buff [16'h01_5f] = 8'hF7;
+ buff [16'h01_60] = 8'h00;
+ buff [16'h01_61] = 8'hA2;
+ buff [16'h01_62] = 8'h98;
+ buff [16'h01_63] = 8'h50;
+ buff [16'h01_64] = 8'hFB;
+ buff [16'h01_65] = 8'h11;
+ buff [16'h01_66] = 8'h39;
+ buff [16'h01_67] = 8'h75;
+ buff [16'h01_68] = 8'h7F;
+ buff [16'h01_69] = 8'h0C;
+ buff [16'h01_6a] = 8'hE5;
+ buff [16'h01_6b] = 8'hF0;
+ buff [16'h01_6c] = 8'h60;
+ buff [16'h01_6d] = 8'h34;
+ buff [16'h01_6e] = 8'h75;
+ buff [16'h01_6f] = 8'hF0;
+ buff [16'h01_70] = 8'h00;
+ buff [16'h01_71] = 8'h75;
+ buff [16'h01_72] = 8'hA8;
+ buff [16'h01_73] = 8'h00;
+ buff [16'h01_74] = 8'h75;
+ buff [16'h01_75] = 8'h7F;
+ buff [16'h01_76] = 8'h0D;
+ buff [16'h01_77] = 8'h74;
+ buff [16'h01_78] = 8'h90;
+ buff [16'h01_79] = 8'hF2;
+ buff [16'h01_7a] = 8'h74;
+ buff [16'h01_7b] = 8'h80;
+ buff [16'h01_7c] = 8'hF0;
+ buff [16'h01_7d] = 8'hF5;
+ buff [16'h01_7e] = 8'h87;
+ buff [16'h01_7f] = 8'h75;
+ buff [16'h01_80] = 8'h98;
+ buff [16'h01_81] = 8'h5A;
+ buff [16'h01_82] = 8'h7A;
+ buff [16'h01_83] = 8'h97;
+ buff [16'h01_84] = 8'h8A;
+ buff [16'h01_85] = 8'h99;
+ buff [16'h01_86] = 8'h74;
+ buff [16'h01_87] = 8'hD5;
+ buff [16'h01_88] = 8'hFB;
+ buff [16'h01_89] = 8'hF3;
+ buff [16'h01_8a] = 8'hA2;
+ buff [16'h01_8b] = 8'h99;
+ buff [16'h01_8c] = 8'h50;
+ buff [16'h01_8d] = 8'hFC;
+ buff [16'h01_8e] = 8'hA2;
+ buff [16'h01_8f] = 8'h98;
+ buff [16'h01_90] = 8'h50;
+ buff [16'h01_91] = 8'hF8;
+ buff [16'h01_92] = 8'h11;
+ buff [16'h01_93] = 8'h30;
+ buff [16'h01_94] = 8'h75;
+ buff [16'h01_95] = 8'h7F;
+ buff [16'h01_96] = 8'h0E;
+ buff [16'h01_97] = 8'h11;
+ buff [16'h01_98] = 8'h39;
+ buff [16'h01_99] = 8'hC2;
+ buff [16'h01_9a] = 8'h99;
+ buff [16'h01_9b] = 8'hC2;
+ buff [16'h01_9c] = 8'h98;
+ buff [16'h01_9d] = 8'h75;
+ buff [16'h01_9e] = 8'h80;
+ buff [16'h01_9f] = 8'h02;
+ buff [16'h01_a0] = 8'h21;
+ buff [16'h01_a1] = 8'hA5;
+ buff [16'h01_a2] = 8'h02;
+ buff [16'h01_a3] = 8'h00;
+ buff [16'h01_a4] = 8'h90;
+ buff [16'h01_a5] = 8'h75;
+ buff [16'h01_a6] = 8'hF0;
+ buff [16'h01_a7] = 8'h00;
+ buff [16'h01_a8] = 8'h75;
+ buff [16'h01_a9] = 8'hA8;
+ buff [16'h01_aa] = 8'h92;
+ buff [16'h01_ab] = 8'h75;
+ buff [16'h01_ac] = 8'h7F;
+ buff [16'h01_ad] = 8'h0F;
+ buff [16'h01_ae] = 8'h74;
+ buff [16'h01_af] = 8'hD0;
+ buff [16'h01_b0] = 8'hF2;
+ buff [16'h01_b1] = 8'h75;
+ buff [16'h01_b2] = 8'h98;
+ buff [16'h01_b3] = 8'hC0;
+ buff [16'h01_b4] = 8'h7A;
+ buff [16'h01_b5] = 8'h95;
+ buff [16'h01_b6] = 8'hD2;
+ buff [16'h01_b7] = 8'h8C;
+ buff [16'h01_b8] = 8'hD2;
+ buff [16'h01_b9] = 8'h8E;
+ buff [16'h01_ba] = 8'h8A;
+ buff [16'h01_bb] = 8'h99;
+ buff [16'h01_bc] = 8'h11;
+ buff [16'h01_bd] = 8'h2B;
+ buff [16'h01_be] = 8'hC2;
+ buff [16'h01_bf] = 8'h8C;
+ buff [16'h01_c0] = 8'hC2;
+ buff [16'h01_c1] = 8'h8E;
+ buff [16'h01_c2] = 8'h11;
+ buff [16'h01_c3] = 8'h30;
+ buff [16'h01_c4] = 8'h75;
+ buff [16'h01_c5] = 8'h7F;
+ buff [16'h01_c6] = 8'h10;
+ buff [16'h01_c7] = 8'h75;
+ buff [16'h01_c8] = 8'hF0;
+ buff [16'h01_c9] = 8'h00;
+ buff [16'h01_ca] = 8'h74;
+ buff [16'h01_cb]
\ No newline at end of file
v/counter_test.v
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: v/div16u.v
===================================================================
--- v/div16u.v (nonexistent)
+++ v/div16u.v (revision 186)
@@ -0,0 +1,158 @@
+
+///
+/// created by oc8051 rom maker
+/// author: Simon Teran (simont@opencores.org)
+///
+/// source file: D:\tmp\asm\div16u.hex
+/// date: 5.7.02
+/// time: 13:28:06
+///
+
+module oc8051_rom (rst, clk, addr, ea_int, data1, data2, data3);
+
+parameter INT_ROM_WID= 7;
+
+input rst, clk;
+input [15:0] addr;
+output ea_int;
+output [7:0] data1, data2, data3;
+reg [7:0] data1, data2, data3;
+reg [7:0] buff [65535:0];
+integer i;
+
+wire ea;
+
+assign ea = | addr[15:INT_ROM_WID];
+assign ea_int = ! ea;
+
+initial
+begin
+ for (i=0; i<65536; i=i+1)
+ buff [i] = 8'h00;
+#2
+
+ buff [16'h00_00] = 8'h7D;
+ buff [16'h00_01] = 8'hA1;
+ buff [16'h00_02] = 8'h7C;
+ buff [16'h00_03] = 8'h54;
+ buff [16'h00_04] = 8'h79;
+ buff [16'h00_05] = 8'h01;
+ buff [16'h00_06] = 8'h78;
+ buff [16'h00_07] = 8'h70;
+ buff [16'h00_08] = 8'h12;
+ buff [16'h00_09] = 8'h00;
+ buff [16'h00_0a] = 8'h13;
+ buff [16'h00_0b] = 8'h8D;
+ buff [16'h00_0c] = 8'h80;
+ buff [16'h00_0d] = 8'h8C;
+ buff [16'h00_0e] = 8'h80;
+ buff [16'h00_0f] = 8'h89;
+ buff [16'h00_10] = 8'h80;
+ buff [16'h00_11] = 8'h88;
+ buff [16'h00_12] = 8'h80;
+ buff [16'h00_13] = 8'hE4;
+ buff [16'h00_14] = 8'hFA;
+ buff [16'h00_15] = 8'hFB;
+ buff [16'h00_16] = 8'h75;
+ buff [16'h00_17] = 8'hF0;
+ buff [16'h00_18] = 8'h01;
+ buff [16'h00_19] = 8'hE9;
+ buff [16'h00_1a] = 8'h48;
+ buff [16'h00_1b] = 8'h60;
+ buff [16'h00_1c] = 8'h53;
+ buff [16'h00_1d] = 8'hED;
+ buff [16'h00_1e] = 8'h4C;
+ buff [16'h00_1f] = 8'h70;
+ buff [16'h00_20] = 8'h04;
+ buff [16'h00_21] = 8'hFF;
+ buff [16'h00_22] = 8'hFE;
+ buff [16'h00_23] = 8'h01;
+ buff [16'h00_24] = 8'h6E;
+ buff [16'h00_25] = 8'hE9;
+ buff [16'h00_26] = 8'h33;
+ buff [16'h00_27] = 8'h40;
+ buff [16'h00_28] = 8'h16;
+ buff [16'h00_29] = 8'hC3;
+ buff [16'h00_2a] = 8'hED;
+ buff [16'h00_2b] = 8'h99;
+ buff [16'h00_2c] = 8'h40;
+ buff [16'h00_2d] = 8'h11;
+ buff [16'h00_2e] = 8'h70;
+ buff [16'h00_2f] = 8'h04;
+ buff [16'h00_30] = 8'hEC;
+ buff [16'h00_31] = 8'h98;
+ buff [16'h00_32] = 8'h40;
+ buff [16'h00_33] = 8'h0B;
+ buff [16'h00_34] = 8'hC3;
+ buff [16'h00_35] = 8'hE8;
+ buff [16'h00_36] = 8'h33;
+ buff [16'h00_37] = 8'hF8;
+ buff [16'h00_38] = 8'hE9;
+ buff [16'h00_39] = 8'h33;
+ buff [16'h00_3a] = 8'hF9;
+ buff [16'h00_3b] = 8'h05;
+ buff [16'h00_3c] = 8'hF0;
+ buff [16'h00_3d] = 8'h80;
+ buff [16'h00_3e] = 8'hE6;
+ buff [16'h00_3f] = 8'hC3;
+ buff [16'h00_40] = 8'hED;
+ buff [16'h00_41] = 8'h99;
+ buff [16'h00_42] = 8'h40;
+ buff [16'h00_43] = 8'h11;
+ buff [16'h00_44] = 8'h70;
+ buff [16'h00_45] = 8'h04;
+ buff [16'h00_46] = 8'hEC;
+ buff [16'h00_47] = 8'h98;
+ buff [16'h00_48] = 8'h40;
+ buff [16'h00_49] = 8'h0B;
+ buff [16'h00_4a] = 8'hEC;
+ buff [16'h00_4b] = 8'hC3;
+ buff [16'h00_4c] = 8'h98;
+ buff [16'h00_4d] = 8'hFC;
+ buff [16'h00_4e] = 8'hED;
+ buff [16'h00_4f] = 8'h99;
+ buff [16'h00_50] = 8'hFD;
+ buff [16'h00_51] = 8'hC3;
+ buff [16'h00_52] = 8'hB3;
+ buff [16'h00_53] = 8'h80;
+ buff [16'h00_54] = 8'h01;
+ buff [16'h00_55] = 8'hC3;
+ buff [16'h00_56] = 8'hEA;
+ buff [16'h00_57] = 8'h33;
+ buff [16'h00_58] = 8'hFA;
+ buff [16'h00_59] = 8'hEB;
+ buff [16'h00_5a] = 8'h33;
+ buff [16'h00_5b] = 8'hFB;
+ buff [16'h00_5c] = 8'hC3;
+ buff [16'h00_5d] = 8'hE9;
+ buff [16'h00_5e] = 8'h13;
+ buff [16'h00_5f] = 8'hF9;
+ buff [16'h00_60] = 8'hE8;
+ buff [16'h00_61] = 8'h13;
+ buff [16'h00_62] = 8'hF8;
+ buff [16'h00_63] = 8'hD5;
+ buff [16'h00_64] = 8'hF0;
+ buff [16'h00_65] = 8'hD9;
+ buff [16'h00_66] = 8'hED;
+ buff [16'h00_67] = 8'hFF;
+ buff [16'h00_68] = 8'hEC;
+ buff [16'h00_69] = 8'hFE;
+ buff [16'h00_6a] = 8'hEB;
+ buff [16'h00_6b] = 8'hFD;
+ buff [16'h00_6c] = 8'hEA;
+ buff [16'h00_6d] = 8'hFC;
+ buff [16'h00_6e] = 8'hC3;
+ buff [16'h00_6f] = 8'h22;
+ buff [16'h00_70] = 8'hC3;
+ buff [16'h00_71] = 8'hB3;
+ buff [16'h00_72] = 8'h22;
+end
+
+always @(posedge clk)
+begin
+ data1 <= #1 buff [addr];
+ data2 <= #1 buff [addr+1];
+ data3 <= #1 buff [addr+2];
+end
+
+endmodule
v/div16u.v
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: v/negcnt.v
===================================================================
--- v/negcnt.v (nonexistent)
+++ v/negcnt.v (revision 186)
@@ -0,0 +1,80 @@
+
+///
+/// created by p8051Rom.exe
+/// author: Simon Teran (simont@opencores.org)
+///
+/// source file: D:\verilog\oc8051\test\negcnt.hex
+/// date: 6.6.02
+/// time: 22:01:04
+///
+
+module oc8051_rom (rst, clk, addr, ea_int, data1, data2, data3);
+
+parameter INT_ROM_WID= 7;
+
+input rst, clk;
+input [15:0] addr;
+output ea_int;
+output [7:0] data1, data2, data3;
+reg [7:0] data1, data2, data3;
+reg [7:0] buff [65535:0];
+integer i;
+
+wire ea;
+
+assign ea = | addr[15:INT_ROM_WID];
+assign ea_int = ! ea;
+
+initial
+begin
+ for (i=0; i<65536; i=i+1)
+ buff [i] = 8'h00;
+#2
+
+ buff [16'h00_00] = 8'h02;
+ buff [16'h00_01] = 8'h00;
+ buff [16'h00_02] = 8'h19;
+ buff [16'h00_03] = 8'h7F;
+ buff [16'h00_04] = 8'h40;
+ buff [16'h00_05] = 8'h7E;
+ buff [16'h00_06] = 8'hFC;
+ buff [16'h00_07] = 8'hAD;
+ buff [16'h00_08] = 8'h07;
+ buff [16'h00_09] = 8'h8D;
+ buff [16'h00_0a] = 8'h80;
+ buff [16'h00_0b] = 8'h0F;
+ buff [16'h00_0c] = 8'hBF;
+ buff [16'h00_0d] = 8'h00;
+ buff [16'h00_0e] = 8'h01;
+ buff [16'h00_0f] = 8'h0E;
+ buff [16'h00_10] = 8'hBE;
+ buff [16'h00_11] = 8'hFC;
+ buff [16'h00_12] = 8'hF4;
+ buff [16'h00_13] = 8'hBF;
+ buff [16'h00_14] = 8'h4A;
+ buff [16'h00_15] = 8'hF1;
+ buff [16'h00_16] = 8'h80;
+ buff [16'h00_17] = 8'hFE;
+ buff [16'h00_18] = 8'h22;
+ buff [16'h00_19] = 8'h78;
+ buff [16'h00_1a] = 8'h7F;
+ buff [16'h00_1b] = 8'hE4;
+ buff [16'h00_1c] = 8'hF6;
+ buff [16'h00_1d] = 8'hD8;
+ buff [16'h00_1e] = 8'hFD;
+ buff [16'h00_1f] = 8'h75;
+ buff [16'h00_20] = 8'h81;
+ buff [16'h00_21] = 8'h07;
+ buff [16'h00_22] = 8'h02;
+ buff [16'h00_23] = 8'h00;
+ buff [16'h00_24] = 8'h03;
+end
+
+always @(posedge clk)
+begin
+ data1 <= #1 buff [addr];
+ data2 <= #1 buff [addr+1];
+ data3 <= #1 buff [addr+2];
+end
+
+endmodule
v/negcnt.v
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: v/serial_test.v
===================================================================
--- v/serial_test.v (nonexistent)
+++ v/serial_test.v (revision 186)
@@ -0,0 +1,593 @@
+
+///
+/// created by oc8051 rom maker
+/// author: Simon Teran (simont@opencores.org)
+///
+/// source file: D:\tmp\asm\TEMP\serial_test.hex
+/// date: 15.7.02
+/// time: 21:28:38
+///
+
+module oc8051_rom (rst, clk, addr, ea_int, data1, data2, data3);
+
+parameter INT_ROM_WID= 10;
+
+input rst, clk;
+input [15:0] addr;
+output ea_int;
+output [7:0] data1, data2, data3;
+reg [7:0] data1, data2, data3;
+reg [7:0] buff [65535:0];
+integer i;
+
+wire ea;
+
+assign ea = | addr[15:INT_ROM_WID];
+assign ea_int = ! ea;
+
+initial
+begin
+ for (i=0; i<65536; i=i+1)
+ buff [i] = 8'h00;
+#2
+
+ buff [16'h00_00] = 8'h01;
+ buff [16'h00_01] = 8'h3F;
+ buff [16'h00_02] = 8'h00;
+ buff [16'h00_03] = 8'h32;
+ buff [16'h00_04] = 8'h00;
+ buff [16'h00_05] = 8'h00;
+ buff [16'h00_06] = 8'h00;
+ buff [16'h00_07] = 8'h00;
+ buff [16'h00_08] = 8'h00;
+ buff [16'h00_09] = 8'h00;
+ buff [16'h00_0a] = 8'h00;
+ buff [16'h00_0b] = 8'hD2;
+ buff [16'h00_0c] = 8'hB1;
+ buff [16'h00_0d] = 8'hC2;
+ buff [16'h00_0e] = 8'hB1;
+ buff [16'h00_0f] = 8'h32;
+ buff [16'h00_10] = 8'h00;
+ buff [16'h00_11] = 8'h00;
+ buff [16'h00_12] = 8'h00;
+ buff [16'h00_13] = 8'h32;
+ buff [16'h00_14] = 8'h00;
+ buff [16'h00_15] = 8'h00;
+ buff [16'h00_16] = 8'h00;
+ buff [16'h00_17] = 8'h00;
+ buff [16'h00_18] = 8'h00;
+ buff [16'h00_19] = 8'h00;
+ buff [16'h00_1a] = 8'h00;
+ buff [16'h00_1b] = 8'h32;
+ buff [16'h00_1c] = 8'h00;
+ buff [16'h00_1d] = 8'h00;
+ buff [16'h00_1e] = 8'h00;
+ buff [16'h00_1f] = 8'h00;
+ buff [16'h00_20] = 8'h00;
+ buff [16'h00_21] = 8'h00;
+ buff [16'h00_22] = 8'h00;
+ buff [16'h00_23] = 8'hC2;
+ buff [16'h00_24] = 8'h98;
+ buff [16'h00_25] = 8'hC2;
+ buff [16'h00_26] = 8'h99;
+ buff [16'h00_27] = 8'h75;
+ buff [16'h00_28] = 8'hF0;
+ buff [16'h00_29] = 8'h01;
+ buff [16'h00_2a] = 8'h32;
+ buff [16'h00_2b] = 8'hE5;
+ buff [16'h00_2c] = 8'hF0;
+ buff [16'h00_2d] = 8'h60;
+ buff [16'h00_2e] = 8'hFC;
+ buff [16'h00_2f] = 8'h22;
+ buff [16'h00_30] = 8'hE3;
+ buff [16'h00_31] = 8'h9A;
+ buff [16'h00_32] = 8'h70;
+ buff [16'h00_33] = 8'h5C;
+ buff [16'h00_34] = 8'hA2;
+ buff [16'h00_35] = 8'hB0;
+ buff [16'h00_36] = 8'h50;
+ buff [16'h00_37] = 8'h58;
+ buff [16'h00_38] = 8'h22;
+ buff [16'h00_39] = 8'hE5;
+ buff [16'h00_3a] = 8'h99;
+ buff [16'h00_3b] = 8'h9B;
+ buff [16'h00_3c] = 8'h70;
+ buff [16'h00_3d] = 8'h52;
+ buff [16'h00_3e] = 8'h22;
+ buff [16'h00_3f] = 8'hE4;
+ buff [16'h00_40] = 8'hF5;
+ buff [16'h00_41] = 8'h7F;
+ buff [16'h00_42] = 8'hC2;
+ buff [16'h00_43] = 8'hB7;
+ buff [16'h00_44] = 8'hC2;
+ buff [16'h00_45] = 8'hB0;
+ buff [16'h00_46] = 8'h75;
+ buff [16'h00_47] = 8'hA8;
+ buff [16'h00_48] = 8'h90;
+ buff [16'h00_49] = 8'h78;
+ buff [16'h00_4a] = 8'h98;
+ buff [16'h00_4b] = 8'h79;
+ buff [16'h00_4c] = 8'h99;
+ buff [16'h00_4d] = 8'h75;
+ buff [16'h00_4e] = 8'h82;
+ buff [16'h00_4f] = 8'h87;
+ buff [16'h00_50] = 8'h75;
+ buff [16'h00_51] = 8'h83;
+ buff [16'h00_52] = 8'h00;
+ buff [16'h00_53] = 8'h75;
+ buff [16'h00_54] = 8'h98;
+ buff [16'h00_55] = 8'h00;
+ buff [16'h00_56] = 8'h75;
+ buff [16'h00_57] = 8'hF0;
+ buff [16'h00_58] = 8'h00;
+ buff [16'h00_59] = 8'h74;
+ buff [16'h00_5a] = 8'h10;
+ buff [16'h00_5b] = 8'h7A;
+ buff [16'h00_5c] = 8'h6C;
+ buff [16'h00_5d] = 8'hF2;
+ buff [16'h00_5e] = 8'h8A;
+ buff [16'h00_5f] = 8'h99;
+ buff [16'h00_60] = 8'h11;
+ buff [16'h00_61] = 8'h2B;
+ buff [16'h00_62] = 8'h11;
+ buff [16'h00_63] = 8'h30;
+ buff [16'h00_64] = 8'hA2;
+ buff [16'h00_65] = 8'hB0;
+ buff [16'h00_66] = 8'h50;
+ buff [16'h00_67] = 8'h28;
+ buff [16'h00_68] = 8'hC3;
+ buff [16'h00_69] = 8'h74;
+ buff [16'h00_6a] = 8'h00;
+ buff [16'h00_6b] = 8'hF2;
+ buff [16'h00_6c] = 8'h75;
+ buff [16'h00_6d] = 8'h7F;
+ buff [16'h00_6e] = 8'h01;
+ buff [16'h00_6f] = 8'h00;
+ buff [16'h00_70] = 8'h00;
+ buff [16'h00_71] = 8'hA2;
+ buff [16'h00_72] = 8'hB0;
+ buff [16'h00_73] = 8'h40;
+ buff [16'h00_74] = 8'h1B;
+ buff [16'h00_75] = 8'h75;
+ buff [16'h00_76] = 8'h7F;
+ buff [16'h00_77] = 8'h02;
+ buff [16'h00_78] = 8'h75;
+ buff [16'h00_79] = 8'hF0;
+ buff [16'h00_7a] = 8'h00;
+ buff [16'h00_7b] = 8'h74;
+ buff [16'h00_7c] = 8'hD3;
+ buff [16'h00_7d] = 8'hFB;
+ buff [16'h00_7e] = 8'hF3;
+ buff [16'h00_7f] = 8'h75;
+ buff [16'h00_80] = 8'h98;
+ buff [16'h00_81] = 8'h10;
+ buff [16'h00_82] = 8'h11;
+ buff [16'h00_83] = 8'h2B;
+ buff [16'h00_84] = 8'h11;
+ buff [16'h00_85] = 8'h39;
+ buff [16'h00_86] = 8'hA2;
+ buff [16'h00_87] = 8'hB0;
+ buff [16'h00_88] = 8'h50;
+ buff [16'h00_89] = 8'h06;
+ buff [16'h00_8a] = 8'hC3;
+ buff [16'h00_8b] = 8'h75;
+ buff [16'h00_8c] = 8'h80;
+ buff [16'h00_8d] = 8'h00;
+ buff [16'h00_8e] = 8'h01;
+ buff [16'h00_8f] = 8'h96;
+ buff [16'h00_90] = 8'h85;
+ buff [16'h00_91] = 8'h7F;
+ buff [16'h00_92] = 8'hA0;
+ buff [16'h00_93] = 8'h00;
+ buff [16'h00_94] = 8'h01;
+ buff [16'h00_95] = 8'h93;
+ buff [16'h00_96] = 8'h75;
+ buff [16'h00_97] = 8'hF0;
+ buff [16'h00_98] = 8'h00;
+ buff [16'h00_99] = 8'h75;
+ buff [16'h00_9a] = 8'hA8;
+ buff [16'h00_9b] = 8'h92;
+ buff [16'h00_9c] = 8'h75;
+ buff [16'h00_9d] = 8'h7F;
+ buff [16'h00_9e] = 8'h03;
+ buff [16'h00_9f] = 8'hC2;
+ buff [16'h00_a0] = 8'hB1;
+ buff [16'h00_a1] = 8'h74;
+ buff [16'h00_a2] = 8'h50;
+ buff [16'h00_a3] = 8'hF2;
+ buff [16'h00_a4] = 8'h75;
+ buff [16'h00_a5] = 8'h98;
+ buff [16'h00_a6] = 8'h40;
+ buff [16'h00_a7] = 8'h75;
+ buff [16'h00_a8] = 8'h8C;
+ buff [16'h00_a9] = 8'hEC;
+ buff [16'h00_aa] = 8'h75;
+ buff [16'h00_ab] = 8'h8A;
+ buff [16'h00_ac] = 8'hEC;
+ buff [16'h00_ad] = 8'h75;
+ buff [16'h00_ae] = 8'h8D;
+ buff [16'h00_af] = 8'hEC;
+ buff [16'h00_b0] = 8'h75;
+ buff [16'h00_b1] = 8'h8B;
+ buff [16'h00_b2] = 8'hEC;
+ buff [16'h00_b3] = 8'h75;
+ buff [16'h00_b4] = 8'h89;
+ buff [16'h00_b5] = 8'h22;
+ buff [16'h00_b6] = 8'hD2;
+ buff [16'h00_b7] = 8'h8C;
+ buff [16'h00_b8] = 8'hD2;
+ buff [16'h00_b9] = 8'h8E;
+ buff [16'h00_ba] = 8'h7A;
+ buff [16'h00_bb] = 8'h95;
+ buff [16'h00_bc] = 8'h8A;
+ buff [16'h00_bd] = 8'h99;
+ buff [16'h00_be] = 8'h11;
+ buff [16'h00_bf] = 8'h2B;
+ buff [16'h00_c0] = 8'hC2;
+ buff [16'h00_c1] = 8'h8C;
+ buff [16'h00_c2] = 8'hC2;
+ buff [16'h00_c3] = 8'h8E;
+ buff [16'h00_c4] = 8'h11;
+ buff [16'h00_c5] = 8'h30;
+ buff [16'h00_c6] = 8'h75;
+ buff [16'h00_c7] = 8'h7F;
+ buff [16'h00_c8] = 8'h04;
+ buff [16'h00_c9] = 8'h75;
+ buff [16'h00_ca] = 8'hF0;
+ buff [16'h00_cb] = 8'h00;
+ buff [16'h00_cc] = 8'h74;
+ buff [16'h00_cd] = 8'h40;
+ buff [16'h00_ce] = 8'hF2;
+ buff [16'h00_cf] = 8'h75;
+ buff [16'h00_d0] = 8'h98;
+ buff [16'h00_d1] = 8'h50;
+ buff [16'h00_d2] = 8'h74;
+ buff [16'h00_d3] = 8'hA2;
+ buff [16'h00_d4] = 8'hFB;
+ buff [16'h00_d5] = 8'hD2;
+ buff [16'h00_d6] = 8'h8C;
+ buff [16'h00_d7] = 8'hD2;
+ buff [16'h00_d8] = 8'h8E;
+ buff [16'h00_d9] = 8'hF7;
+ buff [16'h00_da] = 8'h11;
+ buff [16'h00_db] = 8'h2B;
+ buff [16'h00_dc] = 8'hC2;
+ buff [16'h00_dd] = 8'h8C;
+ buff [16'h00_de] = 8'hC2;
+ buff [16'h00_df] = 8'h8E;
+ buff [16'h00_e0] = 8'h11;
+ buff [16'h00_e1] = 8'h39;
+ buff [16'h00_e2] = 8'h75;
+ buff [16'h00_e3] = 8'h7F;
+ buff [16'h00_e4] = 8'h05;
+ buff [16'h00_e5] = 8'hA2;
+ buff [16'h00_e6] = 8'h9A;
+ buff [16'h00_e7] = 8'h50;
+ buff [16'h00_e8] = 8'hA7;
+ buff [16'h00_e9] = 8'h75;
+ buff [16'h00_ea] = 8'hF0;
+ buff [16'h00_eb] = 8'h00;
+ buff [16'h00_ec] = 8'h75;
+ buff [16'h00_ed] = 8'hA8;
+ buff [16'h00_ee] = 8'h82;
+ buff [16'h00_ef] = 8'h75;
+ buff [16'h00_f0] = 8'h7F;
+ buff [16'h00_f1] = 8'h06;
+ buff [16'h00_f2] = 8'h74;
+ buff [16'h00_f3] = 8'h50;
+ buff [16'h00_f4] = 8'hF2;
+ buff [16'h00_f5] = 8'h75;
+ buff [16'h00_f6] = 8'h98;
+ buff [16'h00_f7] = 8'h50;
+ buff [16'h00_f8] = 8'hD2;
+ buff [16'h00_f9] = 8'h8C;
+ buff [16'h00_fa] = 8'hD2;
+ buff [16'h00_fb] = 8'h8E;
+ buff [16'h00_fc] = 8'h7A;
+ buff [16'h00_fd] = 8'h97;
+ buff [16'h00_fe] = 8'h8A;
+ buff [16'h00_ff] = 8'h99;
+ buff [16'h01_00] = 8'h74;
+ buff [16'h01_01] = 8'hD5;
+ buff [16'h01_02] = 8'hFB;
+ buff [16'h01_03] = 8'hF3;
+ buff [16'h01_04] = 8'hA2;
+ buff [16'h01_05] = 8'h99;
+ buff [16'h01_06] = 8'h50;
+ buff [16'h01_07] = 8'hFC;
+ buff [16'h01_08] = 8'hA2;
+ buff [16'h01_09] = 8'h98;
+ buff [16'h01_0a] = 8'h50;
+ buff [16'h01_0b] = 8'hF8;
+ buff [16'h01_0c] = 8'hC2;
+ buff [16'h01_0d] = 8'h8C;
+ buff [16'h01_0e] = 8'hC2;
+ buff [16'h01_0f] = 8'h8E;
+ buff [16'h01_10] = 8'h11;
+ buff [16'h01_11] = 8'h30;
+ buff [16'h01_12] = 8'h75;
+ buff [16'h01_13] = 8'h7F;
+ buff [16'h01_14] = 8'h07;
+ buff [16'h01_15] = 8'h11;
+ buff [16'h01_16] = 8'h39;
+ buff [16'h01_17] = 8'hC2;
+ buff [16'h01_18] = 8'h99;
+ buff [16'h01_19] = 8'hC2;
+ buff [16'h01_1a] = 8'h98;
+ buff [16'h01_1b] = 8'h75;
+ buff [16'h01_1c] = 8'h80;
+ buff [16'h01_1d] = 8'h01;
+ buff [16'h01_1e] = 8'h75;
+ buff [16'h01_1f] = 8'hF0;
+ buff [16'h01_20] = 8'h00;
+ buff [16'h01_21] = 8'h75;
+ buff [16'h01_22] = 8'hA8;
+ buff [16'h01_23] = 8'h90;
+ buff [16'h01_24] = 8'h75;
+ buff [16'h01_25] = 8'h7F;
+ buff [16'h01_26] = 8'h08;
+ buff [16'h01_27] = 8'h74;
+ buff [16'h01_28] = 8'h90;
+ buff [16'h01_29] = 8'hF2;
+ buff [16'h01_2a] = 8'h75;
+ buff [16'h01_2b] = 8'h98;
+ buff [16'h01_2c] = 8'h80;
+ buff [16'h01_2d] = 8'h7A;
+ buff [16'h01_2e] = 8'h95;
+ buff [16'h01_2f] = 8'h8A;
+ buff [16'h01_30] = 8'h99;
+ buff [16'h01_31] = 8'h11;
+ buff [16'h01_32] = 8'h2B;
+ buff [16'h01_33] = 8'h11;
+ buff [16'h01_34] = 8'h30;
+ buff [16'h01_35] = 8'h75;
+ buff [16'h01_36] = 8'h7F;
+ buff [16'h01_37] = 8'h09;
+ buff [16'h01_38] = 8'h75;
+ buff [16'h01_39] = 8'hF0;
+ buff [16'h01_3a] = 8'h00;
+ buff [16'h01_3b] = 8'h74;
+ buff [16'h01_3c] = 8'h88;
+ buff [16'h01_3d] = 8'hF2;
+ buff [16'h01_3e] = 8'h75;
+ buff [16'h01_3f] = 8'h98;
+ buff [16'h01_40] = 8'h90;
+ buff [16'h01_41] = 8'h74;
+ buff [16'h01_42] = 8'hA2;
+ buff [16'h01_43] = 8'hFB;
+ buff [16'h01_44] = 8'hF7;
+ buff [16'h01_45] = 8'h11;
+ buff [16'h01_46] = 8'h2B;
+ buff [16'h01_47] = 8'h11;
+ buff [16'h01_48] = 8'h39;
+ buff [16'h01_49] = 8'h75;
+ buff [16'h01_4a] = 8'h7F;
+ buff [16'h01_4b] = 8'h0A;
+ buff [16'h01_4c] = 8'hA2;
+ buff [16'h01_4d] = 8'h9A;
+ buff [16'h01_4e] = 8'h50;
+ buff [16'h01_4f] = 8'h52;
+ buff [16'h01_50] = 8'h75;
+ buff [16'h01_51] = 8'h7F;
+ buff [16'h01_52] = 8'h0B;
+ buff [16'h01_53] = 8'h75;
+ buff [16'h01_54] = 8'hF0;
+ buff [16'h01_55] = 8'h00;
+ buff [16'h01_56] = 8'h74;
+ buff [16'h01_57] = 8'h80;
+ buff [16'h01_58] = 8'hF2;
+ buff [16'h01_59] = 8'h75;
+ buff [16'h01_5a] = 8'h98;
+ buff [16'h01_5b] = 8'hB0;
+ buff [16'h01_5c] = 8'h74;
+ buff [16'h01_5d] = 8'hA2;
+ buff [16'h01_5e] = 8'hFB;
+ buff [16'h01_5f] = 8'hF7;
+ buff [16'h01_60] = 8'h00;
+ buff [16'h01_61] = 8'hA2;
+ buff [16'h01_62] = 8'h98;
+ buff [16'h01_63] = 8'h50;
+ buff [16'h01_64] = 8'hFB;
+ buff [16'h01_65] = 8'h11;
+ buff [16'h01_66] = 8'h39;
+ buff [16'h01_67] = 8'h75;
+ buff [16'h01_68] = 8'h7F;
+ buff [16'h01_69] = 8'h0C;
+ buff [16'h01_6a] = 8'hE5;
+ buff [16'h01_6b] = 8'hF0;
+ buff [16'h01_6c] = 8'h60;
+ buff [16'h01_6d] = 8'h34;
+ buff [16'h01_6e] = 8'h75;
+ buff [16'h01_6f] = 8'hF0;
+ buff [16'h01_70] = 8'h00;
+ buff [16'h01_71] = 8'h75;
+ buff [16'h01_72] = 8'hA8;
+ buff [16'h01_73] = 8'h00;
+ buff [16'h01_74] = 8'h75;
+ buff [16'h01_75] = 8'h7F;
+ buff [16'h01_76] = 8'h0D;
+ buff [16'h01_77] = 8'h74;
+ buff [16'h01_78] = 8'h90;
+ buff [16'h01_79] = 8'hF2;
+ buff [16'h01_7a] = 8'h74;
+ buff [16'h01_7b] = 8'h80;
+ buff [16'h01_7c] = 8'hF0;
+ buff [16'h01_7d] = 8'hF5;
+ buff [16'h01_7e] = 8'h87;
+ buff [16'h01_7f] = 8'h75;
+ buff [16'h01_80] = 8'h98;
+ buff [16'h01_81] = 8'h5A;
+ buff [16'h01_82] = 8'h7A;
+ buff [16'h01_83] = 8'h97;
+ buff [16'h01_84] = 8'h8A;
+ buff [16'h01_85] = 8'h99;
+ buff [16'h01_86] = 8'h74;
+ buff [16'h01_87] = 8'hD5;
+ buff [16'h01_88] = 8'hFB;
+ buff [16'h01_89] = 8'hF3;
+ buff [16'h01_8a] = 8'hA2;
+ buff [16'h01_8b] = 8'h99;
+ buff [16'h01_8c] = 8'h50;
+ buff [16'h01_8d] = 8'hFC;
+ buff [16'h01_8e] = 8'hA2;
+ buff [16'h01_8f] = 8'h98;
+ buff [16'h01_90] = 8'h50;
+ buff [16'h01_91] = 8'hF8;
+ buff [16'h01_92] = 8'h11;
+ buff [16'h01_93] = 8'h30;
+ buff [16'h01_94] = 8'h75;
+ buff [16'h01_95] = 8'h7F;
+ buff [16'h01_96] = 8'h0E;
+ buff [16'h01_97] = 8'h11;
+ buff [16'h01_98] = 8'h39;
+ buff [16'h01_99] = 8'hC2;
+ buff [16'h01_9a] = 8'h99;
+ buff [16'h01_9b] = 8'hC2;
+ buff [16'h01_9c] = 8'h98;
+ buff [16'h01_9d] = 8'h75;
+ buff [16'h01_9e] = 8'h80;
+ buff [16'h01_9f] = 8'h02;
+ buff [16'h01_a0] = 8'h21;
+ buff [16'h01_a1] = 8'hA5;
+ buff [16'h01_a2] = 8'h02;
+ buff [16'h01_a3] = 8'h00;
+ buff [16'h01_a4] = 8'h90;
+ buff [16'h01_a5] = 8'h75;
+ buff [16'h01_a6] = 8'hF0;
+ buff [16'h01_a7] = 8'h00;
+ buff [16'h01_a8] = 8'h75;
+ buff [16'h01_a9] = 8'hA8;
+ buff [16'h01_aa] = 8'h92;
+ buff [16'h01_ab] = 8'h75;
+ buff [16'h01_ac] = 8'h7F;
+ buff [16'h01_ad] = 8'h0F;
+ buff [16'h01_ae] = 8'h74;
+ buff [16'h01_af] = 8'hD0;
+ buff [16'h01_b0] = 8'hF2;
+ buff [16'h01_b1] = 8'h75;
+ buff [16'h01_b2] = 8'h98;
+ buff [16'h01_b3] = 8'hC0;
+ buff [16'h01_b4] = 8'h7A;
+ buff [16'h01_b5] = 8'h95;
+ buff [16'h01_b6] = 8'hD2;
+ buff [16'h01_b7] = 8'h8C;
+ buff [16'h01_b8] = 8'hD2;
+ buff [16'h01_b9] = 8'h8E;
+ buff [16'h01_ba] = 8'h8A;
+ buff [16'h01_bb] = 8'h99;
+ buff [16'h01_bc] = 8'h11;
+ buff [16'h01_bd] = 8'h2B;
+ buff [16'h01_be] = 8'hC2;
+ buff [16'h01_bf] = 8'h8C;
+ buff [16'h01_c0] = 8'hC2;
+ buff [16'h01_c1] = 8'h8E;
+ buff [16'h01_c2] = 8'h11;
+ buff [16'h01_c3] = 8'h30;
+ buff [16'h01_c4] = 8'h75;
+ buff [16'h01_c5] = 8'h7F;
+ buff [16'h01_c6] = 8'h10;
+ buff [16'h01_c7] = 8'h75;
+ buff [16'h01_c8] = 8'hF0;
+ buff [16'h01_c9] = 8'h00;
+ buff [16'h01_ca] = 8'h74;
+ buff [16'h01_cb] = 8'hC0;
+ buff [16'h01_cc] = 8'hF2;
+ buff [16'h01_cd] = 8'h75;
+ buff [16'h01_ce] = 8'h98;
+ buff [16'h01_cf] = 8'hD4;
+ buff [16'h01_d0] = 8'h74;
+ buff [16'h01_d1] = 8'hA2;
+ buff [16'h01_d2] = 8'hFB;
+ buff [16'h01_d3] = 8'hF7;
+ buff [16'h01_d4] = 8'hD2;
+ buff [16'h01_d5] = 8'h8C;
+ buff [16'h01_d6] = 8'hD2;
+ buff [16'h01_d7] = 8'h8E;
+ buff [16'h01_d8] = 8'h11;
+ buff [16'h01_d9] = 8'h2B;
+ buff [16'h01_da] = 8'hC2;
+ buff [16'h01_db] = 8'h8C;
+ buff [16'h01_dc] = 8'hC2;
+ buff [16'h01_dd] = 8'h8E;
+ buff [16'h01_de] = 8'h11;
+ buff [16'h01_df] = 8'h39;
+ buff [16'h01_e0] = 8'h75;
+ buff [16'h01_e1] = 8'h7F;
+ buff [16'h01_e2] = 8'h11;
+ buff [16'h01_e3] = 8'hA2;
+ buff [16'h01_e4] = 8'h9A;
+ buff [16'h01_e5] = 8'h40;
+ buff [16'h01_e6] = 8'hBB;
+ buff [16'h01_e7] = 8'h75;
+ buff [16'h01_e8] = 8'hF0;
+ buff [16'h01_e9] = 8'h00;
+ buff [16'h01_ea] = 8'h75;
+ buff [16'h01_eb] = 8'hA8;
+ buff [16'h01_ec] = 8'h92;
+ buff [16'h01_ed] = 8'h75;
+ buff [16'h01_ee] = 8'h7F;
+ buff [16'h01_ef] = 8'h12;
+ buff [16'h01_f0] = 8'h74;
+ buff [16'h01_f1] = 8'hD0;
+ buff [16'h01_f2] = 8'hF2;
+ buff [16'h01_f3] = 8'h75;
+ buff [16'h01_f4] = 8'h98;
+ buff [16'h01_f5] = 8'hF8;
+ buff [16'h01_f6] = 8'h7A;
+ buff [16'h01_f7] = 8'h97;
+ buff [16'h01_f8] = 8'hD2;
+ buff [16'h01_f9] = 8'h8C;
+ buff [16'h01_fa] = 8'hD2;
+ buff [16'h01_fb] = 8'h8E;
+ buff [16'h01_fc] = 8'h8A;
+ buff [16'h01_fd] = 8'h99;
+ buff [16'h01_fe] = 8'h74;
+ buff [16'h01_ff] = 8'hD5;
+ buff [16'h02_00] = 8'hFB;
+ buff [16'h02_01] = 8'hF3;
+ buff [16'h02_02] = 8'hA2;
+ buff [16'h02_03] = 8'h99;
+ buff [16'h02_04] = 8'h50;
+ buff [16'h02_05] = 8'hFC;
+ buff [16'h02_06] = 8'hA2;
+ buff [16'h02_07] = 8'h98;
+ buff [16'h02_08] = 8'h50;
+ buff [16'h02_09] = 8'hF8;
+ buff [16'h02_0a] = 8'hC2;
+ buff [16'h02_0b] = 8'h8C;
+ buff [16'h02_0c] = 8'hC2;
+ buff [16'h02_0d] = 8'h8E;
+ buff [16'h02_0e] = 8'h11;
+ buff [16'h02_0f] = 8'h30;
+ buff [16'h02_10] = 8'h75;
+ buff [16'h02_11] = 8'h7F;
+ buff [16'h02_12] = 8'h13;
+ buff [16'h02_13] = 8'h11;
+ buff [16'h02_14] = 8'h39;
+ buff [16'h02_15] = 8'hC2;
+ buff [16'h02_16] = 8'h99;
+ buff [16'h02_17] = 8'hC2;
+ buff [16'h02_18] = 8'h98;
+ buff [16'h02_19] = 8'h75;
+ buff [16'h02_1a] = 8'h7F;
+ buff [16'h02_1b] = 8'h14;
+ buff [16'h02_1c] = 8'hA2;
+ buff [16'h02_1d] = 8'h9A;
+ buff [16'h02_1e] = 8'h40;
+ buff [16'h02_1f] = 8'h82;
+ buff [16'h02_20] = 8'hE2;
+ buff [16'h02_21] = 8'h94;
+ buff [16'h02_22] = 8'hD7;
+ buff [16'h02_23] = 8'h75;
+ buff [16'h02_24] = 8'h80;
+ buff [16'h02_25] = 8'h03;
+end
+
+always @(posedge clk)
+begin
+ data1 <= #1 buff [addr];
+ data2 <= #1 buff [addr+1];
+ data3 <= #1 buff [addr+2];
+end
+
+endmodule
v/serial_test.v
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: v/timer_test.v
===================================================================
--- v/timer_test.v (nonexistent)
+++ v/timer_test.v (revision 186)
@@ -0,0 +1,675 @@
+
+///
+/// created by oc8051 rom maker
+/// author: Simon Teran (simont@opencores.org)
+///
+/// source file: D:\tmp\asm\TEMP\timer_test.hex
+/// date: 15.7.02
+/// time: 11:10:58
+///
+
+module oc8051_rom (rst, clk, addr, ea_int, data1, data2, data3);
+
+parameter INT_ROM_WID= 10;
+
+input rst, clk;
+input [15:0] addr;
+output ea_int;
+output [7:0] data1, data2, data3;
+reg [7:0] data1, data2, data3;
+reg [7:0] buff [65535:0];
+integer i;
+
+wire ea;
+
+assign ea = | addr[15:INT_ROM_WID];
+assign ea_int = ! ea;
+
+initial
+begin
+ for (i=0; i<65536; i=i+1)
+ buff [i] = 8'h00;
+#2
+
+ buff [16'h00_00] = 8'h01;
+ buff [16'h00_01] = 8'h4B;
+ buff [16'h00_02] = 8'h00;
+ buff [16'h00_03] = 8'h32;
+ buff [16'h00_04] = 8'h00;
+ buff [16'h00_05] = 8'h00;
+ buff [16'h00_06] = 8'h00;
+ buff [16'h00_07] = 8'h00;
+ buff [16'h00_08] = 8'h00;
+ buff [16'h00_09] = 8'h00;
+ buff [16'h00_0a] = 8'h00;
+ buff [16'h00_0b] = 8'h08;
+ buff [16'h00_0c] = 8'h32;
+ buff [16'h00_0d] = 8'h00;
+ buff [16'h00_0e] = 8'h00;
+ buff [16'h00_0f] = 8'h00;
+ buff [16'h00_10] = 8'h00;
+ buff [16'h00_11] = 8'h00;
+ buff [16'h00_12] = 8'h00;
+ buff [16'h00_13] = 8'h32;
+ buff [16'h00_14] = 8'h00;
+ buff [16'h00_15] = 8'h00;
+ buff [16'h00_16] = 8'h00;
+ buff [16'h00_17] = 8'h00;
+ buff [16'h00_18] = 8'h00;
+ buff [16'h00_19] = 8'h00;
+ buff [16'h00_1a] = 8'h00;
+ buff [16'h00_1b] = 8'h09;
+ buff [16'h00_1c] = 8'h32;
+ buff [16'h00_1d] = 8'h00;
+ buff [16'h00_1e] = 8'h00;
+ buff [16'h00_1f] = 8'h00;
+ buff [16'h00_20] = 8'h00;
+ buff [16'h00_21] = 8'h00;
+ buff [16'h00_22] = 8'h00;
+ buff [16'h00_23] = 8'h32;
+ buff [16'h00_24] = 8'hE5;
+ buff [16'h00_25] = 8'h8C;
+ buff [16'h00_26] = 8'h9B;
+ buff [16'h00_27] = 8'h70;
+ buff [16'h00_28] = 8'h1D;
+ buff [16'h00_29] = 8'h0A;
+ buff [16'h00_2a] = 8'hE5;
+ buff [16'h00_2b] = 8'h8A;
+ buff [16'h00_2c] = 8'h9C;
+ buff [16'h00_2d] = 8'h70;
+ buff [16'h00_2e] = 8'h17;
+ buff [16'h00_2f] = 8'h0A;
+ buff [16'h00_30] = 8'hE8;
+ buff [16'h00_31] = 8'h9D;
+ buff [16'h00_32] = 8'h70;
+ buff [16'h00_33] = 8'h12;
+ buff [16'h00_34] = 8'h22;
+ buff [16'h00_35] = 8'hE5;
+ buff [16'h00_36] = 8'h8D;
+ buff [16'h00_37] = 8'h9B;
+ buff [16'h00_38] = 8'h70;
+ buff [16'h00_39] = 8'h0C;
+ buff [16'h00_3a] = 8'h0A;
+ buff [16'h00_3b] = 8'hE5;
+ buff [16'h00_3c] = 8'h8B;
+ buff [16'h00_3d] = 8'h9C;
+ buff [16'h00_3e] = 8'h70;
+ buff [16'h00_3f] = 8'h06;
+ buff [16'h00_40] = 8'h0A;
+ buff [16'h00_41] = 8'hE9;
+ buff [16'h00_42] = 8'h9D;
+ buff [16'h00_43] = 8'h70;
+ buff [16'h00_44] = 8'h01;
+ buff [16'h00_45] = 8'h22;
+ buff [16'h00_46] = 8'h8A;
+ buff [16'h00_47] = 8'h80;
+ buff [16'h00_48] = 8'h00;
+ buff [16'h00_49] = 8'h01;
+ buff [16'h00_4a] = 8'h46;
+ buff [16'h00_4b] = 8'hE4;
+ buff [16'h00_4c] = 8'hF8;
+ buff [16'h00_4d] = 8'hF9;
+ buff [16'h00_4e] = 8'h75;
+ buff [16'h00_4f] = 8'hA8;
+ buff [16'h00_50] = 8'h8A;
+ buff [16'h00_51] = 8'hC3;
+ buff [16'h00_52] = 8'h75;
+ buff [16'h00_53] = 8'h89;
+ buff [16'h00_54] = 8'h00;
+ buff [16'h00_55] = 8'h75;
+ buff [16'h00_56] = 8'h8C;
+ buff [16'h00_57] = 8'h00;
+ buff [16'h00_58] = 8'h75;
+ buff [16'h00_59] = 8'h8A;
+ buff [16'h00_5a] = 8'h00;
+ buff [16'h00_5b] = 8'h75;
+ buff [16'h00_5c] = 8'h88;
+ buff [16'h00_5d] = 8'h10;
+ buff [16'h00_5e] = 8'h00;
+ buff [16'h00_5f] = 8'h00;
+ buff [16'h00_60] = 8'h00;
+ buff [16'h00_61] = 8'hC2;
+ buff [16'h00_62] = 8'h8C;
+ buff [16'h00_63] = 8'h7A;
+ buff [16'h00_64] = 8'h10;
+ buff [16'h00_65] = 8'h7B;
+ buff [16'h00_66] = 8'h00;
+ buff [16'h00_67] = 8'h7C;
+ buff [16'h00_68] = 8'h04;
+ buff [16'h00_69] = 8'h7D;
+ buff [16'h00_6a] = 8'h00;
+ buff [16'h00_6b] = 8'h11;
+ buff [16'h00_6c] = 8'h24;
+ buff [16'h00_6d] = 8'h75;
+ buff [16'h00_6e] = 8'h8A;
+ buff [16'h00_6f] = 8'h1C;
+ buff [16'h00_70] = 8'hD2;
+ buff [16'h00_71] = 8'h8C;
+ buff [16'h00_72] = 8'h00;
+ buff [16'h00_73] = 8'h00;
+ buff [16'h00_74] = 8'h00;
+ buff [16'h00_75] = 8'h00;
+ buff [16'h00_76] = 8'hC2;
+ buff [16'h00_77] = 8'h8C;
+ buff [16'h00_78] = 8'h7A;
+ buff [16'h00_79] = 8'h20;
+ buff [16'h00_7a] = 8'h7B;
+ buff [16'h00_7b] = 8'h01;
+ buff [16'h00_7c] = 8'h7C;
+ buff [16'h00_7d] = 8'h01;
+ buff [16'h00_7e] = 8'h7D;
+ buff [16'h00_7f] = 8'h00;
+ buff [16'h00_80] = 8'h11;
+ buff [16'h00_81] = 8'h24;
+ buff [16'h00_82] = 8'h75;
+ buff [16'h00_83] = 8'h8A;
+ buff [16'h00_84] = 8'h1C;
+ buff [16'h00_85] = 8'h75;
+ buff [16'h00_86] = 8'h8C;
+ buff [16'h00_87] = 8'hFF;
+ buff [16'h00_88] = 8'hD2;
+ buff [16'h00_89] = 8'h8C;
+ buff [16'h00_8a] = 8'h00;
+ buff [16'h00_8b] = 8'h00;
+ buff [16'h00_8c] = 8'h00;
+ buff [16'h00_8d] = 8'h00;
+ buff [16'h00_8e] = 8'h00;
+ buff [16'h00_8f] = 8'hC2;
+ buff [16'h00_90] = 8'h8C;
+ buff [16'h00_91] = 8'h7A;
+ buff [16'h00_92] = 8'h30;
+ buff [16'h00_93] = 8'h7B;
+ buff [16'h00_94] = 8'h00;
+ buff [16'h00_95] = 8'h7C;
+ buff [16'h00_96] = 8'h02;
+ buff [16'h00_97] = 8'h7D;
+ buff [16'h00_98] = 8'h01;
+ buff [16'h00_99] = 8'h11;
+ buff [16'h00_9a] = 8'h24;
+ buff [16'h00_9b] = 8'h75;
+ buff [16'h00_9c] = 8'h89;
+ buff [16'h00_9d] = 8'h01;
+ buff [16'h00_9e] = 8'h75;
+ buff [16'h00_9f] = 8'h8C;
+ buff [16'h00_a0] = 8'h00;
+ buff [16'h00_a1] = 8'h75;
+ buff [16'h00_a2] = 8'h8A;
+ buff [16'h00_a3] = 8'h00;
+ buff [16'h00_a4] = 8'hD2;
+ buff [16'h00_a5] = 8'h8C;
+ buff [16'h00_a6] = 8'h00;
+ buff [16'h00_a7] = 8'h00;
+ buff [16'h00_a8] = 8'h00;
+ buff [16'h00_a9] = 8'hC2;
+ buff [16'h00_aa] = 8'h8C;
+ buff [16'h00_ab] = 8'h7A;
+ buff [16'h00_ac] = 8'h40;
+ buff [16'h00_ad] = 8'h7B;
+ buff [16'h00_ae] = 8'h00;
+ buff [16'h00_af] = 8'h7C;
+ buff [16'h00_b0] = 8'h04;
+ buff [16'h00_b1] = 8'h7D;
+ buff [16'h00_b2] = 8'h01;
+ buff [16'h00_b3] = 8'h11;
+ buff [16'h00_b4] = 8'h24;
+ buff [16'h00_b5] = 8'h75;
+ buff [16'h00_b6] = 8'h8A;
+ buff [16'h00_b7] = 8'hFC;
+ buff [16'h00_b8] = 8'hD2;
+ buff [16'h00_b9] = 8'h8C;
+ buff [16'h00_ba] = 8'h00;
+ buff [16'h00_bb] = 8'h00;
+ buff [16'h00_bc] = 8'h00;
+ buff [16'h00_bd] = 8'h00;
+ buff [16'h00_be] = 8'hC2;
+ buff [16'h00_bf] = 8'h8C;
+ buff [16'h00_c0] = 8'h7A;
+ buff [16'h00_c1] = 8'h50;
+ buff [16'h00_c2] = 8'h7B;
+ buff [16'h00_c3] = 8'h01;
+ buff [16'h00_c4] = 8'h7C;
+ buff [16'h00_c5] = 8'h01;
+ buff [16'h00_c6] = 8'h7D;
+ buff [16'h00_c7] = 8'h01;
+ buff [16'h00_c8] = 8'h11;
+ buff [16'h00_c9] = 8'h24;
+ buff [16'h00_ca] = 8'h75;
+ buff [16'h00_cb] = 8'h8A;
+ buff [16'h00_cc] = 8'hFC;
+ buff [16'h00_cd] = 8'h75;
+ buff [16'h00_ce] = 8'h8C;
+ buff [16'h00_cf] = 8'hFF;
+ buff [16'h00_d0] = 8'hD2;
+ buff [16'h00_d1] = 8'h8C;
+ buff [16'h00_d2] = 8'h00;
+ buff [16'h00_d3] = 8'h00;
+ buff [16'h00_d4] = 8'h00;
+ buff [16'h00_d5] = 8'h00;
+ buff [16'h00_d6] = 8'h00;
+ buff [16'h00_d7] = 8'hC2;
+ buff [16'h00_d8] = 8'h8C;
+ buff [16'h00_d9] = 8'h7A;
+ buff [16'h00_da] = 8'h60;
+ buff [16'h00_db] = 8'h7B;
+ buff [16'h00_dc] = 8'h00;
+ buff [16'h00_dd] = 8'h7C;
+ buff [16'h00_de] = 8'h02;
+ buff [16'h00_df] = 8'h7D;
+ buff [16'h00_e0] = 8'h02;
+ buff [16'h00_e1] = 8'h11;
+ buff [16'h00_e2] = 8'h24;
+ buff [16'h00_e3] = 8'h75;
+ buff [16'h00_e4] = 8'h89;
+ buff [16'h00_e5] = 8'h02;
+ buff [16'h00_e6] = 8'h75;
+ buff [16'h00_e7] = 8'h8C;
+ buff [16'h00_e8] = 8'h00;
+ buff [16'h00_e9] = 8'h75;
+ buff [16'h00_ea] = 8'h8A;
+ buff [16'h00_eb] = 8'h05;
+ buff [16'h00_ec] = 8'hD2;
+ buff [16'h00_ed] = 8'h8C;
+ buff [16'h00_ee] = 8'h00;
+ buff [16'h00_ef] = 8'h00;
+ buff [16'h00_f0] = 8'h00;
+ buff [16'h00_f1] = 8'hC2;
+ buff [16'h00_f2] = 8'h8C;
+ buff [16'h00_f3] = 8'h7A;
+ buff [16'h00_f4] = 8'h70;
+ buff [16'h00_f5] = 8'h7B;
+ buff [16'h00_f6] = 8'h00;
+ buff [16'h00_f7] = 8'h7C;
+ buff [16'h00_f8] = 8'h09;
+ buff [16'h00_f9] = 8'h7D;
+ buff [16'h00_fa] = 8'h02;
+ buff [16'h00_fb] = 8'h11;
+ buff [16'h00_fc] = 8'h24;
+ buff [16'h00_fd] = 8'h75;
+ buff [16'h00_fe] = 8'h8A;
+ buff [16'h00_ff] = 8'hFC;
+ buff [16'h01_00] = 8'h75;
+ buff [16'h01_01] = 8'h8C;
+ buff [16'h01_02] = 8'h50;
+ buff [16'h01_03] = 8'hD2;
+ buff [16'h01_04] = 8'h8C;
+ buff [16'h01_05] = 8'h00;
+ buff [16'h01_06] = 8'h00;
+ buff [16'h01_07] = 8'h00;
+ buff [16'h01_08] = 8'h00;
+ buff [16'h01_09] = 8'hC2;
+ buff [16'h01_0a] = 8'h8C;
+ buff [16'h01_0b] = 8'h7A;
+ buff [16'h01_0c] = 8'h80;
+ buff [16'h01_0d] = 8'h7B;
+ buff [16'h01_0e] = 8'h50;
+ buff [16'h01_0f] = 8'h7C;
+ buff [16'h01_10] = 8'h51;
+ buff [16'h01_11] = 8'h7D;
+ buff [16'h01_12] = 8'h03;
+ buff [16'h01_13] = 8'h11;
+ buff [16'h01_14] = 8'h24;
+ buff [16'h01_15] = 8'h75;
+ buff [16'h01_16] = 8'h89;
+ buff [16'h01_17] = 8'h03;
+ buff [16'h01_18] = 8'h75;
+ buff [16'h01_19] = 8'h8C;
+ buff [16'h01_1a] = 8'h00;
+ buff [16'h01_1b] = 8'h75;
+ buff [16'h01_1c] = 8'h8A;
+ buff [16'h01_1d] = 8'h00;
+ buff [16'h01_1e] = 8'hD2;
+ buff [16'h01_1f] = 8'h8C;
+ buff [16'h01_20] = 8'h00;
+ buff [16'h01_21] = 8'h00;
+ buff [16'h01_22] = 8'h00;
+ buff [16'h01_23] = 8'hC2;
+ buff [16'h01_24] = 8'h8C;
+ buff [16'h01_25] = 8'h7A;
+ buff [16'h01_26] = 8'h90;
+ buff [16'h01_27] = 8'h7B;
+ buff [16'h01_28] = 8'h00;
+ buff [16'h01_29] = 8'h7C;
+ buff [16'h01_2a] = 8'h04;
+ buff [16'h01_2b] = 8'h7D;
+ buff [16'h01_2c] = 8'h03;
+ buff [16'h01_2d] = 8'h11;
+ buff [16'h01_2e] = 8'h24;
+ buff [16'h01_2f] = 8'h75;
+ buff [16'h01_30] = 8'h8A;
+ buff [16'h01_31] = 8'hFC;
+ buff [16'h01_32] = 8'h75;
+ buff [16'h01_33] = 8'h8C;
+ buff [16'h01_34] = 8'h00;
+ buff [16'h01_35] = 8'hD2;
+ buff [16'h01_36] = 8'h8C;
+ buff [16'h01_37] = 8'h00;
+ buff [16'h01_38] = 8'h00;
+ buff [16'h01_39] = 8'h00;
+ buff [16'h01_3a] = 8'h00;
+ buff [16'h01_3b] = 8'h00;
+ buff [16'h01_3c] = 8'hC2;
+ buff [16'h01_3d] = 8'h8C;
+ buff [16'h01_3e] = 8'h7A;
+ buff [16'h01_3f] = 8'hA0;
+ buff [16'h01_40] = 8'h7B;
+ buff [16'h01_41] = 8'h00;
+ buff [16'h01_42] = 8'h7C;
+ buff [16'h01_43] = 8'h02;
+ buff [16'h01_44] = 8'h7D;
+ buff [16'h01_45] = 8'h04;
+ buff [16'h01_46] = 8'h11;
+ buff [16'h01_47] = 8'h24;
+ buff [16'h01_48] = 8'h75;
+ buff [16'h01_49] = 8'h8A;
+ buff [16'h01_4a] = 8'h00;
+ buff [16'h01_4b] = 8'h75;
+ buff [16'h01_4c] = 8'h8C;
+ buff [16'h01_4d] = 8'h00;
+ buff [16'h01_4e] = 8'hD2;
+ buff [16'h01_4f] = 8'h8E;
+ buff [16'h01_50] = 8'h00;
+ buff [16'h01_51] = 8'h00;
+ buff [16'h01_52] = 8'h00;
+ buff [16'h01_53] = 8'hC2;
+ buff [16'h01_54] = 8'h8E;
+ buff [16'h01_55] = 8'h7A;
+ buff [16'h01_56] = 8'hB0;
+ buff [16'h01_57] = 8'h7B;
+ buff [16'h01_58] = 8'h04;
+ buff [16'h01_59] = 8'h7C;
+ buff [16'h01_5a] = 8'h00;
+ buff [16'h01_5b] = 8'h7D;
+ buff [16'h01_5c] = 8'h04;
+ buff [16'h01_5d] = 8'h11;
+ buff [16'h01_5e] = 8'h24;
+ buff [16'h01_5f] = 8'h75;
+ buff [16'h01_60] = 8'h8A;
+ buff [16'h01_61] = 8'h00;
+ buff [16'h01_62] = 8'h75;
+ buff [16'h01_63] = 8'h8C;
+ buff [16'h01_64] = 8'hFC;
+ buff [16'h01_65] = 8'hD2;
+ buff [16'h01_66] = 8'h8E;
+ buff [16'h01_67] = 8'h00;
+ buff [16'h01_68] = 8'h00;
+ buff [16'h01_69] = 8'h00;
+ buff [16'h01_6a] = 8'h00;
+ buff [16'h01_6b] = 8'h00;
+ buff [16'h01_6c] = 8'hC2;
+ buff [16'h01_6d] = 8'h8E;
+ buff [16'h01_6e] = 8'h7A;
+ buff [16'h01_6f] = 8'hC0;
+ buff [16'h01_70] = 8'h7B;
+ buff [16'h01_71] = 8'h02;
+ buff [16'h01_72] = 8'h7C;
+ buff [16'h01_73] = 8'h00;
+ buff [16'h01_74] = 8'h7D;
+ buff [16'h01_75] = 8'h01;
+ buff [16'h01_76] = 8'hA8;
+ buff [16'h01_77] = 8'h01;
+ buff [16'h01_78] = 8'h11;
+ buff [16'h01_79] = 8'h24;
+ buff [16'h01_7a] = 8'h75;
+ buff [16'h01_7b] = 8'h80;
+ buff [16'h01_7c] = 8'h01;
+ buff [16'h01_7d] = 8'h79;
+ buff [16'h01_7e] = 8'h00;
+ buff [16'h01_7f] = 8'h75;
+ buff [16'h01_80] = 8'h89;
+ buff [16'h01_81] = 8'h00;
+ buff [16'h01_82] = 8'h75;
+ buff [16'h01_83] = 8'h8D;
+ buff [16'h01_84] = 8'h00;
+ buff [16'h01_85] = 8'h75;
+ buff [16'h01_86] = 8'h8B;
+ buff [16'h01_87] = 8'h00;
+ buff [16'h01_88] = 8'h75;
+ buff [16'h01_89] = 8'h88;
+ buff [16'h01_8a] = 8'h40;
+ buff [16'h01_8b] = 8'h00;
+ buff [16'h01_8c] = 8'h00;
+ buff [16'h01_8d] = 8'h00;
+ buff [16'h01_8e] = 8'hC2;
+ buff [16'h01_8f] = 8'h8E;
+ buff [16'h01_90] = 8'h7A;
+ buff [16'h01_91] = 8'h18;
+ buff [16'h01_92] = 8'h7B;
+ buff [16'h01_93] = 8'h00;
+ buff [16'h01_94] = 8'h7C;
+ buff [16'h01_95] = 8'h04;
+ buff [16'h01_96] = 8'h7D;
+ buff [16'h01_97] = 8'h00;
+ buff [16'h01_98] = 8'h11;
+ buff [16'h01_99] = 8'h35;
+ buff [16'h01_9a] = 8'h75;
+ buff [16'h01_9b] = 8'h8B;
+ buff [16'h01_9c] = 8'h1C;
+ buff [16'h01_9d] = 8'hD2;
+ buff [16'h01_9e] = 8'h8E;
+ buff [16'h01_9f] = 8'h00;
+ buff [16'h01_a0] = 8'h00;
+ buff [16'h01_a1] = 8'h00;
+ buff [16'h01_a2] = 8'h00;
+ buff [16'h01_a3] = 8'hC2;
+ buff [16'h01_a4] = 8'h8E;
+ buff [16'h01_a5] = 8'h7A;
+ buff [16'h01_a6] = 8'h28;
+ buff [16'h01_a7] = 8'h7B;
+ buff [16'h01_a8] = 8'h01;
+ buff [16'h01_a9] = 8'h7C;
+ buff [16'h01_aa] = 8'h01;
+ buff [16'h01_ab] = 8'h7D;
+ buff [16'h01_ac] = 8'h00;
+ buff [16'h01_ad] = 8'h11;
+ buff [16'h01_ae] = 8'h35;
+ buff [16'h01_af] = 8'h75;
+ buff [16'h01_b0] = 8'h8B;
+ buff [16'h01_b1] = 8'h1C;
+ buff [16'h01_b2] = 8'h75;
+ buff [16'h01_b3] = 8'h8D;
+ buff [16'h01_b4] = 8'hFF;
+ buff [16'h01_b5] = 8'hD2;
+ buff [16'h01_b6] = 8'h8E;
+ buff [16'h01_b7] = 8'h00;
+ buff [16'h01_b8] = 8'h00;
+ buff [16'h01_b9] = 8'h00;
+ buff [16'h01_ba] = 8'h00;
+ buff [16'h01_bb] = 8'h00;
+ buff [16'h01_bc] = 8'hC2;
+ buff [16'h01_bd] = 8'h8E;
+ buff [16'h01_be] = 8'h7A;
+ buff [16'h01_bf] = 8'h38;
+ buff [16'h01_c0] = 8'h7B;
+ buff [16'h01_c1] = 8'h00;
+ buff [16'h01_c2] = 8'h7C;
+ buff [16'h01_c3] = 8'h02;
+ buff [16'h01_c4] = 8'h7D;
+ buff [16'h01_c5] = 8'h01;
+ buff [16'h01_c6] = 8'h11;
+ buff [16'h01_c7] = 8'h35;
+ buff [16'h01_c8] = 8'h75;
+ buff [16'h01_c9] = 8'h89;
+ buff [16'h01_ca] = 8'h10;
+ buff [16'h01_cb] = 8'h75;
+ buff [16'h01_cc] = 8'h8D;
+ buff [16'h01_cd] = 8'h00;
+ buff [16'h01_ce] = 8'h75;
+ buff [16'h01_cf] = 8'h8B;
+ buff [16'h01_d0] = 8'h00;
+ buff [16'h01_d1] = 8'hD2;
+ buff [16'h01_d2] = 8'h8E;
+ buff [16'h01_d3] = 8'h00;
+ buff [16'h01_d4] = 8'h00;
+ buff [16'h01_d5] = 8'h00;
+ buff [16'h01_d6] = 8'hC2;
+ buff [16'h01_d7] = 8'h8E;
+ buff [16'h01_d8] = 8'h7A;
+ buff [16'h01_d9] = 8'h48;
+ buff [16'h01_da] = 8'h7B;
+ buff [16'h01_db] = 8'h00;
+ buff [16'h01_dc] = 8'h7C;
+ buff [16'h01_dd] = 8'h04;
+ buff [16'h01_de] = 8'h7D;
+ buff [16'h01_df] = 8'h01;
+ buff [16'h01_e0] = 8'h11;
+ buff [16'h01_e1] = 8'h35;
+ buff [16'h01_e2] = 8'h75;
+ buff [16'h01_e3] = 8'h8B;
+ buff [16'h01_e4] = 8'hFC;
+ buff [16'h01_e5] = 8'hD2;
+ buff [16'h01_e6] = 8'h8E;
+ buff [16'h01_e7] = 8'h00;
+ buff [16'h01_e8] = 8'h00;
+ buff [16'h01_e9] = 8'h00;
+ buff [16'h01_ea] = 8'h00;
+ buff [16'h01_eb] = 8'hC2;
+ buff [16'h01_ec] = 8'h8E;
+ buff [16'h01_ed] = 8'h7A;
+ buff [16'h01_ee] = 8'h58;
+ buff [16'h01_ef] = 8'h7B;
+ buff [16'h01_f0] = 8'h01;
+ buff [16'h01_f1] = 8'h7C;
+ buff [16'h01_f2] = 8'h01;
+ buff [16'h01_f3] = 8'h7D;
+ buff [16'h01_f4] = 8'h01;
+ buff [16'h01_f5] = 8'h11;
+ buff [16'h01_f6] = 8'h35;
+ buff [16'h01_f7] = 8'h75;
+ buff [16'h01_f8] = 8'h8B;
+ buff [16'h01_f9] = 8'hFC;
+ buff [16'h01_fa] = 8'h75;
+ buff [16'h01_fb] = 8'h8D;
+ buff [16'h01_fc] = 8'hFF;
+ buff [16'h01_fd] = 8'hD2;
+ buff [16'h01_fe] = 8'h8E;
+ buff [16'h01_ff] = 8'h00;
+ buff [16'h02_00] = 8'h00;
+ buff [16'h02_01] = 8'h00;
+ buff [16'h02_02] = 8'h00;
+ buff [16'h02_03] = 8'h00;
+ buff [16'h02_04] = 8'hC2;
+ buff [16'h02_05] = 8'h8E;
+ buff [16'h02_06] = 8'h7A;
+ buff [16'h02_07] = 8'h68;
+ buff [16'h02_08] = 8'h7B;
+ buff [16'h02_09] = 8'h00;
+ buff [16'h02_0a] = 8'h7C;
+ buff [16'h02_0b] = 8'h02;
+ buff [16'h02_0c] = 8'h7D;
+ buff [16'h02_0d] = 8'h02;
+ buff [16'h02_0e] = 8'h11;
+ buff [16'h02_0f] = 8'h35;
+ buff [16'h02_10] = 8'h75;
+ buff [16'h02_11] = 8'h89;
+ buff [16'h02_12] = 8'h20;
+ buff [16'h02_13] = 8'h75;
+ buff [16'h02_14] = 8'h8D;
+ buff [16'h02_15] = 8'h00;
+ buff [16'h02_16] = 8'h75;
+ buff [16'h02_17] = 8'h8B;
+ buff [16'h02_18] = 8'h05;
+ buff [16'h02_19] = 8'hD2;
+ buff [16'h02_1a] = 8'h8E;
+ buff [16'h02_1b] = 8'h00;
+ buff [16'h02_1c] = 8'h00;
+ buff [16'h02_1d] = 8'h00;
+ buff [16'h02_1e] = 8'hC2;
+ buff [16'h02_1f] = 8'h8E;
+ buff [16'h02_20] = 8'h7A;
+ buff [16'h02_21] = 8'h78;
+ buff [16'h02_22] = 8'h7B;
+ buff [16'h02_23] = 8'h00;
+ buff [16'h02_24] = 8'h7C;
+ buff [16'h02_25] = 8'h09;
+ buff [16'h02_26] = 8'h7D;
+ buff [16'h02_27] = 8'h02;
+ buff [16'h02_28] = 8'h11;
+ buff [16'h02_29] = 8'h35;
+ buff [16'h02_2a] = 8'h75;
+ buff [16'h02_2b] = 8'h8B;
+ buff [16'h02_2c] = 8'hFC;
+ buff [16'h02_2d] = 8'h75;
+ buff [16'h02_2e] = 8'h8D;
+ buff [16'h02_2f] = 8'h50;
+ buff [16'h02_30] = 8'hD2;
+ buff [16'h02_31] = 8'h8E;
+ buff [16'h02_32] = 8'h00;
+ buff [16'h02_33] = 8'h00;
+ buff [16'h02_34] = 8'h00;
+ buff [16'h02_35] = 8'h00;
+ buff [16'h02_36] = 8'hC2;
+ buff [16'h02_37] = 8'h8E;
+ buff [16'h02_38] = 8'h7A;
+ buff [16'h02_39] = 8'h88;
+ buff [16'h02_3a] = 8'h7B;
+ buff [16'h02_3b] = 8'h50;
+ buff [16'h02_3c] = 8'h7C;
+ buff [16'h02_3d] = 8'h51;
+ buff [16'h02_3e] = 8'h7D;
+ buff [16'h02_3f] = 8'h03;
+ buff [16'h02_40] = 8'h11;
+ buff [16'h02_41] = 8'h35;
+ buff [16'h02_42] = 8'h75;
+ buff [16'h02_43] = 8'h89;
+ buff [16'h02_44] = 8'h30;
+ buff [16'h02_45] = 8'h75;
+ buff [16'h02_46] = 8'h8D;
+ buff [16'h02_47] = 8'h00;
+ buff [16'h02_48] = 8'h75;
+ buff [16'h02_49] = 8'h8B;
+ buff [16'h02_4a] = 8'h00;
+ buff [16'h02_4b] = 8'hD2;
+ buff [16'h02_4c] = 8'h8E;
+ buff [16'h02_4d] = 8'h00;
+ buff [16'h02_4e] = 8'h00;
+ buff [16'h02_4f] = 8'h00;
+ buff [16'h02_50] = 8'hC2;
+ buff [16'h02_51] = 8'h8E;
+ buff [16'h02_52] = 8'h7A;
+ buff [16'h02_53] = 8'h98;
+ buff [16'h02_54] = 8'h7B;
+ buff [16'h02_55] = 8'h00;
+ buff [16'h02_56] = 8'h7C;
+ buff [16'h02_57] = 8'h00;
+ buff [16'h02_58] = 8'h7D;
+ buff [16'h02_59] = 8'h03;
+ buff [16'h02_5a] = 8'h11;
+ buff [16'h02_5b] = 8'h35;
+ buff [16'h02_5c] = 8'h75;
+ buff [16'h02_5d] = 8'h8B;
+ buff [16'h02_5e] = 8'hFC;
+ buff [16'h02_5f] = 8'h75;
+ buff [16'h02_60] = 8'h8D;
+ buff [16'h02_61] = 8'hFF;
+ buff [16'h02_62] = 8'hD2;
+ buff [16'h02_63] = 8'h8E;
+ buff [16'h02_64] = 8'h00;
+ buff [16'h02_65] = 8'h00;
+ buff [16'h02_66] = 8'h00;
+ buff [16'h02_67] = 8'h00;
+ buff [16'h02_68] = 8'h00;
+ buff [16'h02_69] = 8'hC2;
+ buff [16'h02_6a] = 8'h8E;
+ buff [16'h02_6b] = 8'h7A;
+ buff [16'h02_6c] = 8'hA8;
+ buff [16'h02_6d] = 8'h7B;
+ buff [16'h02_6e] = 8'hFF;
+ buff [16'h02_6f] = 8'h7C;
+ buff [16'h02_70] = 8'hFC;
+ buff [16'h02_71] = 8'h7D;
+ buff [16'h02_72] = 8'h03;
+ buff [16'h02_73] = 8'h11;
+ buff [16'h02_74] = 8'h35;
+ buff [16'h02_75] = 8'h75;
+ buff [16'h02_76] = 8'h80;
+ buff [16'h02_77] = 8'h02;
+end
+
+always @(posedge clk)
+begin
+ data1 <= #1 buff [addr];
+ data2 <= #1 buff [addr+1];
+ data3 <= #1 buff [addr+2];
+end
+
+endmodule
Index: v/xram_m.v
===================================================================
--- v/xram_m.v (nonexistent)
+++ v/xram_m.v (revision 186)
@@ -0,0 +1,273 @@
+
+///
+/// created by oc8051 rom maker
+/// author: Simon Teran (simont@opencores.org)
+///
+/// source file: D:\tmp\asm\TEMP\Xram_m.ihx
+/// date: 11.7.02
+/// time: 9:14:31
+///
+
+module oc8051_rom (rst, clk, addr, ea_int, data1, data2, data3);
+
+parameter INT_ROM_WID= 8;
+
+input rst, clk;
+input [15:0] addr;
+output ea_int;
+output [7:0] data1, data2, data3;
+reg [7:0] data1, data2, data3;
+reg [7:0] buff [65535:0];
+integer i;
+
+wire ea;
+
+assign ea = | addr[15:INT_ROM_WID];
+assign ea_int = ! ea;
+
+initial
+begin
+ for (i=0; i<65536; i=i+1)
+ buff [i] = 8'h00;
+#2
+
+ buff [16'h00_00] = 8'h02;
+ buff [16'h00_01] = 8'h00;
+ buff [16'h00_02] = 8'hD6;
+ buff [16'h00_03] = 8'h32;
+ buff [16'h00_04] = 8'h00;
+ buff [16'h00_05] = 8'h00;
+ buff [16'h00_06] = 8'h00;
+ buff [16'h00_07] = 8'h00;
+ buff [16'h00_08] = 8'h00;
+ buff [16'h00_09] = 8'h00;
+ buff [16'h00_0a] = 8'h00;
+ buff [16'h00_0b] = 8'h32;
+ buff [16'h00_0c] = 8'h00;
+ buff [16'h00_0d] = 8'h00;
+ buff [16'h00_0e] = 8'h00;
+ buff [16'h00_0f] = 8'h00;
+ buff [16'h00_10] = 8'h00;
+ buff [16'h00_11] = 8'h00;
+ buff [16'h00_12] = 8'h00;
+ buff [16'h00_13] = 8'h32;
+ buff [16'h00_14] = 8'h00;
+ buff [16'h00_15] = 8'h00;
+ buff [16'h00_16] = 8'h00;
+ buff [16'h00_17] = 8'h00;
+ buff [16'h00_18] = 8'h00;
+ buff [16'h00_19] = 8'h00;
+ buff [16'h00_1a] = 8'h00;
+ buff [16'h00_1b] = 8'h32;
+ buff [16'h00_1c] = 8'h00;
+ buff [16'h00_1d] = 8'h00;
+ buff [16'h00_1e] = 8'h00;
+ buff [16'h00_1f] = 8'h00;
+ buff [16'h00_20] = 8'h00;
+ buff [16'h00_21] = 8'h00;
+ buff [16'h00_22] = 8'h00;
+ buff [16'h00_23] = 8'h32;
+ buff [16'h00_24] = 8'h00;
+ buff [16'h00_25] = 8'h00;
+ buff [16'h00_26] = 8'h00;
+ buff [16'h00_27] = 8'h00;
+ buff [16'h00_28] = 8'h00;
+ buff [16'h00_29] = 8'h00;
+ buff [16'h00_2a] = 8'h00;
+ buff [16'h00_2b] = 8'h32;
+ buff [16'h00_2c] = 8'h00;
+ buff [16'h00_2d] = 8'h00;
+ buff [16'h00_2e] = 8'h00;
+ buff [16'h00_2f] = 8'h00;
+ buff [16'h00_30] = 8'h00;
+ buff [16'h00_31] = 8'h00;
+ buff [16'h00_32] = 8'h00;
+ buff [16'h00_33] = 8'h12;
+ buff [16'h00_34] = 8'h00;
+ buff [16'h00_35] = 8'h38;
+ buff [16'h00_36] = 8'h80;
+ buff [16'h00_37] = 8'hFE;
+ buff [16'h00_38] = 8'h90;
+ buff [16'h00_39] = 8'h00;
+ buff [16'h00_3a] = 8'hFF;
+ buff [16'h00_3b] = 8'h74;
+ buff [16'h00_3c] = 8'hFF;
+ buff [16'h00_3d] = 8'hF0;
+ buff [16'h00_3e] = 8'h7A;
+ buff [16'h00_3f] = 8'h01;
+ buff [16'h00_40] = 8'h7B;
+ buff [16'h00_41] = 8'h00;
+ buff [16'h00_42] = 8'hC3;
+ buff [16'h00_43] = 8'hEA;
+ buff [16'h00_44] = 8'h94;
+ buff [16'h00_45] = 8'h0A;
+ buff [16'h00_46] = 8'hEB;
+ buff [16'h00_47] = 8'h94;
+ buff [16'h00_48] = 8'h00;
+ buff [16'h00_49] = 8'h40;
+ buff [16'h00_4a] = 8'h03;
+ buff [16'h00_4b] = 8'h02;
+ buff [16'h00_4c] = 8'h00;
+ buff [16'h00_4d] = 8'hCC;
+ buff [16'h00_4e] = 8'h8A;
+ buff [16'h00_4f] = 8'h05;
+ buff [16'h00_50] = 8'h7C;
+ buff [16'h00_51] = 8'h00;
+ buff [16'h00_52] = 8'h7E;
+ buff [16'h00_53] = 8'h01;
+ buff [16'h00_54] = 8'h7F;
+ buff [16'h00_55] = 8'h00;
+ buff [16'h00_56] = 8'hC3;
+ buff [16'h00_57] = 8'hEE;
+ buff [16'h00_58] = 8'h94;
+ buff [16'h00_59] = 8'h00;
+ buff [16'h00_5a] = 8'hEF;
+ buff [16'h00_5b] = 8'h94;
+ buff [16'h00_5c] = 8'h01;
+ buff [16'h00_5d] = 8'hE4;
+ buff [16'h00_5e] = 8'h33;
+ buff [16'h00_5f] = 8'hF8;
+ buff [16'h00_60] = 8'h60;
+ buff [16'h00_61] = 8'h43;
+ buff [16'h00_62] = 8'hEE;
+ buff [16'h00_63] = 8'h2C;
+ buff [16'h00_64] = 8'hF5;
+ buff [16'h00_65] = 8'h30;
+ buff [16'h00_66] = 8'hEF;
+ buff [16'h00_67] = 8'h3D;
+ buff [16'h00_68] = 8'hF5;
+ buff [16'h00_69] = 8'h31;
+ buff [16'h00_6a] = 8'hE5;
+ buff [16'h00_6b] = 8'h30;
+ buff [16'h00_6c] = 8'h24;
+ buff [16'h00_6d] = 8'h00;
+ buff [16'h00_6e] = 8'hF5;
+ buff [16'h00_6f] = 8'h32;
+ buff [16'h00_70] = 8'hE5;
+ buff [16'h00_71] = 8'h31;
+ buff [16'h00_72] = 8'h34;
+ buff [16'h00_73] = 8'h00;
+ buff [16'h00_74] = 8'hF5;
+ buff [16'h00_75] = 8'h33;
+ buff [16'h00_76] = 8'hE5;
+ buff [16'h00_77] = 8'h30;
+ buff [16'h00_78] = 8'h24;
+ buff [16'h00_79] = 8'hFF;
+ buff [16'h00_7a] = 8'hF5;
+ buff [16'h00_7b] = 8'h34;
+ buff [16'h00_7c] = 8'hE5;
+ buff [16'h00_7d] = 8'h31;
+ buff [16'h00_7e] = 8'h34;
+ buff [16'h00_7f] = 8'hFF;
+ buff [16'h00_80] = 8'hF5;
+ buff [16'h00_81] = 8'h35;
+ buff [16'h00_82] = 8'hE5;
+ buff [16'h00_83] = 8'h34;
+ buff [16'h00_84] = 8'h24;
+ buff [16'h00_85] = 8'h00;
+ buff [16'h00_86] = 8'hF5;
+ buff [16'h00_87] = 8'h82;
+ buff [16'h00_88] = 8'hE5;
+ buff [16'h00_89] = 8'h35;
+ buff [16'h00_8a] = 8'h34;
+ buff [16'h00_8b] = 8'h00;
+ buff [16'h00_8c] = 8'hF5;
+ buff [16'h00_8d] = 8'h83;
+ buff [16'h00_8e] = 8'hE0;
+ buff [16'h00_8f] = 8'hF9;
+ buff [16'h00_90] = 8'h24;
+ buff [16'h00_91] = 8'h01;
+ buff [16'h00_92] = 8'hF5;
+ buff [16'h00_93] = 8'h36;
+ buff [16'h00_94] = 8'h85;
+ buff [16'h00_95] = 8'h32;
+ buff [16'h00_96] = 8'h82;
+ buff [16'h00_97] = 8'h85;
+ buff [16'h00_98] = 8'h33;
+ buff [16'h00_99] = 8'h83;
+ buff [16'h00_9a] = 8'hE5;
+ buff [16'h00_9b] = 8'h36;
+ buff [16'h00_9c] = 8'hF0;
+ buff [16'h00_9d] = 8'h0E;
+ buff [16'h00_9e] = 8'hBE;
+ buff [16'h00_9f] = 8'h00;
+ buff [16'h00_a0] = 8'hB5;
+ buff [16'h00_a1] = 8'h0F;
+ buff [16'h00_a2] = 8'h02;
+ buff [16'h00_a3] = 8'h00;
+ buff [16'h00_a4] = 8'h56;
+ buff [16'h00_a5] = 8'h74;
+ buff [16'h00_a6] = 8'hFF;
+ buff [16'h00_a7] = 8'h2C;
+ buff [16'h00_a8] = 8'hFC;
+ buff [16'h00_a9] = 8'hE4;
+ buff [16'h00_aa] = 8'h3D;
+ buff [16'h00_ab] = 8'hFD;
+ buff [16'h00_ac] = 8'hEC;
+ buff [16'h00_ad] = 8'h24;
+ buff [16'h00_ae] = 8'h00;
+ buff [16'h00_af] = 8'hF5;
+ buff [16'h00_b0] = 8'h82;
+ buff [16'h00_b1] = 8'hED;
+ buff [16'h00_b2] = 8'h34;
+ buff [16'h00_b3] = 8'h00;
+ buff [16'h00_b4] = 8'hF5;
+ buff [16'h00_b5] = 8'h83;
+ buff [16'h00_b6] = 8'hE0;
+ buff [16'h00_b7] = 8'hFC;
+ buff [16'h00_b8] = 8'h7D;
+ buff [16'h00_b9] = 8'h00;
+ buff [16'h00_ba] = 8'hBC;
+ buff [16'h00_bb] = 8'hFF;
+ buff [16'h00_bc] = 8'h05;
+ buff [16'h00_bd] = 8'hBD;
+ buff [16'h00_be] = 8'h00;
+ buff [16'h00_bf] = 8'h02;
+ buff [16'h00_c0] = 8'h80;
+ buff [16'h00_c1] = 8'h02;
+ buff [16'h00_c2] = 8'h8A;
+ buff [16'h00_c3] = 8'h90;
+ buff [16'h00_c4] = 8'h0A;
+ buff [16'h00_c5] = 8'hBA;
+ buff [16'h00_c6] = 8'h00;
+ buff [16'h00_c7] = 8'h01;
+ buff [16'h00_c8] = 8'h0B;
+ buff [16'h00_c9] = 8'h02;
+ buff [16'h00_ca] = 8'h00;
+ buff [16'h00_cb] = 8'h42;
+ buff [16'h00_cc] = 8'h75;
+ buff [16'h00_cd] = 8'h80;
+ buff [16'h00_ce] = 8'h01;
+ buff [16'h00_cf] = 8'h80;
+ buff [16'h00_d0] = 8'hFE;
+ buff [16'h00_d1] = 8'h22;
+ buff [16'h00_d2] = 8'h75;
+ buff [16'h00_d3] = 8'h82;
+ buff [16'h00_d4] = 8'h00;
+ buff [16'h00_d5] = 8'h22;
+ buff [16'h00_d6] = 8'h75;
+ buff [16'h00_d7] = 8'h81;
+ buff [16'h00_d8] = 8'h07;
+ buff [16'h00_d9] = 8'h12;
+ buff [16'h00_da] = 8'h00;
+ buff [16'h00_db] = 8'hD2;
+ buff [16'h00_dc] = 8'hE5;
+ buff [16'h00_dd] = 8'h82;
+ buff [16'h00_de] = 8'h60;
+ buff [16'h00_df] = 8'h03;
+ buff [16'h00_e0] = 8'h02;
+ buff [16'h00_e1] = 8'h00;
+ buff [16'h00_e2] = 8'h33;
+ buff [16'h00_e3] = 8'h02;
+ buff [16'h00_e4] = 8'h00;
+ buff [16'h00_e5] = 8'h33;
+end
+
+always @(posedge clk)
+begin
+ data1 <= #1 buff [addr];
+ data2 <= #1 buff [addr+1];
+ data3 <= #1 buff [addr+2];
+end
+
+endmodule
v/xram_m.v
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: v/lcall.v
===================================================================
--- v/lcall.v (nonexistent)
+++ v/lcall.v (revision 186)
@@ -0,0 +1,63 @@
+
+///
+/// created by p8051Rom.exe
+/// author: Simon Teran (simont@opencores.org)
+///
+/// source file: D:\verilog\oc8051\test\lcall.hex
+/// date: 6.6.02
+/// time: 22:01:01
+///
+
+module oc8051_rom (rst, clk, addr, ea_int, data1, data2, data3);
+
+parameter INT_ROM_WID= 7;
+
+input rst, clk;
+input [15:0] addr;
+output ea_int;
+output [7:0] data1, data2, data3;
+reg [7:0] data1, data2, data3;
+reg [7:0] buff [65535:0];
+integer i;
+
+wire ea;
+
+assign ea = | addr[15:INT_ROM_WID];
+assign ea_int = ! ea;
+
+initial
+begin
+ for (i=0; i<65536; i=i+1)
+ buff [i] = 8'h00;
+#2
+
+ buff [16'h00_00] = 8'h75;
+ buff [16'h00_01] = 8'h20;
+ buff [16'h00_02] = 8'h00;
+ buff [16'h00_03] = 8'hD2;
+ buff [16'h00_04] = 8'h02;
+ buff [16'h00_05] = 8'h12;
+ buff [16'h00_06] = 8'h00;
+ buff [16'h00_07] = 8'h0E;
+ buff [16'h00_08] = 8'h85;
+ buff [16'h00_09] = 8'h20;
+ buff [16'h00_0a] = 8'h80;
+ buff [16'h00_0b] = 8'h02;
+ buff [16'h00_0c] = 8'h00;
+ buff [16'h00_0d] = 8'h12;
+ buff [16'h00_0e] = 8'h75;
+ buff [16'h00_0f] = 8'h80;
+ buff [16'h00_10] = 8'h0A;
+ buff [16'h00_11] = 8'h22;
+ buff [16'h00_12] = 8'h00;
+ buff [16'h00_13] = 8'h00;
+end
+
+always @(posedge clk)
+begin
+ data1 <= #1 buff [addr];
+ data2 <= #1 buff [addr+1];
+ data3 <= #1 buff [addr+2];
+end
+
+endmodule
v/lcall.v
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: v/sort.v
===================================================================
--- v/sort.v (nonexistent)
+++ v/sort.v (revision 186)
@@ -0,0 +1,585 @@
+
+///
+/// created by oc8051 rom maker
+/// author: Simon Teran (simont@opencores.org)
+///
+/// source file: D:\verilog\oc8051\test\sort.hex
+/// date: 27.6.02
+/// time: 19:35:38
+///
+
+module oc8051_rom (rst, clk, addr, ea_int, data1, data2, data3);
+
+parameter INT_ROM_WID= 10;
+
+input rst, clk;
+input [15:0] addr;
+output ea_int;
+output [7:0] data1, data2, data3;
+reg [7:0] data1, data2, data3;
+reg [7:0] buff [65535:0];
+integer i;
+
+wire ea;
+
+assign ea = | addr[15:INT_ROM_WID];
+assign ea_int = ! ea;
+
+initial
+begin
+ for (i=0; i<65536; i=i+1)
+ buff [i] = 8'h00;
+#2
+
+ buff [16'h00_00] = 8'h02;
+ buff [16'h00_01] = 8'h00;
+ buff [16'h00_02] = 8'hCA;
+ buff [16'h00_03] = 8'h8B;
+ buff [16'h00_04] = 8'h12;
+ buff [16'h00_05] = 8'h8A;
+ buff [16'h00_06] = 8'h13;
+ buff [16'h00_07] = 8'h89;
+ buff [16'h00_08] = 8'h14;
+ buff [16'h00_09] = 8'h8D;
+ buff [16'h00_0a] = 8'h15;
+ buff [16'h00_0b] = 8'hE4;
+ buff [16'h00_0c] = 8'hFF;
+ buff [16'h00_0d] = 8'hEF;
+ buff [16'h00_0e] = 8'hC3;
+ buff [16'h00_0f] = 8'h95;
+ buff [16'h00_10] = 8'h15;
+ buff [16'h00_11] = 8'h50;
+ buff [16'h00_12] = 8'h46;
+ buff [16'h00_13] = 8'hAE;
+ buff [16'h00_14] = 8'h07;
+ buff [16'h00_15] = 8'hEE;
+ buff [16'h00_16] = 8'hC3;
+ buff [16'h00_17] = 8'h95;
+ buff [16'h00_18] = 8'h15;
+ buff [16'h00_19] = 8'h50;
+ buff [16'h00_1a] = 8'h3B;
+ buff [16'h00_1b] = 8'hAB;
+ buff [16'h00_1c] = 8'h12;
+ buff [16'h00_1d] = 8'hAA;
+ buff [16'h00_1e] = 8'h13;
+ buff [16'h00_1f] = 8'hA9;
+ buff [16'h00_20] = 8'h14;
+ buff [16'h00_21] = 8'h8E;
+ buff [16'h00_22] = 8'h82;
+ buff [16'h00_23] = 8'h75;
+ buff [16'h00_24] = 8'h83;
+ buff [16'h00_25] = 8'h00;
+ buff [16'h00_26] = 8'h12;
+ buff [16'h00_27] = 8'h01;
+ buff [16'h00_28] = 8'hCF;
+ buff [16'h00_29] = 8'hFD;
+ buff [16'h00_2a] = 8'h8F;
+ buff [16'h00_2b] = 8'h82;
+ buff [16'h00_2c] = 8'h75;
+ buff [16'h00_2d] = 8'h83;
+ buff [16'h00_2e] = 8'h00;
+ buff [16'h00_2f] = 8'h12;
+ buff [16'h00_30] = 8'h01;
+ buff [16'h00_31] = 8'hCF;
+ buff [16'h00_32] = 8'hFC;
+ buff [16'h00_33] = 8'hD3;
+ buff [16'h00_34] = 8'h9D;
+ buff [16'h00_35] = 8'h40;
+ buff [16'h00_36] = 8'h1C;
+ buff [16'h00_37] = 8'h8C;
+ buff [16'h00_38] = 8'h16;
+ buff [16'h00_39] = 8'h8E;
+ buff [16'h00_3a] = 8'h82;
+ buff [16'h00_3b] = 8'h75;
+ buff [16'h00_3c] = 8'h83;
+ buff [16'h00_3d] = 8'h00;
+ buff [16'h00_3e] = 8'h12;
+ buff [16'h00_3f] = 8'h01;
+ buff [16'h00_40] = 8'hCF;
+ buff [16'h00_41] = 8'h8F;
+ buff [16'h00_42] = 8'h82;
+ buff [16'h00_43] = 8'h75;
+ buff [16'h00_44] = 8'h83;
+ buff [16'h00_45] = 8'h00;
+ buff [16'h00_46] = 8'h12;
+ buff [16'h00_47] = 8'h01;
+ buff [16'h00_48] = 8'hFC;
+ buff [16'h00_49] = 8'h8E;
+ buff [16'h00_4a] = 8'h82;
+ buff [16'h00_4b] = 8'h75;
+ buff [16'h00_4c] = 8'h83;
+ buff [16'h00_4d] = 8'h00;
+ buff [16'h00_4e] = 8'hE5;
+ buff [16'h00_4f] = 8'h16;
+ buff [16'h00_50] = 8'h12;
+ buff [16'h00_51] = 8'h01;
+ buff [16'h00_52] = 8'hFC;
+ buff [16'h00_53] = 8'h0E;
+ buff [16'h00_54] = 8'h80;
+ buff [16'h00_55] = 8'hBF;
+ buff [16'h00_56] = 8'h0F;
+ buff [16'h00_57] = 8'h80;
+ buff [16'h00_58] = 8'hB4;
+ buff [16'h00_59] = 8'hE4;
+ buff [16'h00_5a] = 8'hF5;
+ buff [16'h00_5b] = 8'h80;
+ buff [16'h00_5c] = 8'h22;
+ buff [16'h00_5d] = 8'h8B;
+ buff [16'h00_5e] = 8'h12;
+ buff [16'h00_5f] = 8'h8A;
+ buff [16'h00_60] = 8'h13;
+ buff [16'h00_61] = 8'h89;
+ buff [16'h00_62] = 8'h14;
+ buff [16'h00_63] = 8'h8D;
+ buff [16'h00_64] = 8'h15;
+ buff [16'h00_65] = 8'hE4;
+ buff [16'h00_66] = 8'hF5;
+ buff [16'h00_67] = 8'h16;
+ buff [16'h00_68] = 8'hAD;
+ buff [16'h00_69] = 8'h16;
+ buff [16'h00_6a] = 8'hED;
+ buff [16'h00_6b] = 8'h33;
+ buff [16'h00_6c] = 8'h95;
+ buff [16'h00_6d] = 8'hE0;
+ buff [16'h00_6e] = 8'hFC;
+ buff [16'h00_6f] = 8'hC3;
+ buff [16'h00_70] = 8'hED;
+ buff [16'h00_71] = 8'h95;
+ buff [16'h00_72] = 8'h15;
+ buff [16'h00_73] = 8'h74;
+ buff [16'h00_74] = 8'h80;
+ buff [16'h00_75] = 8'hF8;
+ buff [16'h00_76] = 8'h6C;
+ buff [16'h00_77] = 8'h98;
+ buff [16'h00_78] = 8'h50;
+ buff [16'h00_79] = 8'h19;
+ buff [16'h00_7a] = 8'hAB;
+ buff [16'h00_7b] = 8'h12;
+ buff [16'h00_7c] = 8'hAA;
+ buff [16'h00_7d] = 8'h13;
+ buff [16'h00_7e] = 8'hA9;
+ buff [16'h00_7f] = 8'h14;
+ buff [16'h00_80] = 8'hAF;
+ buff [16'h00_81] = 8'h16;
+ buff [16'h00_82] = 8'hEF;
+ buff [16'h00_83] = 8'h33;
+ buff [16'h00_84] = 8'h95;
+ buff [16'h00_85] = 8'hE0;
+ buff [16'h00_86] = 8'h8F;
+ buff [16'h00_87] = 8'h82;
+ buff [16'h00_88] = 8'hF5;
+ buff [16'h00_89] = 8'h83;
+ buff [16'h00_8a] = 8'h12;
+ buff [16'h00_8b] = 8'h01;
+ buff [16'h00_8c] = 8'hCF;
+ buff [16'h00_8d] = 8'hF5;
+ buff [16'h00_8e] = 8'h80;
+ buff [16'h00_8f] = 8'h05;
+ buff [16'h00_90] = 8'h16;
+ buff [16'h00_91] = 8'h80;
+ buff [16'h00_92] = 8'hD5;
+ buff [16'h00_93] = 8'h22;
+ buff [16'h00_94] = 8'h78;
+ buff [16'h00_95] = 8'h08;
+ buff [16'h00_96] = 8'h7C;
+ buff [16'h00_97] = 8'h00;
+ buff [16'h00_98] = 8'h7D;
+ buff [16'h00_99] = 8'h00;
+ buff [16'h00_9a] = 8'h7B;
+ buff [16'h00_9b] = 8'hFF;
+ buff [16'h00_9c] = 8'h7A;
+ buff [16'h00_9d] = 8'h00;
+ buff [16'h00_9e] = 8'h79;
+ buff [16'h00_9f] = 8'hC0;
+ buff [16'h00_a0] = 8'h7E;
+ buff [16'h00_a1] = 8'h00;
+ buff [16'h00_a2] = 8'h7F;
+ buff [16'h00_a3] = 8'h0A;
+ buff [16'h00_a4] = 8'h12;
+ buff [16'h00_a5] = 8'h01;
+ buff [16'h00_a6] = 8'hA6;
+ buff [16'h00_a7] = 8'h7B;
+ buff [16'h00_a8] = 8'h00;
+ buff [16'h00_a9] = 8'h7A;
+ buff [16'h00_aa] = 8'h00;
+ buff [16'h00_ab] = 8'h79;
+ buff [16'h00_ac] = 8'h08;
+ buff [16'h00_ad] = 8'h7D;
+ buff [16'h00_ae] = 8'h0A;
+ buff [16'h00_af] = 8'h12;
+ buff [16'h00_b0] = 8'h00;
+ buff [16'h00_b1] = 8'h03;
+ buff [16'h00_b2] = 8'h7B;
+ buff [16'h00_b3] = 8'h00;
+ buff [16'h00_b4] = 8'h7A;
+ buff [16'h00_b5] = 8'h00;
+ buff [16'h00_b6] = 8'h79;
+ buff [16'h00_b7] = 8'h08;
+ buff [16'h00_b8] = 8'h7D;
+ buff [16'h00_b9] = 8'h0A;
+ buff [16'h00_ba] = 8'h12;
+ buff [16'h00_bb] = 8'h00;
+ buff [16'h00_bc] = 8'h5D;
+ buff [16'h00_bd] = 8'h80;
+ buff [16'h00_be] = 8'hFE;
+ buff [16'h00_bf] = 8'h22;
+ buff [16'h00_c0] = 8'h13;
+ buff [16'h00_c1] = 8'h12;
+ buff [16'h00_c2] = 8'h11;
+ buff [16'h00_c3] = 8'h10;
+ buff [16'h00_c4] = 8'h0F;
+ buff [16'h00_c5] = 8'h0E;
+ buff [16'h00_c6] = 8'h0D;
+ buff [16'h00_c7] = 8'h0C;
+ buff [16'h00_c8] = 8'h0B;
+ buff [16'h00_c9] = 8'h0A;
+ buff [16'h00_ca] = 8'h78;
+ buff [16'h00_cb] = 8'h7F;
+ buff [16'h00_cc] = 8'hE4;
+ buff [16'h00_cd] = 8'hF6;
+ buff [16'h00_ce] = 8'hD8;
+ buff [16'h00_cf] = 8'hFD;
+ buff [16'h00_d0] = 8'h75;
+ buff [16'h00_d1] = 8'h81;
+ buff [16'h00_d2] = 8'h16;
+ buff [16'h00_d3] = 8'h02;
+ buff [16'h00_d4] = 8'h00;
+ buff [16'h00_d5] = 8'h94;
+ buff [16'h00_d6] = 8'hE7;
+ buff [16'h00_d7] = 8'h09;
+ buff [16'h00_d8] = 8'hF6;
+ buff [16'h00_d9] = 8'h08;
+ buff [16'h00_da] = 8'hDF;
+ buff [16'h00_db] = 8'hFA;
+ buff [16'h00_dc] = 8'h80;
+ buff [16'h00_dd] = 8'h46;
+ buff [16'h00_de] = 8'hE7;
+ buff [16'h00_df] = 8'h09;
+ buff [16'h00_e0] = 8'hF2;
+ buff [16'h00_e1] = 8'h08;
+ buff [16'h00_e2] = 8'hDF;
+ buff [16'h00_e3] = 8'hFA;
+ buff [16'h00_e4] = 8'h80;
+ buff [16'h00_e5] = 8'h3E;
+ buff [16'h00_e6] = 8'h88;
+ buff [16'h00_e7] = 8'h82;
+ buff [16'h00_e8] = 8'h8C;
+ buff [16'h00_e9] = 8'h83;
+ buff [16'h00_ea] = 8'hE7;
+ buff [16'h00_eb] = 8'h09;
+ buff [16'h00_ec] = 8'hF0;
+ buff [16'h00_ed] = 8'hA3;
+ buff [16'h00_ee] = 8'hDF;
+ buff [16'h00_ef] = 8'hFA;
+ buff [16'h00_f0] = 8'h80;
+ buff [16'h00_f1] = 8'h32;
+ buff [16'h00_f2] = 8'hE3;
+ buff [16'h00_f3] = 8'h09;
+ buff [16'h00_f4] = 8'hF6;
+ buff [16'h00_f5] = 8'h08;
+ buff [16'h00_f6] = 8'hDF;
+ buff [16'h00_f7] = 8'hFA;
+ buff [16'h00_f8] = 8'h80;
+ buff [16'h00_f9] = 8'h78;
+ buff [16'h00_fa] = 8'hE3;
+ buff [16'h00_fb] = 8'h09;
+ buff [16'h00_fc] = 8'hF2;
+ buff [16'h00_fd] = 8'h08;
+ buff [16'h00_fe] = 8'hDF;
+ buff [16'h00_ff] = 8'hFA;
+ buff [16'h01_00] = 8'h80;
+ buff [16'h01_01] = 8'h70;
+ buff [16'h01_02] = 8'h88;
+ buff [16'h01_03] = 8'h82;
+ buff [16'h01_04] = 8'h8C;
+ buff [16'h01_05] = 8'h83;
+ buff [16'h01_06] = 8'hE3;
+ buff [16'h01_07] = 8'h09;
+ buff [16'h01_08] = 8'hF0;
+ buff [16'h01_09] = 8'hA3;
+ buff [16'h01_0a] = 8'hDF;
+ buff [16'h01_0b] = 8'hFA;
+ buff [16'h01_0c] = 8'h80;
+ buff [16'h01_0d] = 8'h64;
+ buff [16'h01_0e] = 8'h89;
+ buff [16'h01_0f] = 8'h82;
+ buff [16'h01_10] = 8'h8A;
+ buff [16'h01_11] = 8'h83;
+ buff [16'h01_12] = 8'hE0;
+ buff [16'h01_13] = 8'hA3;
+ buff [16'h01_14] = 8'hF6;
+ buff [16'h01_15] = 8'h08;
+ buff [16'h01_16] = 8'hDF;
+ buff [16'h01_17] = 8'hFA;
+ buff [16'h01_18] = 8'h80;
+ buff [16'h01_19] = 8'h58;
+ buff [16'h01_1a] = 8'h89;
+ buff [16'h01_1b] = 8'h82;
+ buff [16'h01_1c] = 8'h8A;
+ buff [16'h01_1d] = 8'h83;
+ buff [16'h01_1e] = 8'hE0;
+ buff [16'h01_1f] = 8'hA3;
+ buff [16'h01_20] = 8'hF2;
+ buff [16'h01_21] = 8'h08;
+ buff [16'h01_22] = 8'hDF;
+ buff [16'h01_23] = 8'hFA;
+ buff [16'h01_24] = 8'h80;
+ buff [16'h01_25] = 8'h4C;
+ buff [16'h01_26] = 8'h80;
+ buff [16'h01_27] = 8'hD2;
+ buff [16'h01_28] = 8'h80;
+ buff [16'h01_29] = 8'hFA;
+ buff [16'h01_2a] = 8'h80;
+ buff [16'h01_2b] = 8'hC6;
+ buff [16'h01_2c] = 8'h80;
+ buff [16'h01_2d] = 8'hD4;
+ buff [16'h01_2e] = 8'h80;
+ buff [16'h01_2f] = 8'h69;
+ buff [16'h01_30] = 8'h80;
+ buff [16'h01_31] = 8'hF2;
+ buff [16'h01_32] = 8'h80;
+ buff [16'h01_33] = 8'h33;
+ buff [16'h01_34] = 8'h80;
+ buff [16'h01_35] = 8'h10;
+ buff [16'h01_36] = 8'h80;
+ buff [16'h01_37] = 8'hA6;
+ buff [16'h01_38] = 8'h80;
+ buff [16'h01_39] = 8'hEA;
+ buff [16'h01_3a] = 8'h80;
+ buff [16'h01_3b] = 8'h9A;
+ buff [16'h01_3c] = 8'h80;
+ buff [16'h01_3d] = 8'hA8;
+ buff [16'h01_3e] = 8'h80;
+ buff [16'h01_3f] = 8'hDA;
+ buff [16'h01_40] = 8'h80;
+ buff [16'h01_41] = 8'hE2;
+ buff [16'h01_42] = 8'h80;
+ buff [16'h01_43] = 8'hCA;
+ buff [16'h01_44] = 8'h80;
+ buff [16'h01_45] = 8'h33;
+ buff [16'h01_46] = 8'h89;
+ buff [16'h01_47] = 8'h82;
+ buff [16'h01_48] = 8'h8A;
+ buff [16'h01_49] = 8'h83;
+ buff [16'h01_4a] = 8'hEC;
+ buff [16'h01_4b] = 8'hFA;
+ buff [16'h01_4c] = 8'hE4;
+ buff [16'h01_4d] = 8'h93;
+ buff [16'h01_4e] = 8'hA3;
+ buff [16'h01_4f] = 8'hC8;
+ buff [16'h01_50] = 8'hC5;
+ buff [16'h01_51] = 8'h82;
+ buff [16'h01_52] = 8'hC8;
+ buff [16'h01_53] = 8'hCC;
+ buff [16'h01_54] = 8'hC5;
+ buff [16'h01_55] = 8'h83;
+ buff [16'h01_56] = 8'hCC;
+ buff [16'h01_57] = 8'hF0;
+ buff [16'h01_58] = 8'hA3;
+ buff [16'h01_59] = 8'hC8;
+ buff [16'h01_5a] = 8'hC5;
+ buff [16'h01_5b] = 8'h82;
+ buff [16'h01_5c] = 8'hC8;
+ buff [16'h01_5d] = 8'hCC;
+ buff [16'h01_5e] = 8'hC5;
+ buff [16'h01_5f] = 8'h83;
+ buff [16'h01_60] = 8'hCC;
+ buff [16'h01_61] = 8'hDF;
+ buff [16'h01_62] = 8'hE9;
+ buff [16'h01_63] = 8'hDE;
+ buff [16'h01_64] = 8'hE7;
+ buff [16'h01_65] = 8'h80;
+ buff [16'h01_66] = 8'h0D;
+ buff [16'h01_67] = 8'h89;
+ buff [16'h01_68] = 8'h82;
+ buff [16'h01_69] = 8'h8A;
+ buff [16'h01_6a] = 8'h83;
+ buff [16'h01_6b] = 8'hE4;
+ buff [16'h01_6c] = 8'h93;
+ buff [16'h01_6d] = 8'hA3;
+ buff [16'h01_6e] = 8'hF6;
+ buff [16'h01_6f] = 8'h08;
+ buff [16'h01_70] = 8'hDF;
+ buff [16'h01_71] = 8'hF9;
+ buff [16'h01_72] = 8'hEC;
+ buff [16'h01_73] = 8'hFA;
+ buff [16'h01_74] = 8'hA9;
+ buff [16'h01_75] = 8'hF0;
+ buff [16'h01_76] = 8'hED;
+ buff [16'h01_77] = 8'hFB;
+ buff [16'h01_78] = 8'h22;
+ buff [16'h01_79] = 8'h89;
+ buff [16'h01_7a] = 8'h82;
+ buff [16'h01_7b] = 8'h8A;
+ buff [16'h01_7c] = 8'h83;
+ buff [16'h01_7d] = 8'hEC;
+ buff [16'h01_7e] = 8'hFA;
+ buff [16'h01_7f] = 8'hE0;
+ buff [16'h01_80] = 8'hA3;
+ buff [16'h01_81] = 8'hC8;
+ buff [16'h01_82] = 8'hC5;
+ buff [16'h01_83] = 8'h82;
+ buff [16'h01_84] = 8'hC8;
+ buff [16'h01_85] = 8'hCC;
+ buff [16'h01_86] = 8'hC5;
+ buff [16'h01_87] = 8'h83;
+ buff [16'h01_88] = 8'hCC;
+ buff [16'h01_89] = 8'hF0;
+ buff [16'h01_8a] = 8'hA3;
+ buff [16'h01_8b] = 8'hC8;
+ buff [16'h01_8c] = 8'hC5;
+ buff [16'h01_8d] = 8'h82;
+ buff [16'h01_8e] = 8'hC8;
+ buff [16'h01_8f] = 8'hCC;
+ buff [16'h01_90] = 8'hC5;
+ buff [16'h01_91] = 8'h83;
+ buff [16'h01_92] = 8'hCC;
+ buff [16'h01_93] = 8'hDF;
+ buff [16'h01_94] = 8'hEA;
+ buff [16'h01_95] = 8'hDE;
+ buff [16'h01_96] = 8'hE8;
+ buff [16'h01_97] = 8'h80;
+ buff [16'h01_98] = 8'hDB;
+ buff [16'h01_99] = 8'h89;
+ buff [16'h01_9a] = 8'h82;
+ buff [16'h01_9b] = 8'h8A;
+ buff [16'h01_9c] = 8'h83;
+ buff [16'h01_9d] = 8'hE4;
+ buff [16'h01_9e] = 8'h93;
+ buff [16'h01_9f] = 8'hA3;
+ buff [16'h01_a0] = 8'hF2;
+ buff [16'h01_a1] = 8'h08;
+ buff [16'h01_a2] = 8'hDF;
+ buff [16'h01_a3] = 8'hF9;
+ buff [16'h01_a4] = 8'h80;
+ buff [16'h01_a5] = 8'hCC;
+ buff [16'h01_a6] = 8'h88;
+ buff [16'h01_a7] = 8'hF0;
+ buff [16'h01_a8] = 8'hED;
+ buff [16'h01_a9] = 8'h24;
+ buff [16'h01_aa] = 8'h02;
+ buff [16'h01_ab] = 8'hB4;
+ buff [16'h01_ac] = 8'h04;
+ buff [16'h01_ad] = 8'h00;
+ buff [16'h01_ae] = 8'h50;
+ buff [16'h01_af] = 8'hC2;
+ buff [16'h01_b0] = 8'hF5;
+ buff [16'h01_b1] = 8'h82;
+ buff [16'h01_b2] = 8'hEB;
+ buff [16'h01_b3] = 8'h24;
+ buff [16'h01_b4] = 8'h02;
+ buff [16'h01_b5] = 8'hB4;
+ buff [16'h01_b6] = 8'h04;
+ buff [16'h01_b7] = 8'h00;
+ buff [16'h01_b8] = 8'h50;
+ buff [16'h01_b9] = 8'hB8;
+ buff [16'h01_ba] = 8'h23;
+ buff [16'h01_bb] = 8'h23;
+ buff [16'h01_bc] = 8'h45;
+ buff [16'h01_bd] = 8'h82;
+ buff [16'h01_be] = 8'hF5;
+ buff [16'h01_bf] = 8'h82;
+ buff [16'h01_c0] = 8'hEF;
+ buff [16'h01_c1] = 8'h4E;
+ buff [16'h01_c2] = 8'h60;
+ buff [16'h01_c3] = 8'hAE;
+ buff [16'h01_c4] = 8'hEF;
+ buff [16'h01_c5] = 8'h60;
+ buff [16'h01_c6] = 8'h01;
+ buff [16'h01_c7] = 8'h0E;
+ buff [16'h01_c8] = 8'hE5;
+ buff [16'h01_c9] = 8'h82;
+ buff [16'h01_ca] = 8'h23;
+ buff [16'h01_cb] = 8'h90;
+ buff [16'h01_cc] = 8'h01;
+ buff [16'h01_cd] = 8'h26;
+ buff [16'h01_ce] = 8'h73;
+ buff [16'h01_cf] = 8'hBB;
+ buff [16'h01_d0] = 8'h01;
+ buff [16'h01_d1] = 8'h0C;
+ buff [16'h01_d2] = 8'hE5;
+ buff [16'h01_d3] = 8'h82;
+ buff [16'h01_d4] = 8'h29;
+ buff [16'h01_d5] = 8'hF5;
+ buff [16'h01_d6] = 8'h82;
+ buff [16'h01_d7] = 8'hE5;
+ buff [16'h01_d8] = 8'h83;
+ buff [16'h01_d9] = 8'h3A;
+ buff [16'h01_da] = 8'hF5;
+ buff [16'h01_db] = 8'h83;
+ buff [16'h01_dc] = 8'hE0;
+ buff [16'h01_dd] = 8'h22;
+ buff [16'h01_de] = 8'h50;
+ buff [16'h01_df] = 8'h06;
+ buff [16'h01_e0] = 8'hE9;
+ buff [16'h01_e1] = 8'h25;
+ buff [16'h01_e2] = 8'h82;
+ buff [16'h01_e3] = 8'hF8;
+ buff [16'h01_e4] = 8'hE6;
+ buff [16'h01_e5] = 8'h22;
+ buff [16'h01_e6] = 8'hBB;
+ buff [16'h01_e7] = 8'hFE;
+ buff [16'h01_e8] = 8'h06;
+ buff [16'h01_e9] = 8'hE9;
+ buff [16'h01_ea] = 8'h25;
+ buff [16'h01_eb] = 8'h82;
+ buff [16'h01_ec] = 8'hF8;
+ buff [16'h01_ed] = 8'hE2;
+ buff [16'h01_ee] = 8'h22;
+ buff [16'h01_ef] = 8'hE5;
+ buff [16'h01_f0] = 8'h82;
+ buff [16'h01_f1] = 8'h29;
+ buff [16'h01_f2] = 8'hF5;
+ buff [16'h01_f3] = 8'h82;
+ buff [16'h01_f4] = 8'hE5;
+ buff [16'h01_f5] = 8'h83;
+ buff [16'h01_f6] = 8'h3A;
+ buff [16'h01_f7] = 8'hF5;
+ buff [16'h01_f8] = 8'h83;
+ buff [16'h01_f9] = 8'hE4;
+ buff [16'h01_fa] = 8'h93;
+ buff [16'h01_fb] = 8'h22;
+ buff [16'h01_fc] = 8'hF8;
+ buff [16'h01_fd] = 8'hBB;
+ buff [16'h01_fe] = 8'h01;
+ buff [16'h01_ff] = 8'h0D;
+ buff [16'h02_00] = 8'hE5;
+ buff [16'h02_01] = 8'h82;
+ buff [16'h02_02] = 8'h29;
+ buff [16'h02_03] = 8'hF5;
+ buff [16'h02_04] = 8'h82;
+ buff [16'h02_05] = 8'hE5;
+ buff [16'h02_06] = 8'h83;
+ buff [16'h02_07] = 8'h3A;
+ buff [16'h02_08] = 8'hF5;
+ buff [16'h02_09] = 8'h83;
+ buff [16'h02_0a] = 8'hE8;
+ buff [16'h02_0b] = 8'hF0;
+ buff [16'h02_0c] = 8'h22;
+ buff [16'h02_0d] = 8'h50;
+ buff [16'h02_0e] = 8'h06;
+ buff [16'h02_0f] = 8'hE9;
+ buff [16'h02_10] = 8'h25;
+ buff [16'h02_11] = 8'h82;
+ buff [16'h02_12] = 8'hC8;
+ buff [16'h02_13] = 8'hF6;
+ buff [16'h02_14] = 8'h22;
+ buff [16'h02_15] = 8'hBB;
+ buff [16'h02_16] = 8'hFE;
+ buff [16'h02_17] = 8'h05;
+ buff [16'h02_18] = 8'hE9;
+ buff [16'h02_19] = 8'h25;
+ buff [16'h02_1a] = 8'h82;
+ buff [16'h02_1b] = 8'hC8;
+ buff [16'h02_1c] = 8'hF2;
+ buff [16'h02_1d] = 8'h22;
+end
+
+always @(posedge clk)
+begin
+ data1 <= #1 buff [addr];
+ data2 <= #1 buff [addr+1];
+ data3 <= #1 buff [addr+2];
+end
+
+endmodule
v/sort.v
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: v/sqroot.v
===================================================================
--- v/sqroot.v (nonexistent)
+++ v/sqroot.v (revision 186)
@@ -0,0 +1,1163 @@
+
+///
+/// created by p8051Rom.exe
+/// author: Simon Teran (simont@opencores.org)
+///
+/// source file: D:\verilog\oc8051\test\sqroot.hex
+/// date: 6.6.02
+/// time: 22:01:15
+///
+
+module oc8051_rom (rst, clk, addr, ea_int, data1, data2, data3);
+
+parameter INT_ROM_WID= 11;
+
+input rst, clk;
+input [15:0] addr;
+output ea_int;
+output [7:0] data1, data2, data3;
+reg [7:0] data1, data2, data3;
+reg [7:0] buff [65535:0];
+integer i;
+
+wire ea;
+
+assign ea = | addr[15:INT_ROM_WID];
+assign ea_int = ! ea;
+
+initial
+begin
+ for (i=0; i<65536; i=i+1)
+ buff [i] = 8'h00;
+#2
+
+ buff [16'h00_00] = 8'h02;
+ buff [16'h00_01] = 8'h04;
+ buff [16'h00_02] = 8'h54;
+ buff [16'h00_03] = 8'h7F;
+ buff [16'h00_04] = 8'h00;
+ buff [16'h00_05] = 8'h7E;
+ buff [16'h00_06] = 8'h00;
+ buff [16'h00_07] = 8'h7D;
+ buff [16'h00_08] = 8'h40;
+ buff [16'h00_09] = 8'h7C;
+ buff [16'h00_0a] = 8'h40;
+ buff [16'h00_0b] = 8'h75;
+ buff [16'h00_0c] = 8'h0B;
+ buff [16'h00_0d] = 8'h00;
+ buff [16'h00_0e] = 8'h75;
+ buff [16'h00_0f] = 8'h0A;
+ buff [16'h00_10] = 8'h00;
+ buff [16'h00_11] = 8'h75;
+ buff [16'h00_12] = 8'h09;
+ buff [16'h00_13] = 8'h80;
+ buff [16'h00_14] = 8'h75;
+ buff [16'h00_15] = 8'h08;
+ buff [16'h00_16] = 8'h40;
+ buff [16'h00_17] = 8'hA8;
+ buff [16'h00_18] = 8'h04;
+ buff [16'h00_19] = 8'hA9;
+ buff [16'h00_1a] = 8'h05;
+ buff [16'h00_1b] = 8'hAA;
+ buff [16'h00_1c] = 8'h06;
+ buff [16'h00_1d] = 8'hAB;
+ buff [16'h00_1e] = 8'h07;
+ buff [16'h00_1f] = 8'h12;
+ buff [16'h00_20] = 8'h01;
+ buff [16'h00_21] = 8'h7A;
+ buff [16'h00_22] = 8'h8F;
+ buff [16'h00_23] = 8'h0F;
+ buff [16'h00_24] = 8'h8E;
+ buff [16'h00_25] = 8'h0E;
+ buff [16'h00_26] = 8'h8D;
+ buff [16'h00_27] = 8'h0D;
+ buff [16'h00_28] = 8'h8C;
+ buff [16'h00_29] = 8'h0C;
+ buff [16'h00_2a] = 8'h12;
+ buff [16'h00_2b] = 8'h02;
+ buff [16'h00_2c] = 8'h80;
+ buff [16'h00_2d] = 8'h8F;
+ buff [16'h00_2e] = 8'h80;
+ buff [16'h00_2f] = 8'hAF;
+ buff [16'h00_30] = 8'h0B;
+ buff [16'h00_31] = 8'hAE;
+ buff [16'h00_32] = 8'h0A;
+ buff [16'h00_33] = 8'hAD;
+ buff [16'h00_34] = 8'h09;
+ buff [16'h00_35] = 8'hAC;
+ buff [16'h00_36] = 8'h08;
+ buff [16'h00_37] = 8'hA8;
+ buff [16'h00_38] = 8'h04;
+ buff [16'h00_39] = 8'hA9;
+ buff [16'h00_3a] = 8'h05;
+ buff [16'h00_3b] = 8'hAA;
+ buff [16'h00_3c] = 8'h06;
+ buff [16'h00_3d] = 8'hAB;
+ buff [16'h00_3e] = 8'h07;
+ buff [16'h00_3f] = 8'h12;
+ buff [16'h00_40] = 8'h01;
+ buff [16'h00_41] = 8'h7A;
+ buff [16'h00_42] = 8'h8F;
+ buff [16'h00_43] = 8'h13;
+ buff [16'h00_44] = 8'h8E;
+ buff [16'h00_45] = 8'h12;
+ buff [16'h00_46] = 8'h8D;
+ buff [16'h00_47] = 8'h11;
+ buff [16'h00_48] = 8'h8C;
+ buff [16'h00_49] = 8'h10;
+ buff [16'h00_4a] = 8'h12;
+ buff [16'h00_4b] = 8'h02;
+ buff [16'h00_4c] = 8'h80;
+ buff [16'h00_4d] = 8'h8F;
+ buff [16'h00_4e] = 8'h90;
+ buff [16'h00_4f] = 8'hAF;
+ buff [16'h00_50] = 8'h13;
+ buff [16'h00_51] = 8'hAE;
+ buff [16'h00_52] = 8'h12;
+ buff [16'h00_53] = 8'hAD;
+ buff [16'h00_54] = 8'h11;
+ buff [16'h00_55] = 8'hAC;
+ buff [16'h00_56] = 8'h10;
+ buff [16'h00_57] = 8'hAB;
+ buff [16'h00_58] = 8'h0F;
+ buff [16'h00_59] = 8'hAA;
+ buff [16'h00_5a] = 8'h0E;
+ buff [16'h00_5b] = 8'hA9;
+ buff [16'h00_5c] = 8'h0D;
+ buff [16'h00_5d] = 8'hA8;
+ buff [16'h00_5e] = 8'h0C;
+ buff [16'h00_5f] = 8'h12;
+ buff [16'h00_60] = 8'h00;
+ buff [16'h00_61] = 8'h89;
+ buff [16'h00_62] = 8'h8F;
+ buff [16'h00_63] = 8'h17;
+ buff [16'h00_64] = 8'h8E;
+ buff [16'h00_65] = 8'h16;
+ buff [16'h00_66] = 8'h8D;
+ buff [16'h00_67] = 8'h15;
+ buff [16'h00_68] = 8'h8C;
+ buff [16'h00_69] = 8'h14;
+ buff [16'h00_6a] = 8'h12;
+ buff [16'h00_6b] = 8'h02;
+ buff [16'h00_6c] = 8'h80;
+ buff [16'h00_6d] = 8'h8F;
+ buff [16'h00_6e] = 8'hA0;
+ buff [16'h00_6f] = 8'hAF;
+ buff [16'h00_70] = 8'h17;
+ buff [16'h00_71] = 8'hAE;
+ buff [16'h00_72] = 8'h16;
+ buff [16'h00_73] = 8'hAD;
+ buff [16'h00_74] = 8'h15;
+ buff [16'h00_75] = 8'hAC;
+ buff [16'h00_76] = 8'h14;
+ buff [16'h00_77] = 8'h12;
+ buff [16'h00_78] = 8'h03;
+ buff [16'h00_79] = 8'hAE;
+ buff [16'h00_7a] = 8'h12;
+ buff [16'h00_7b] = 8'h02;
+ buff [16'h00_7c] = 8'h80;
+ buff [16'h00_7d] = 8'h8F;
+ buff [16'h00_7e] = 8'hB0;
+ buff [16'h00_7f] = 8'h80;
+ buff [16'h00_80] = 8'hFE;
+ buff [16'h00_81] = 8'h22;
+ buff [16'h00_82] = 8'h02;
+ buff [16'h00_83] = 8'h02;
+ buff [16'h00_84] = 8'hEC;
+ buff [16'h00_85] = 8'hE8;
+ buff [16'h00_86] = 8'h64;
+ buff [16'h00_87] = 8'h80;
+ buff [16'h00_88] = 8'hF8;
+ buff [16'h00_89] = 8'hE9;
+ buff [16'h00_8a] = 8'h33;
+ buff [16'h00_8b] = 8'hE8;
+ buff [16'h00_8c] = 8'h33;
+ buff [16'h00_8d] = 8'h60;
+ buff [16'h00_8e] = 8'h11;
+ buff [16'h00_8f] = 8'h04;
+ buff [16'h00_90] = 8'h60;
+ buff [16'h00_91] = 8'hF0;
+ buff [16'h00_92] = 8'hED;
+ buff [16'h00_93] = 8'h33;
+ buff [16'h00_94] = 8'hEC;
+ buff [16'h00_95] = 8'h33;
+ buff [16'h00_96] = 8'h70;
+ buff [16'h00_97] = 8'h09;
+ buff [16'h00_98] = 8'hE8;
+ buff [16'h00_99] = 8'hFC;
+ buff [16'h00_9a] = 8'hE9;
+ buff [16'h00_9b] = 8'hFD;
+ buff [16'h00_9c] = 8'hEA;
+ buff [16'h00_9d] = 8'hFE;
+ buff [16'h00_9e] = 8'hEB;
+ buff [16'h00_9f] = 8'hFF;
+ buff [16'h00_a0] = 8'h22;
+ buff [16'h00_a1] = 8'h04;
+ buff [16'h00_a2] = 8'h60;
+ buff [16'h00_a3] = 8'hDE;
+ buff [16'h00_a4] = 8'hD3;
+ buff [16'h00_a5] = 8'hEB;
+ buff [16'h00_a6] = 8'h9F;
+ buff [16'h00_a7] = 8'hEA;
+ buff [16'h00_a8] = 8'h9E;
+ buff [16'h00_a9] = 8'hE9;
+ buff [16'h00_aa] = 8'h9D;
+ buff [16'h00_ab] = 8'hE8;
+ buff [16'h00_ac] = 8'hC2;
+ buff [16'h00_ad] = 8'hE7;
+ buff [16'h00_ae] = 8'h8C;
+ buff [16'h00_af] = 8'hF0;
+ buff [16'h00_b0] = 8'hC2;
+ buff [16'h00_b1] = 8'hF7;
+ buff [16'h00_b2] = 8'h95;
+ buff [16'h00_b3] = 8'hF0;
+ buff [16'h00_b4] = 8'h40;
+ buff [16'h00_b5] = 8'h0C;
+ buff [16'h00_b6] = 8'hE8;
+ buff [16'h00_b7] = 8'hCC;
+ buff [16'h00_b8] = 8'hF8;
+ buff [16'h00_b9] = 8'hE9;
+ buff [16'h00_ba] = 8'hCD;
+ buff [16'h00_bb] = 8'hF9;
+ buff [16'h00_bc] = 8'hEA;
+ buff [16'h00_bd] = 8'hCE;
+ buff [16'h00_be] = 8'hFA;
+ buff [16'h00_bf] = 8'hEB;
+ buff [16'h00_c0] = 8'hCF;
+ buff [16'h00_c1] = 8'hFB;
+ buff [16'h00_c2] = 8'h12;
+ buff [16'h00_c3] = 8'h02;
+ buff [16'h00_c4] = 8'hB7;
+ buff [16'h00_c5] = 8'h85;
+ buff [16'h00_c6] = 8'hD0;
+ buff [16'h00_c7] = 8'hF0;
+ buff [16'h00_c8] = 8'h58;
+ buff [16'h00_c9] = 8'h04;
+ buff [16'h00_ca] = 8'h70;
+ buff [16'h00_cb] = 8'h03;
+ buff [16'h00_cc] = 8'h20;
+ buff [16'h00_cd] = 8'hD5;
+ buff [16'h00_ce] = 8'hB3;
+ buff [16'h00_cf] = 8'hE8;
+ buff [16'h00_d0] = 8'h04;
+ buff [16'h00_d1] = 8'h70;
+ buff [16'h00_d2] = 8'h07;
+ buff [16'h00_d3] = 8'h50;
+ buff [16'h00_d4] = 8'h02;
+ buff [16'h00_d5] = 8'hB2;
+ buff [16'h00_d6] = 8'hD5;
+ buff [16'h00_d7] = 8'h02;
+ buff [16'h00_d8] = 8'h02;
+ buff [16'h00_d9] = 8'hF6;
+ buff [16'h00_da] = 8'h92;
+ buff [16'h00_db] = 8'hD5;
+ buff [16'h00_dc] = 8'hEC;
+ buff [16'h00_dd] = 8'h04;
+ buff [16'h00_de] = 8'h60;
+ buff [16'h00_df] = 8'hF7;
+ buff [16'h00_e0] = 8'hE4;
+ buff [16'h00_e1] = 8'hCC;
+ buff [16'h00_e2] = 8'hC0;
+ buff [16'h00_e3] = 8'hE0;
+ buff [16'h00_e4] = 8'hC3;
+ buff [16'h00_e5] = 8'h98;
+ buff [16'h00_e6] = 8'hF8;
+ buff [16'h00_e7] = 8'h60;
+ buff [16'h00_e8] = 8'h3B;
+ buff [16'h00_e9] = 8'h94;
+ buff [16'h00_ea] = 8'h18;
+ buff [16'h00_eb] = 8'h60;
+ buff [16'h00_ec] = 8'h08;
+ buff [16'h00_ed] = 8'h40;
+ buff [16'h00_ee] = 8'h0D;
+ buff [16'h00_ef] = 8'hD0;
+ buff [16'h00_f0] = 8'hE0;
+ buff [16'h00_f1] = 8'hFB;
+ buff [16'h00_f2] = 8'h02;
+ buff [16'h00_f3] = 8'h02;
+ buff [16'h00_f4] = 8'hCE;
+ buff [16'h00_f5] = 8'hE4;
+ buff [16'h00_f6] = 8'hFB;
+ buff [16'h00_f7] = 8'hFA;
+ buff [16'h00_f8] = 8'hC9;
+ buff [16'h00_f9] = 8'hFC;
+ buff [16'h00_fa] = 8'h80;
+ buff [16'h00_fb] = 8'h28;
+ buff [16'h00_fc] = 8'hE8;
+ buff [16'h00_fd] = 8'h30;
+ buff [16'h00_fe] = 8'hE4;
+ buff [16'h00_ff] = 8'h06;
+ buff [16'h01_00] = 8'hE4;
+ buff [16'h01_01] = 8'hC9;
+ buff [16'h01_02] = 8'hFB;
+ buff [16'h01_03] = 8'hE4;
+ buff [16'h01_04] = 8'hCA;
+ buff [16'h01_05] = 8'hFC;
+ buff [16'h01_06] = 8'hE8;
+ buff [16'h01_07] = 8'h30;
+ buff [16'h01_08] = 8'hE3;
+ buff [16'h01_09] = 8'h05;
+ buff [16'h01_0a] = 8'hE4;
+ buff [16'h01_0b] = 8'hC9;
+ buff [16'h01_0c] = 8'hCA;
+ buff [16'h01_0d] = 8'hCB;
+ buff [16'h01_0e] = 8'hFC;
+ buff [16'h01_0f] = 8'hE8;
+ buff [16'h01_10] = 8'h54;
+ buff [16'h01_11] = 8'h07;
+ buff [16'h01_12] = 8'h60;
+ buff [16'h01_13] = 8'h10;
+ buff [16'h01_14] = 8'hF8;
+ buff [16'h01_15] = 8'hC3;
+ buff [16'h01_16] = 8'hE9;
+ buff [16'h01_17] = 8'h13;
+ buff [16'h01_18] = 8'hF9;
+ buff [16'h01_19] = 8'hEA;
+ buff [16'h01_1a] = 8'h13;
+ buff [16'h01_1b] = 8'hFA;
+ buff [16'h01_1c] = 8'hEB;
+ buff [16'h01_1d] = 8'h13;
+ buff [16'h01_1e] = 8'hFB;
+ buff [16'h01_1f] = 8'hEC;
+ buff [16'h01_20] = 8'h13;
+ buff [16'h01_21] = 8'hFC;
+ buff [16'h01_22] = 8'hD8;
+ buff [16'h01_23] = 8'hF1;
+ buff [16'h01_24] = 8'h30;
+ buff [16'h01_25] = 8'hF5;
+ buff [16'h01_26] = 8'h2F;
+ buff [16'h01_27] = 8'hC3;
+ buff [16'h01_28] = 8'hE4;
+ buff [16'h01_29] = 8'h9C;
+ buff [16'h01_2a] = 8'hFC;
+ buff [16'h01_2b] = 8'hEF;
+ buff [16'h01_2c] = 8'h9B;
+ buff [16'h01_2d] = 8'hFF;
+ buff [16'h01_2e] = 8'hEE;
+ buff [16'h01_2f] = 8'h9A;
+ buff [16'h01_30] = 8'hFE;
+ buff [16'h01_31] = 8'hED;
+ buff [16'h01_32] = 8'h99;
+ buff [16'h01_33] = 8'hFD;
+ buff [16'h01_34] = 8'hD0;
+ buff [16'h01_35] = 8'hE0;
+ buff [16'h01_36] = 8'hFB;
+ buff [16'h01_37] = 8'hEF;
+ buff [16'h01_38] = 8'h4E;
+ buff [16'h01_39] = 8'h4D;
+ buff [16'h01_3a] = 8'h4C;
+ buff [16'h01_3b] = 8'h70;
+ buff [16'h01_3c] = 8'h12;
+ buff [16'h01_3d] = 8'h22;
+ buff [16'h01_3e] = 8'hDB;
+ buff [16'h01_3f] = 8'h03;
+ buff [16'h01_40] = 8'h02;
+ buff [16'h01_41] = 8'h02;
+ buff [16'h01_42] = 8'hF3;
+ buff [16'h01_43] = 8'hEC;
+ buff [16'h01_44] = 8'h2C;
+ buff [16'h01_45] = 8'hFC;
+ buff [16'h01_46] = 8'hEF;
+ buff [16'h01_47] = 8'h33;
+ buff [16'h01_48] = 8'hFF;
+ buff [16'h01_49] = 8'hEE;
+ buff [16'h01_4a] = 8'h33;
+ buff [16'h01_4b] = 8'hFE;
+ buff [16'h01_4c] = 8'hED;
+ buff [16'h01_4d] = 8'h33;
+ buff [16'h01_4e] = 8'hFD;
+ buff [16'h01_4f] = 8'hED;
+ buff [16'h01_50] = 8'h30;
+ buff [16'h01_51] = 8'hE7;
+ buff [16'h01_52] = 8'hEB;
+ buff [16'h01_53] = 8'h02;
+ buff [16'h01_54] = 8'h02;
+ buff [16'h01_55] = 8'hCE;
+ buff [16'h01_56] = 8'hEF;
+ buff [16'h01_57] = 8'h2B;
+ buff [16'h01_58] = 8'hFF;
+ buff [16'h01_59] = 8'hEE;
+ buff [16'h01_5a] = 8'h3A;
+ buff [16'h01_5b] = 8'hFE;
+ buff [16'h01_5c] = 8'hED;
+ buff [16'h01_5d] = 8'h39;
+ buff [16'h01_5e] = 8'hFD;
+ buff [16'h01_5f] = 8'hD0;
+ buff [16'h01_60] = 8'hE0;
+ buff [16'h01_61] = 8'hFB;
+ buff [16'h01_62] = 8'h50;
+ buff [16'h01_63] = 8'h13;
+ buff [16'h01_64] = 8'h0B;
+ buff [16'h01_65] = 8'hBB;
+ buff [16'h01_66] = 8'h00;
+ buff [16'h01_67] = 8'h03;
+ buff [16'h01_68] = 8'h02;
+ buff [16'h01_69] = 8'h02;
+ buff [16'h01_6a] = 8'hF6;
+ buff [16'h01_6b] = 8'hED;
+ buff [16'h01_6c] = 8'h13;
+ buff [16'h01_6d] = 8'hFD;
+ buff [16'h01_6e] = 8'hEE;
+ buff [16'h01_6f] = 8'h13;
+ buff [16'h01_70] = 8'hFE;
+ buff [16'h01_71] = 8'hEF;
+ buff [16'h01_72] = 8'h13;
+ buff [16'h01_73] = 8'hFF;
+ buff [16'h01_74] = 8'hEC;
+ buff [16'h01_75] = 8'h13;
+ buff [16'h01_76] = 8'hFC;
+ buff [16'h01_77] = 8'h02;
+ buff [16'h01_78] = 8'h02;
+ buff [16'h01_79] = 8'hCE;
+ buff [16'h01_7a] = 8'hEC;
+ buff [16'h01_7b] = 8'h4D;
+ buff [16'h01_7c] = 8'h60;
+ buff [16'h01_7d] = 8'h11;
+ buff [16'h01_7e] = 8'hE8;
+ buff [16'h01_7f] = 8'h49;
+ buff [16'h01_80] = 8'h70;
+ buff [16'h01_81] = 8'h17;
+ buff [16'h01_82] = 8'hED;
+ buff [16'h01_83] = 8'h33;
+ buff [16'h01_84] = 8'hEC;
+ buff [16'h01_85] = 8'h33;
+ buff [16'h01_86] = 8'h04;
+ buff [16'h01_87] = 8'h60;
+ buff [16'h01_88] = 8'h0D;
+ buff [16'h01_89] = 8'hE4;
+ buff [16'h01_8a] = 8'hFC;
+ buff [16'h01_8b] = 8'hFF;
+ buff [16'h01_8c] = 8'hFE;
+ buff [16'h01_8d] = 8'hFD;
+ buff [16'h01_8e] = 8'h22;
+ buff [16'h01_8f] = 8'hE9;
+ buff [16'h01_90] = 8'h33;
+ buff [16'h01_91] = 8'hE8;
+ buff [16'h01_92] = 8'h33;
+ buff [16'h01_93] = 8'h04;
+ buff [16'h01_94] = 8'h70;
+ buff [16'h01_95] = 8'hF8;
+ buff [16'h01_96] = 8'h02;
+ buff [16'h01_97] = 8'h02;
+ buff [16'h01_98] = 8'hEC;
+ buff [16'h01_99] = 8'h12;
+ buff [16'h01_9a] = 8'h02;
+ buff [16'h01_9b] = 8'hB7;
+ buff [16'h01_9c] = 8'h58;
+ buff [16'h01_9d] = 8'h04;
+ buff [16'h01_9e] = 8'h60;
+ buff [16'h01_9f] = 8'h09;
+ buff [16'h01_a0] = 8'hE4;
+ buff [16'h01_a1] = 8'hCC;
+ buff [16'h01_a2] = 8'h24;
+ buff [16'h01_a3] = 8'h81;
+ buff [16'h01_a4] = 8'h50;
+ buff [16'h01_a5] = 8'h06;
+ buff [16'h01_a6] = 8'h28;
+ buff [16'h01_a7] = 8'h50;
+ buff [16'h01_a8] = 8'h09;
+ buff [16'h01_a9] = 8'h02;
+ buff [16'h01_aa] = 8'h02;
+ buff [16'h01_ab] = 8'hF6;
+ buff [16'h01_ac] = 8'h28;
+ buff [16'h01_ad] = 8'h40;
+ buff [16'h01_ae] = 8'h03;
+ buff [16'h01_af] = 8'h02;
+ buff [16'h01_b0] = 8'h02;
+ buff [16'h01_b1] = 8'hF3;
+ buff [16'h01_b2] = 8'hC0;
+ buff [16'h01_b3] = 8'hE0;
+ buff [16'h01_b4] = 8'hEB;
+ buff [16'h01_b5] = 8'h4A;
+ buff [16'h01_b6] = 8'h70;
+ buff [16'h01_b7] = 8'h44;
+ buff [16'h01_b8] = 8'hB9;
+ buff [16'h01_b9] = 8'h80;
+ buff [16'h01_ba] = 8'h06;
+ buff [16'h01_bb] = 8'hD0;
+ buff [16'h01_bc] = 8'hE0;
+ buff [16'h01_bd] = 8'hFB;
+ buff [16'h01_be] = 8'h02;
+ buff [16'h01_bf] = 8'h02;
+ buff [16'h01_c0] = 8'hE2;
+ buff [16'h01_c1] = 8'hEF;
+ buff [16'h01_c2] = 8'h4E;
+ buff [16'h01_c3] = 8'h70;
+ buff [16'h01_c4] = 8'h1C;
+ buff [16'h01_c5] = 8'hBD;
+ buff [16'h01_c6] = 8'h80;
+ buff [16'h01_c7] = 8'h08;
+ buff [16'h01_c8] = 8'hEB;
+ buff [16'h01_c9] = 8'hFF;
+ buff [16'h01_ca] = 8'hEA;
+ buff [16'h01_cb] = 8'hFE;
+ buff [16'h01_cc] = 8'hE9;
+ buff [16'h01_cd] = 8'hFD;
+ buff [16'h01_ce] = 8'h80;
+ buff [16'h01_cf] = 8'hEB;
+ buff [16'h01_d0] = 8'hE9;
+ buff [16'h01_d1] = 8'h8D;
+ buff [16'h01_d2] = 8'hF0;
+ buff [16'h01_d3] = 8'hA4;
+ buff [16'h01_d4] = 8'hFE;
+ buff [16'h01_d5] = 8'hE5;
+ buff [16'h01_d6] = 8'hF0;
+ buff [16'h01_d7] = 8'h02;
+ buff [16'h01_d8] = 8'h02;
+ buff [16'h01_d9] = 8'h63;
+ buff [16'h01_da] = 8'hE9;
+ buff [16'h01_db] = 8'hCD;
+ buff [16'h01_dc] = 8'hF9;
+ buff [16'h01_dd] = 8'hEA;
+ buff [16'h01_de] = 8'hFE;
+ buff [16'h01_df] = 8'hEB;
+ buff [16'h01_e0] = 8'hFF;
+ buff [16'h01_e1] = 8'hEF;
+ buff [16'h01_e2] = 8'h89;
+ buff [16'h01_e3] = 8'hF0;
+ buff [16'h01_e4] = 8'hA4;
+ buff [16'h01_e5] = 8'hFC;
+ buff [16'h01_e6] = 8'hE5;
+ buff [16'h01_e7] = 8'hF0;
+ buff [16'h01_e8] = 8'hCE;
+ buff [16'h01_e9] = 8'h89;
+ buff [16'h01_ea] = 8'hF0;
+ buff [16'h01_eb] = 8'hA4;
+ buff [16'h01_ec] = 8'h2E;
+ buff [16'h01_ed] = 8'hFF;
+ buff [16'h01_ee] = 8'hE4;
+ buff [16'h01_ef] = 8'h35;
+ buff [16'h01_f0] = 8'hF0;
+ buff [16'h01_f1] = 8'hCD;
+ buff [16'h01_f2] = 8'h89;
+ buff [16'h01_f3] = 8'hF0;
+ buff [16'h01_f4] = 8'hA4;
+ buff [16'h01_f5] = 8'h2D;
+ buff [16'h01_f6] = 8'hFE;
+ buff [16'h01_f7] = 8'hE4;
+ buff [16'h01_f8] = 8'h35;
+ buff [16'h01_f9] = 8'hF0;
+ buff [16'h01_fa] = 8'h80;
+ buff [16'h01_fb] = 8'h67;
+ buff [16'h01_fc] = 8'hEF;
+ buff [16'h01_fd] = 8'h4E;
+ buff [16'h01_fe] = 8'h70;
+ buff [16'h01_ff] = 8'h05;
+ buff [16'h02_00] = 8'hBD;
+ buff [16'h02_01] = 8'h80;
+ buff [16'h02_02] = 8'hD7;
+ buff [16'h02_03] = 8'h80;
+ buff [16'h02_04] = 8'hC3;
+ buff [16'h02_05] = 8'hEF;
+ buff [16'h02_06] = 8'h8B;
+ buff [16'h02_07] = 8'hF0;
+ buff [16'h02_08] = 8'hA4;
+ buff [16'h02_09] = 8'hAC;
+ buff [16'h02_0a] = 8'hF0;
+ buff [16'h02_0b] = 8'hEE;
+ buff [16'h02_0c] = 8'h8B;
+ buff [16'h02_0d] = 8'hF0;
+ buff [16'h02_0e] = 8'hA4;
+ buff [16'h02_0f] = 8'h2C;
+ buff [16'h02_10] = 8'hFC;
+ buff [16'h02_11] = 8'hE4;
+ buff [16'h02_12] = 8'h35;
+ buff [16'h02_13] = 8'hF0;
+ buff [16'h02_14] = 8'hF8;
+ buff [16'h02_15] = 8'hEF;
+ buff [16'h02_16] = 8'h8A;
+ buff [16'h02_17] = 8'hF0;
+ buff [16'h02_18] = 8'hA4;
+ buff [16'h02_19] = 8'h2C;
+ buff [16'h02_1a] = 8'hE5;
+ buff [16'h02_1b] = 8'hF0;
+ buff [16'h02_1c] = 8'h38;
+ buff [16'h02_1d] = 8'hFC;
+ buff [16'h02_1e] = 8'hE4;
+ buff [16'h02_1f] = 8'h33;
+ buff [16'h02_20] = 8'hCB;
+ buff [16'h02_21] = 8'h8D;
+ buff [16'h02_22] = 8'hF0;
+ buff [16'h02_23] = 8'hA4;
+ buff [16'h02_24] = 8'h2C;
+ buff [16'h02_25] = 8'hFC;
+ buff [16'h02_26] = 8'hE5;
+ buff [16'h02_27] = 8'hF0;
+ buff [16'h02_28] = 8'h3B;
+ buff [16'h02_29] = 8'hF8;
+ buff [16'h02_2a] = 8'hEE;
+ buff [16'h02_2b] = 8'h8A;
+ buff [16'h02_2c] = 8'hF0;
+ buff [16'h02_2d] = 8'hA4;
+ buff [16'h02_2e] = 8'h2C;
+ buff [16'h02_2f] = 8'hFC;
+ buff [16'h02_30] = 8'hE5;
+ buff [16'h02_31] = 8'hF0;
+ buff [16'h02_32] = 8'h38;
+ buff [16'h02_33] = 8'hF8;
+ buff [16'h02_34] = 8'hE4;
+ buff [16'h02_35] = 8'h33;
+ buff [16'h02_36] = 8'hCF;
+ buff [16'h02_37] = 8'h89;
+ buff [16'h02_38] = 8'hF0;
+ buff [16'h02_39] = 8'hA4;
+ buff [16'h02_3a] = 8'h2C;
+ buff [16'h02_3b] = 8'hFC;
+ buff [16'h02_3c] = 8'hE5;
+ buff [16'h02_3d] = 8'hF0;
+ buff [16'h02_3e] = 8'h38;
+ buff [16'h02_3f] = 8'hCF;
+ buff [16'h02_40] = 8'h34;
+ buff [16'h02_41] = 8'h00;
+ buff [16'h02_42] = 8'hCE;
+ buff [16'h02_43] = 8'h89;
+ buff [16'h02_44] = 8'hF0;
+ buff [16'h02_45] = 8'hA4;
+ buff [16'h02_46] = 8'h2F;
+ buff [16'h02_47] = 8'hFF;
+ buff [16'h02_48] = 8'hE5;
+ buff [16'h02_49] = 8'hF0;
+ buff [16'h02_4a] = 8'h3E;
+ buff [16'h02_4b] = 8'hFE;
+ buff [16'h02_4c] = 8'hE4;
+ buff [16'h02_4d] = 8'h33;
+ buff [16'h02_4e] = 8'hC9;
+ buff [16'h02_4f] = 8'h8D;
+ buff [16'h02_50] = 8'hF0;
+ buff [16'h02_51] = 8'hA4;
+ buff [16'h02_52] = 8'h2E;
+ buff [16'h02_53] = 8'hFE;
+ buff [16'h02_54] = 8'hE5;
+ buff [16'h02_55] = 8'hF0;
+ buff [16'h02_56] = 8'h39;
+ buff [16'h02_57] = 8'hCD;
+ buff [16'h02_58] = 8'h8A;
+ buff [16'h02_59] = 8'hF0;
+ buff [16'h02_5a] = 8'hA4;
+ buff [16'h02_5b] = 8'h2F;
+ buff [16'h02_5c] = 8'hFF;
+ buff [16'h02_5d] = 8'hE5;
+ buff [16'h02_5e] = 8'hF0;
+ buff [16'h02_5f] = 8'h3E;
+ buff [16'h02_60] = 8'hFE;
+ buff [16'h02_61] = 8'hE4;
+ buff [16'h02_62] = 8'h3D;
+ buff [16'h02_63] = 8'hFD;
+ buff [16'h02_64] = 8'h33;
+ buff [16'h02_65] = 8'hD0;
+ buff [16'h02_66] = 8'hE0;
+ buff [16'h02_67] = 8'hFB;
+ buff [16'h02_68] = 8'h50;
+ buff [16'h02_69] = 8'h07;
+ buff [16'h02_6a] = 8'h0B;
+ buff [16'h02_6b] = 8'hBB;
+ buff [16'h02_6c] = 8'h00;
+ buff [16'h02_6d] = 8'h0F;
+ buff [16'h02_6e] = 8'h02;
+ buff [16'h02_6f] = 8'h02;
+ buff [16'h02_70] = 8'hF6;
+ buff [16'h02_71] = 8'hEC;
+ buff [16'h02_72] = 8'h2C;
+ buff [16'h02_73] = 8'hFC;
+ buff [16'h02_74] = 8'hEF;
+ buff [16'h02_75] = 8'h33;
+ buff [16'h02_76] = 8'hFF;
+ buff [16'h02_77] = 8'hEE;
+ buff [16'h02_78] = 8'h33;
+ buff [16'h02_79] = 8'hFE;
+ buff [16'h02_7a] = 8'hED;
+ buff [16'h02_7b] = 8'h33;
+ buff [16'h02_7c] = 8'hFD;
+ buff [16'h02_7d] = 8'h02;
+ buff [16'h02_7e] = 8'h02;
+ buff [16'h02_7f] = 8'hCE;
+ buff [16'h02_80] = 8'hED;
+ buff [16'h02_81] = 8'hD2;
+ buff [16'h02_82] = 8'hE7;
+ buff [16'h02_83] = 8'hCD;
+ buff [16'h02_84] = 8'h33;
+ buff [16'h02_85] = 8'hEC;
+ buff [16'h02_86] = 8'h33;
+ buff [16'h02_87] = 8'h92;
+ buff [16'h02_88] = 8'hD5;
+ buff [16'h02_89] = 8'h24;
+ buff [16'h02_8a] = 8'h81;
+ buff [16'h02_8b] = 8'h40;
+ buff [16'h02_8c] = 8'h06;
+ buff [16'h02_8d] = 8'hE4;
+ buff [16'h02_8e] = 8'hFF;
+ buff [16'h02_8f] = 8'hFE;
+ buff [16'h02_90] = 8'hFD;
+ buff [16'h02_91] = 8'hFC;
+ buff [16'h02_92] = 8'h22;
+ buff [16'h02_93] = 8'hFC;
+ buff [16'h02_94] = 8'hE4;
+ buff [16'h02_95] = 8'hCF;
+ buff [16'h02_96] = 8'hCE;
+ buff [16'h02_97] = 8'hCD;
+ buff [16'h02_98] = 8'hCC;
+ buff [16'h02_99] = 8'h24;
+ buff [16'h02_9a] = 8'hE0;
+ buff [16'h02_9b] = 8'h50;
+ buff [16'h02_9c] = 8'h11;
+ buff [16'h02_9d] = 8'h74;
+ buff [16'h02_9e] = 8'hFF;
+ buff [16'h02_9f] = 8'h80;
+ buff [16'h02_a0] = 8'hED;
+ buff [16'h02_a1] = 8'hC3;
+ buff [16'h02_a2] = 8'hCC;
+ buff [16'h02_a3] = 8'h13;
+ buff [16'h02_a4] = 8'hCC;
+ buff [16'h02_a5] = 8'hCD;
+ buff [16'h02_a6] = 8'h13;
+ buff [16'h02_a7] = 8'hCD;
+ buff [16'h02_a8] = 8'hCE;
+ buff [16'h02_a9] = 8'h13;
+ buff [16'h02_aa] = 8'hCE;
+ buff [16'h02_ab] = 8'hCF;
+ buff [16'h02_ac] = 8'h13;
+ buff [16'h02_ad] = 8'hCF;
+ buff [16'h02_ae] = 8'h04;
+ buff [16'h02_af] = 8'h70;
+ buff [16'h02_b0] = 8'hF0;
+ buff [16'h02_b1] = 8'h30;
+ buff [16'h02_b2] = 8'hD5;
+ buff [16'h02_b3] = 8'hDE;
+ buff [16'h02_b4] = 8'h02;
+ buff [16'h02_b5] = 8'h03;
+ buff [16'h02_b6] = 8'h9C;
+ buff [16'h02_b7] = 8'hE9;
+ buff [16'h02_b8] = 8'hD2;
+ buff [16'h02_b9] = 8'hE7;
+ buff [16'h02_ba] = 8'hC9;
+ buff [16'h02_bb] = 8'h33;
+ buff [16'h02_bc] = 8'hE8;
+ buff [16'h02_bd] = 8'h33;
+ buff [16'h02_be] = 8'hF8;
+ buff [16'h02_bf] = 8'h92;
+ buff [16'h02_c0] = 8'hD5;
+ buff [16'h02_c1] = 8'hED;
+ buff [16'h02_c2] = 8'hD2;
+ buff [16'h02_c3] = 8'hE7;
+ buff [16'h02_c4] = 8'hCD;
+ buff [16'h02_c5] = 8'h33;
+ buff [16'h02_c6] = 8'hEC;
+ buff [16'h02_c7] = 8'h33;
+ buff [16'h02_c8] = 8'hFC;
+ buff [16'h02_c9] = 8'h50;
+ buff [16'h02_ca] = 8'h02;
+ buff [16'h02_cb] = 8'hB2;
+ buff [16'h02_cc] = 8'hD5;
+ buff [16'h02_cd] = 8'h22;
+ buff [16'h02_ce] = 8'hEC;
+ buff [16'h02_cf] = 8'h30;
+ buff [16'h02_d0] = 8'hE7;
+ buff [16'h02_d1] = 8'h10;
+ buff [16'h02_d2] = 8'h0F;
+ buff [16'h02_d3] = 8'hBF;
+ buff [16'h02_d4] = 8'h00;
+ buff [16'h02_d5] = 8'h0C;
+ buff [16'h02_d6] = 8'h0E;
+ buff [16'h02_d7] = 8'hBE;
+ buff [16'h02_d8] = 8'h00;
+ buff [16'h02_d9] = 8'h08;
+ buff [16'h02_da] = 8'h0D;
+ buff [16'h02_db] = 8'hBD;
+ buff [16'h02_dc] = 8'h00;
+ buff [16'h02_dd] = 8'h04;
+ buff [16'h02_de] = 8'h0B;
+ buff [16'h02_df] = 8'hEB;
+ buff [16'h02_e0] = 8'h60;
+ buff [16'h02_e1] = 8'h14;
+ buff [16'h02_e2] = 8'hA2;
+ buff [16'h02_e3] = 8'hD5;
+ buff [16'h02_e4] = 8'hEB;
+ buff [16'h02_e5] = 8'h13;
+ buff [16'h02_e6] = 8'hFC;
+ buff [16'h02_e7] = 8'hED;
+ buff [16'h02_e8] = 8'h92;
+ buff [16'h02_e9] = 8'hE7;
+ buff [16'h02_ea] = 8'hFD;
+ buff [16'h02_eb] = 8'h22;
+ buff [16'h02_ec] = 8'h74;
+ buff [16'h02_ed] = 8'hFF;
+ buff [16'h02_ee] = 8'hFC;
+ buff [16'h02_ef] = 8'hFD;
+ buff [16'h02_f0] = 8'hFE;
+ buff [16'h02_f1] = 8'hFF;
+ buff [16'h02_f2] = 8'h22;
+ buff [16'h02_f3] = 8'hE4;
+ buff [16'h02_f4] = 8'h80;
+ buff [16'h02_f5] = 8'hF8;
+ buff [16'h02_f6] = 8'hA2;
+ buff [16'h02_f7] = 8'hD5;
+ buff [16'h02_f8] = 8'h74;
+ buff [16'h02_f9] = 8'hFF;
+ buff [16'h02_fa] = 8'h13;
+ buff [16'h02_fb] = 8'hFC;
+ buff [16'h02_fc] = 8'h7D;
+ buff [16'h02_fd] = 8'h80;
+ buff [16'h02_fe] = 8'h80;
+ buff [16'h02_ff] = 8'hF0;
+ buff [16'h03_00] = 8'h02;
+ buff [16'h03_01] = 8'h02;
+ buff [16'h03_02] = 8'hF6;
+ buff [16'h03_03] = 8'hEC;
+ buff [16'h03_04] = 8'h5D;
+ buff [16'h03_05] = 8'h04;
+ buff [16'h03_06] = 8'h60;
+ buff [16'h03_07] = 8'h05;
+ buff [16'h03_08] = 8'hE8;
+ buff [16'h03_09] = 8'h59;
+ buff [16'h03_0a] = 8'h04;
+ buff [16'h03_0b] = 8'h70;
+ buff [16'h03_0c] = 8'h03;
+ buff [16'h03_0d] = 8'h02;
+ buff [16'h03_0e] = 8'h02;
+ buff [16'h03_0f] = 8'hEC;
+ buff [16'h03_10] = 8'h12;
+ buff [16'h03_11] = 8'h02;
+ buff [16'h03_12] = 8'hB7;
+ buff [16'h03_13] = 8'h58;
+ buff [16'h03_14] = 8'h04;
+ buff [16'h03_15] = 8'h60;
+ buff [16'h03_16] = 8'hF6;
+ buff [16'h03_17] = 8'hEC;
+ buff [16'h03_18] = 8'h48;
+ buff [16'h03_19] = 8'h60;
+ buff [16'h03_1a] = 8'hF2;
+ buff [16'h03_1b] = 8'hEC;
+ buff [16'h03_1c] = 8'h70;
+ buff [16'h03_1d] = 8'h04;
+ buff [16'h03_1e] = 8'hFD;
+ buff [16'h03_1f] = 8'hFE;
+ buff [16'h03_20] = 8'hFF;
+ buff [16'h03_21] = 8'h22;
+ buff [16'h03_22] = 8'hC8;
+ buff [16'h03_23] = 8'h24;
+ buff [16'h03_24] = 8'h81;
+ buff [16'h03_25] = 8'hC8;
+ buff [16'h03_26] = 8'h50;
+ buff [16'h03_27] = 8'h07;
+ buff [16'h03_28] = 8'hC3;
+ buff [16'h03_29] = 8'h98;
+ buff [16'h03_2a] = 8'h50;
+ buff [16'h03_2b] = 8'h06;
+ buff [16'h03_2c] = 8'h02;
+ buff [16'h03_2d] = 8'h02;
+ buff [16'h03_2e] = 8'hF3;
+ buff [16'h03_2f] = 8'h98;
+ buff [16'h03_30] = 8'h50;
+ buff [16'h03_31] = 8'hCE;
+ buff [16'h03_32] = 8'hF5;
+ buff [16'h03_33] = 8'h82;
+ buff [16'h03_34] = 8'hE9;
+ buff [16'h03_35] = 8'h29;
+ buff [16'h03_36] = 8'h4B;
+ buff [16'h03_37] = 8'h4A;
+ buff [16'h03_38] = 8'h70;
+ buff [16'h03_39] = 8'h05;
+ buff [16'h03_3a] = 8'hAB;
+ buff [16'h03_3b] = 8'h82;
+ buff [16'h03_3c] = 8'h02;
+ buff [16'h03_3d] = 8'h02;
+ buff [16'h03_3e] = 8'hE2;
+ buff [16'h03_3f] = 8'h75;
+ buff [16'h03_40] = 8'hF0;
+ buff [16'h03_41] = 8'h00;
+ buff [16'h03_42] = 8'h7C;
+ buff [16'h03_43] = 8'h1A;
+ buff [16'h03_44] = 8'h78;
+ buff [16'h03_45] = 8'h80;
+ buff [16'h03_46] = 8'hC3;
+ buff [16'h03_47] = 8'hEF;
+ buff [16'h03_48] = 8'h9B;
+ buff [16'h03_49] = 8'hEE;
+ buff [16'h03_4a] = 8'h9A;
+ buff [16'h03_4b] = 8'hED;
+ buff [16'h03_4c] = 8'h99;
+ buff [16'h03_4d] = 8'h40;
+ buff [16'h03_4e] = 8'h0D;
+ buff [16'h03_4f] = 8'hC3;
+ buff [16'h03_50] = 8'hEF;
+ buff [16'h03_51] = 8'h9B;
+ buff [16'h03_52] = 8'hFF;
+ buff [16'h03_53] = 8'hEE;
+ buff [16'h03_54] = 8'h9A;
+ buff [16'h03_55] = 8'hFE;
+ buff [16'h03_56] = 8'hED;
+ buff [16'h03_57] = 8'h99;
+ buff [16'h03_58] = 8'hFD;
+ buff [16'h03_59] = 8'hE8;
+ buff [16'h03_5a] = 8'h42;
+ buff [16'h03_5b] = 8'hF0;
+ buff [16'h03_5c] = 8'hDC;
+ buff [16'h03_5d] = 8'h23;
+ buff [16'h03_5e] = 8'hAC;
+ buff [16'h03_5f] = 8'hF0;
+ buff [16'h03_60] = 8'hD0;
+ buff [16'h03_61] = 8'hE0;
+ buff [16'h03_62] = 8'hFF;
+ buff [16'h03_63] = 8'hD0;
+ buff [16'h03_64] = 8'hE0;
+ buff [16'h03_65] = 8'hFE;
+ buff [16'h03_66] = 8'hD0;
+ buff [16'h03_67] = 8'hE0;
+ buff [16'h03_68] = 8'hFD;
+ buff [16'h03_69] = 8'hAB;
+ buff [16'h03_6a] = 8'h82;
+ buff [16'h03_6b] = 8'h20;
+ buff [16'h03_6c] = 8'hE7;
+ buff [16'h03_6d] = 8'h10;
+ buff [16'h03_6e] = 8'h1B;
+ buff [16'h03_6f] = 8'hEB;
+ buff [16'h03_70] = 8'h60;
+ buff [16'h03_71] = 8'hBA;
+ buff [16'h03_72] = 8'hEC;
+ buff [16'h03_73] = 8'h2C;
+ buff [16'h03_74] = 8'hFC;
+ buff [16'h03_75] = 8'hEF;
+ buff [16'h03_76] = 8'h33;
+ buff [16'h03_77] = 8'hFF;
+ buff [16'h03_78] = 8'hEE;
+ buff [16'h03_79] = 8'h33;
+ buff [16'h03_7a] = 8'hFE;
+ buff [16'h03_7b] = 8'hED;
+ buff [16'h03_7c] = 8'h33;
+ buff [16'h03_7d] = 8'hFD;
+ buff [16'h03_7e] = 8'h02;
+ buff [16'h03_7f] = 8'h02;
+ buff [16'h03_80] = 8'hCE;
+ buff [16'h03_81] = 8'hE8;
+ buff [16'h03_82] = 8'h03;
+ buff [16'h03_83] = 8'hF8;
+ buff [16'h03_84] = 8'h30;
+ buff [16'h03_85] = 8'hE7;
+ buff [16'h03_86] = 8'h05;
+ buff [16'h03_87] = 8'hC0;
+ buff [16'h03_88] = 8'hF0;
+ buff [16'h03_89] = 8'h75;
+ buff [16'h03_8a] = 8'hF0;
+ buff [16'h03_8b] = 8'h00;
+ buff [16'h03_8c] = 8'hEF;
+ buff [16'h03_8d] = 8'h2F;
+ buff [16'h03_8e] = 8'hFF;
+ buff [16'h03_8f] = 8'hEE;
+ buff [16'h03_90] = 8'h33;
+ buff [16'h03_91] = 8'hFE;
+ buff [16'h03_92] = 8'hED;
+ buff [16'h03_93] = 8'h33;
+ buff [16'h03_94] = 8'hFD;
+ buff [16'h03_95] = 8'h40;
+ buff [16'h03_96] = 8'hB8;
+ buff [16'h03_97] = 8'h30;
+ buff [16'h03_98] = 8'hE7;
+ buff [16'h03_99] = 8'hC2;
+ buff [16'h03_9a] = 8'h80;
+ buff [16'h03_9b] = 8'hAA;
+ buff [16'h03_9c] = 8'hC3;
+ buff [16'h03_9d] = 8'hE4;
+ buff [16'h03_9e] = 8'h9F;
+ buff [16'h03_9f] = 8'hFF;
+ buff [16'h03_a0] = 8'hE4;
+ buff [16'h03_a1] = 8'h9E;
+ buff [16'h03_a2] = 8'hFE;
+ buff [16'h03_a3] = 8'hE4;
+ buff [16'h03_a4] = 8'h9D;
+ buff [16'h03_a5] = 8'hFD;
+ buff [16'h03_a6] = 8'hE4;
+ buff [16'h03_a7] = 8'h9C;
+ buff [16'h03_a8] = 8'hFC;
+ buff [16'h03_a9] = 8'h22;
+ buff [16'h03_aa] = 8'h02;
+ buff [16'h03_ab] = 8'h02;
+ buff [16'h03_ac] = 8'hEC;
+ buff [16'h03_ad] = 8'h22;
+ buff [16'h03_ae] = 8'hED;
+ buff [16'h03_af] = 8'hA2;
+ buff [16'h03_b0] = 8'hE7;
+ buff [16'h03_b1] = 8'hD2;
+ buff [16'h03_b2] = 8'hE7;
+ buff [16'h03_b3] = 8'hF9;
+ buff [16'h03_b4] = 8'hEC;
+ buff [16'h03_b5] = 8'h33;
+ buff [16'h03_b6] = 8'h40;
+ buff [16'h03_b7] = 8'hF2;
+ buff [16'h03_b8] = 8'h60;
+ buff [16'h03_b9] = 8'hF3;
+ buff [16'h03_ba] = 8'hB4;
+ buff [16'h03_bb] = 8'hFF;
+ buff [16'h03_bc] = 8'h08;
+ buff [16'h03_bd] = 8'hED;
+ buff [16'h03_be] = 8'h54;
+ buff [16'h03_bf] = 8'h7F;
+ buff [16'h03_c0] = 8'h70;
+ buff [16'h03_c1] = 8'hE8;
+ buff [16'h03_c2] = 8'h02;
+ buff [16'h03_c3] = 8'h02;
+ buff [16'h03_c4] = 8'hF6;
+ buff [16'h03_c5] = 8'hF8;
+ buff [16'h03_c6] = 8'h24;
+ buff [16'h03_c7] = 8'h81;
+ buff [16'h03_c8] = 8'hC2;
+ buff [16'h03_c9] = 8'hE0;
+ buff [16'h03_ca] = 8'hC0;
+ buff [16'h03_cb] = 8'hE0;
+ buff [16'h03_cc] = 8'hF4;
+ buff [16'h03_cd] = 8'h04;
+ buff [16'h03_ce] = 8'h28;
+ buff [16'h03_cf] = 8'hFA;
+ buff [16'h03_d0] = 8'hC3;
+ buff [16'h03_d1] = 8'h13;
+ buff [16'h03_d2] = 8'hFC;
+ buff [16'h03_d3] = 8'hED;
+ buff [16'h03_d4] = 8'h92;
+ buff [16'h03_d5] = 8'hE7;
+ buff [16'h03_d6] = 8'hFD;
+ buff [16'h03_d7] = 8'h8C;
+ buff [16'h03_d8] = 8'h18;
+ buff [16'h03_d9] = 8'h8D;
+ buff [16'h03_da] = 8'h19;
+ buff [16'h03_db] = 8'h8E;
+ buff [16'h03_dc] = 8'h1A;
+ buff [16'h03_dd] = 8'h8F;
+ buff [16'h03_de] = 8'h1B;
+ buff [16'h03_df] = 8'hEE;
+ buff [16'h03_e0] = 8'hA2;
+ buff [16'h03_e1] = 8'hE7;
+ buff [16'h03_e2] = 8'hE9;
+ buff [16'h03_e3] = 8'hBA;
+ buff [16'h03_e4] = 8'h7F;
+ buff [16'h03_e5] = 8'h02;
+ buff [16'h03_e6] = 8'hC3;
+ buff [16'h03_e7] = 8'h13;
+ buff [16'h03_e8] = 8'h34;
+ buff [16'h03_e9] = 8'h00;
+ buff [16'h03_ea] = 8'h94;
+ buff [16'h03_eb] = 8'h00;
+ buff [16'h03_ec] = 8'hFA;
+ buff [16'h03_ed] = 8'h75;
+ buff [16'h03_ee] = 8'hF0;
+ buff [16'h03_ef] = 8'h91;
+ buff [16'h03_f0] = 8'hA4;
+ buff [16'h03_f1] = 8'hE5;
+ buff [16'h03_f2] = 8'hF0;
+ buff [16'h03_f3] = 8'h13;
+ buff [16'h03_f4] = 8'hF4;
+ buff [16'h03_f5] = 8'h94;
+ buff [16'h03_f6] = 8'hFE;
+ buff [16'h03_f7] = 8'h8A;
+ buff [16'h03_f8] = 8'hF0;
+ buff [16'h03_f9] = 8'hA4;
+ buff [16'h03_fa] = 8'h33;
+ buff [16'h03_fb] = 8'hE5;
+ buff [16'h03_fc] = 8'hF0;
+ buff [16'h03_fd] = 8'h33;
+ buff [16'h03_fe] = 8'h24;
+ buff [16'h03_ff] = 8'h8C;
+ buff [16'h04_00] = 8'hD3;
+ buff [16'h04_01] = 8'h13;
+ buff [16'h04_02] = 8'hFD;
+ buff [16'h04_03] = 8'hE4;
+ buff [16'h04_04] = 8'h92;
+ buff [16'h04_05] = 8'hE7;
+ buff [16'h04_06] = 8'hFE;
+ buff [16'h04_07] = 8'h7F;
+ buff [16'h04_08] = 8'h00;
+ buff [16'h04_09] = 8'h7C;
+ buff [16'h04_0a] = 8'h3F;
+ buff [16'h04_0b] = 8'h75;
+ buff [16'h04_0c] = 8'h83;
+ buff [16'h04_0d] = 8'h02;
+ buff [16'h04_0e] = 8'hEC;
+ buff [16'h04_0f] = 8'hC0;
+ buff [16'h04_10] = 8'hE0;
+ buff [16'h04_11] = 8'hF8;
+ buff [16'h04_12] = 8'hED;
+ buff [16'h04_13] = 8'hC0;
+ buff [16'h04_14] = 8'hE0;
+ buff [16'h04_15] = 8'hF9;
+ buff [16'h04_16] = 8'hEE;
+ buff [16'h04_17] = 8'hC0;
+ buff [16'h04_18] = 8'hE0;
+ buff [16'h04_19] = 8'hFA;
+ buff [16'h04_1a] = 8'hEF;
+ buff [16'h04_1b] = 8'hC0;
+ buff [16'h04_1c] = 8'hE0;
+ buff [16'h04_1d] = 8'hFB;
+ buff [16'h04_1e] = 8'hAC;
+ buff [16'h04_1f] = 8'h18;
+ buff [16'h04_20] = 8'hAD;
+ buff [16'h04_21] = 8'h19;
+ buff [16'h04_22] = 8'hAE;
+ buff [16'h04_23] = 8'h1A;
+ buff [16'h04_24] = 8'hAF;
+ buff [16'h04_25] = 8'h1B;
+ buff [16'h04_26] = 8'h12;
+ buff [16'h04_27] = 8'h03;
+ buff [16'h04_28] = 8'h03;
+ buff [16'h04_29] = 8'hD0;
+ buff [16'h04_2a] = 8'hE0;
+ buff [16'h04_2b] = 8'hFB;
+ buff [16'h04_2c] = 8'hD0;
+ buff [16'h04_2d] = 8'hE0;
+ buff [16'h04_2e] = 8'hFA;
+ buff [16'h04_2f] = 8'hD0;
+ buff [16'h04_30] = 8'hE0;
+ buff [16'h04_31] = 8'hF9;
+ buff [16'h04_32] = 8'hD0;
+ buff [16'h04_33] = 8'hE0;
+ buff [16'h04_34] = 8'hF8;
+ buff [16'h04_35] = 8'h12;
+ buff [16'h04_36] = 8'h00;
+ buff [16'h04_37] = 8'h89;
+ buff [16'h04_38] = 8'hED;
+ buff [16'h04_39] = 8'h64;
+ buff [16'h04_3a] = 8'h80;
+ buff [16'h04_3b] = 8'hFD;
+ buff [16'h04_3c] = 8'h30;
+ buff [16'h04_3d] = 8'hE7;
+ buff [16'h04_3e] = 8'h01;
+ buff [16'h04_3f] = 8'h1C;
+ buff [16'h04_40] = 8'hD5;
+ buff [16'h04_41] = 8'h83;
+ buff [16'h04_42] = 8'hCB;
+ buff [16'h04_43] = 8'hED;
+ buff [16'h04_44] = 8'h33;
+ buff [16'h04_45] = 8'hCC;
+ buff [16'h04_46] = 8'h33;
+ buff [16'h04_47] = 8'hF8;
+ buff [16'h04_48] = 8'hD0;
+ buff [16'h04_49] = 8'hE0;
+ buff [16'h04_4a] = 8'hA2;
+ buff [16'h04_4b] = 8'hE7;
+ buff [16'h04_4c] = 8'h13;
+ buff [16'h04_4d] = 8'h28;
+ buff [16'h04_4e] = 8'hC3;
+ buff [16'h04_4f] = 8'h13;
+ buff [16'h04_50] = 8'hCC;
+ buff [16'h04_51] = 8'h13;
+ buff [16'h04_52] = 8'hFD;
+ buff [16'h04_53] = 8'h22;
+ buff [16'h04_54] = 8'h78;
+ buff [16'h04_55] = 8'h7F;
+ buff [16'h04_56] = 8'hE4;
+ buff [16'h04_57] = 8'hF6;
+ buff [16'h04_58] = 8'hD8;
+ buff [16'h04_59] = 8'hFD;
+ buff [16'h04_5a] = 8'h75;
+ buff [16'h04_5b] = 8'h81;
+ buff [16'h04_5c] = 8'h1B;
+ buff [16'h04_5d] = 8'h02;
+ buff [16'h04_5e] = 8'h00;
+ buff [16'h04_5f] = 8'h03;
+end
+
+always @(posedge clk)
+begin
+ data1 <= #1 buff [addr];
+ data2 <= #1 buff [addr+1];
+ data3 <= #1 buff [addr+2];
+end
+
+endmodule
v/sqroot.v
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: v/cast.v
===================================================================
--- v/cast.v (nonexistent)
+++ v/cast.v (revision 186)
@@ -0,0 +1,168 @@
+
+///
+/// created by p8051Rom.exe
+/// author: Simon Teran (simont@opencores.org)
+///
+/// source file: D:\verilog\oc8051\test\cast.hex
+/// date: 6.6.02
+/// time: 22:00:40
+///
+
+module oc8051_rom (rst, clk, addr, ea_int, data1, data2, data3);
+
+parameter INT_ROM_WID= 7;
+
+input rst, clk;
+input [15:0] addr;
+output ea_int;
+output [7:0] data1, data2, data3;
+reg [7:0] data1, data2, data3;
+reg [7:0] buff [65535:0];
+integer i;
+
+wire ea;
+
+assign ea = | addr[15:INT_ROM_WID];
+assign ea_int = ! ea;
+
+initial
+begin
+ for (i=0; i<65536; i=i+1)
+ buff [i] = 8'h00;
+#2
+
+ buff [16'h00_00] = 8'h02;
+ buff [16'h00_01] = 8'h00;
+ buff [16'h00_02] = 8'h5E;
+ buff [16'h00_03] = 8'h8F;
+ buff [16'h00_04] = 8'h0F;
+ buff [16'h00_05] = 8'h8E;
+ buff [16'h00_06] = 8'h0E;
+ buff [16'h00_07] = 8'h8D;
+ buff [16'h00_08] = 8'h0D;
+ buff [16'h00_09] = 8'h8C;
+ buff [16'h00_0a] = 8'h0C;
+ buff [16'h00_0b] = 8'h22;
+ buff [16'h00_0c] = 8'h75;
+ buff [16'h00_0d] = 8'h0B;
+ buff [16'h00_0e] = 8'h67;
+ buff [16'h00_0f] = 8'h75;
+ buff [16'h00_10] = 8'h0A;
+ buff [16'h00_11] = 8'h45;
+ buff [16'h00_12] = 8'h75;
+ buff [16'h00_13] = 8'h09;
+ buff [16'h00_14] = 8'h23;
+ buff [16'h00_15] = 8'h75;
+ buff [16'h00_16] = 8'h08;
+ buff [16'h00_17] = 8'h01;
+ buff [16'h00_18] = 8'hAF;
+ buff [16'h00_19] = 8'h0B;
+ buff [16'h00_1a] = 8'hAE;
+ buff [16'h00_1b] = 8'h0A;
+ buff [16'h00_1c] = 8'hAD;
+ buff [16'h00_1d] = 8'h09;
+ buff [16'h00_1e] = 8'hAC;
+ buff [16'h00_1f] = 8'h08;
+ buff [16'h00_20] = 8'h78;
+ buff [16'h00_21] = 8'h18;
+ buff [16'h00_22] = 8'h12;
+ buff [16'h00_23] = 8'h00;
+ buff [16'h00_24] = 8'h6A;
+ buff [16'h00_25] = 8'h12;
+ buff [16'h00_26] = 8'h00;
+ buff [16'h00_27] = 8'h03;
+ buff [16'h00_28] = 8'h8F;
+ buff [16'h00_29] = 8'h80;
+ buff [16'h00_2a] = 8'hAF;
+ buff [16'h00_2b] = 8'h0B;
+ buff [16'h00_2c] = 8'hAE;
+ buff [16'h00_2d] = 8'h0A;
+ buff [16'h00_2e] = 8'hAD;
+ buff [16'h00_2f] = 8'h09;
+ buff [16'h00_30] = 8'hAC;
+ buff [16'h00_31] = 8'h08;
+ buff [16'h00_32] = 8'h78;
+ buff [16'h00_33] = 8'h10;
+ buff [16'h00_34] = 8'h12;
+ buff [16'h00_35] = 8'h00;
+ buff [16'h00_36] = 8'h6A;
+ buff [16'h00_37] = 8'h12;
+ buff [16'h00_38] = 8'h00;
+ buff [16'h00_39] = 8'h03;
+ buff [16'h00_3a] = 8'h8F;
+ buff [16'h00_3b] = 8'h90;
+ buff [16'h00_3c] = 8'hAF;
+ buff [16'h00_3d] = 8'h0B;
+ buff [16'h00_3e] = 8'hAE;
+ buff [16'h00_3f] = 8'h0A;
+ buff [16'h00_40] = 8'hAD;
+ buff [16'h00_41] = 8'h09;
+ buff [16'h00_42] = 8'hAC;
+ buff [16'h00_43] = 8'h08;
+ buff [16'h00_44] = 8'h78;
+ buff [16'h00_45] = 8'h08;
+ buff [16'h00_46] = 8'h12;
+ buff [16'h00_47] = 8'h00;
+ buff [16'h00_48] = 8'h6A;
+ buff [16'h00_49] = 8'h12;
+ buff [16'h00_4a] = 8'h00;
+ buff [16'h00_4b] = 8'h03;
+ buff [16'h00_4c] = 8'h8F;
+ buff [16'h00_4d] = 8'hA0;
+ buff [16'h00_4e] = 8'hAF;
+ buff [16'h00_4f] = 8'h0B;
+ buff [16'h00_50] = 8'hAE;
+ buff [16'h00_51] = 8'h0A;
+ buff [16'h00_52] = 8'hAD;
+ buff [16'h00_53] = 8'h09;
+ buff [16'h00_54] = 8'hAC;
+ buff [16'h00_55] = 8'h08;
+ buff [16'h00_56] = 8'h12;
+ buff [16'h00_57] = 8'h00;
+ buff [16'h00_58] = 8'h03;
+ buff [16'h00_59] = 8'h8F;
+ buff [16'h00_5a] = 8'h80;
+ buff [16'h00_5b] = 8'h80;
+ buff [16'h00_5c] = 8'hFE;
+ buff [16'h00_5d] = 8'h22;
+ buff [16'h00_5e] = 8'h78;
+ buff [16'h00_5f] = 8'h7F;
+ buff [16'h00_60] = 8'hE4;
+ buff [16'h00_61] = 8'hF6;
+ buff [16'h00_62] = 8'hD8;
+ buff [16'h00_63] = 8'hFD;
+ buff [16'h00_64] = 8'h75;
+ buff [16'h00_65] = 8'h81;
+ buff [16'h00_66] = 8'h0F;
+ buff [16'h00_67] = 8'h02;
+ buff [16'h00_68] = 8'h00;
+ buff [16'h00_69] = 8'h0C;
+ buff [16'h00_6a] = 8'hE8;
+ buff [16'h00_6b] = 8'h60;
+ buff [16'h00_6c] = 8'h0F;
+ buff [16'h00_6d] = 8'hEC;
+ buff [16'h00_6e] = 8'hC3;
+ buff [16'h00_6f] = 8'h13;
+ buff [16'h00_70] = 8'hFC;
+ buff [16'h00_71] = 8'hED;
+ buff [16'h00_72] = 8'h13;
+ buff [16'h00_73] = 8'hFD;
+ buff [16'h00_74] = 8'hEE;
+ buff [16'h00_75] = 8'h13;
+ buff [16'h00_76] = 8'hFE;
+ buff [16'h00_77] = 8'hEF;
+ buff [16'h00_78] = 8'h13;
+ buff [16'h00_79] = 8'hFF;
+ buff [16'h00_7a] = 8'hD8;
+ buff [16'h00_7b] = 8'hF1;
+ buff [16'h00_7c] = 8'h22;
+end
+
+always @(posedge clk)
+begin
+ data1 <= #1 buff [addr];
+ data2 <= #1 buff [addr+1];
+ data3 <= #1 buff [addr+2];
+end
+
+endmodule
v/cast.v
Property changes :
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: v/interrupt_test.v
===================================================================
--- v/interrupt_test.v (nonexistent)
+++ v/interrupt_test.v (revision 186)
@@ -0,0 +1,126 @@
+ = 8'h92;
+ buff [16'h01_ed] = 8'h75;
+ buff [16'h01_ee] = 8'h7F;
+ buff [16'h01_ef] = 8'h12;
+ buff [16'h01_f0] = 8'h74;
+ buff [16'h01_f1] = 8'hD0;
+ buff [16'h01_f2] = 8'hF2;
+ buff [16'h01_f3] = 8'h75;
+ buff [16'h01_f4] = 8'h98;
+ buff [16'h01_f5] = 8'hF8;
+ buff [16'h01_f6] = 8'h7A;
+ buff [16'h01_f7] = 8'h97;
+ buff [16'h01_f8] = 8'hD2;
+ buff [16'h01_f9] = 8'h8C;
+ buff [16'h01_fa] = 8'hD2;
+ buff [16'h01_fb] = 8'h8E;
+ buff [16'h01_fc] = 8'h8A;
+ buff [16'h01_fd] = 8'h99;
+ buff [16'h01_fe] = 8'h74;
+ buff [16'h01_ff] = 8'hD5;
+ buff [16'h02_00] = 8'hFB;
+ buff [16'h02_01] = 8'hF3;
+ buff [16'h02_02] = 8'hA2;
+ buff [16'h02_03] = 8'h99;
+ buff [16'h02_04] = 8'h50;
+ buff [16'h02_05] = 8'hFC;
+ buff [16'h02_06] = 8'hA2;
+ buff [16'h02_07] = 8'h98;
+ buff [16'h02_08] = 8'h50;
+ buff [16'h02_09] = 8'hF8;
+ buff [16'h02_0a] = 8'hC2;
+ buff [16'h02_0b] = 8'h8C;
+ buff [16'h02_0c] = 8'hC2;
+ buff [16'h02_0d] = 8'h8E;
+ buff [16'h02_0e] = 8'h11;
+ buff [16'h02_0f] = 8'h30;
+ buff [16'h02_10] = 8'h75;
+ buff [16'h02_11] = 8'h7F;
+ buff [16'h02_12] = 8'h13;
+ buff [16'h02_13] = 8'h11;
+ buff [16'h02_14] = 8'h39;
+ buff [16'h02_15] = 8'hC2;
+ buff [16'h02_16] = 8'h99;
+ buff [16'h02_17] = 8'hC2;
+ buff [16'h02_18] = 8'h98;
+ buff [16'h02_19] = 8'h75;
+ buff [16'h02_1a] = 8'h7F;
+ buff [16'h02_1b] = 8'h14;
+ buff [16'h02_1c] = 8'hA2;
+ buff [16'h02_1d] = 8'h9A;
+ buff [16'h02_1e] = 8'h40;
+ buff [16'h02_1f] = 8'h82;
+ buff [16'h02_20] = 8'hE2;
+ buff [16'h02_21] = 8'h94;
+ buff [16'h02_22] = 8'hD7;
+ buff [16'h02_23] = 8'h75;
+ buff [16'h02_24] = 8'h80;
+ buff [16'h02_25] = 8'h03;
+end
+
+always @(posedge clk)
+begin
+ data1 <= #1 buff [addr];
+ data2 <= #1 buff [addr+1];
+ data3 <= #1 buff [addr+2];
+end
+
+endmodule
+ PK [šð,{†b ¡ TEMP/serial_test.asmÅXÛnÛ0}Nüƒ€½]gÙ¹8ÍËþd/Y<8¶!«[±¯Ÿ¨+m˓Їˆ¦IêððHîqýp$<"ŸIŸ·ZPXd¯'µˆåBpÖôM%ˆ({¡¬‰´ò2/«Ÿ¥7n¤±ÓAÖ+öãÒ‘^0.`%ÿž[þDÉyu,ßDÉV“ª‘?øk'H$x)*éë\3é*¾ä$ò~òY_ŠŒtÉ3]Aܼæ~1
+@grÑ€«ÍE¹F^1ìK^Ùp'–—ƒ Àñ9Z¹òÔšêõ¥ýI²'ò)Šèy5¬ù«Ä‹qaO™~úã7»sU?Ö ù7ñVÿ7ùùÊ5ýk–ÁšÇ:Bó›ÈòZîòçO€Xdžæèé(w 0b˜ $ð!Të_Ì&ߟÎO„ŽúÕvÓÂ=îgäªJ€ëá†e5¼7>)ø˜öHÌokŠ‚—½s¤Êñ€&‘[;•|ä\t5x§{ðÖ¼6ö³ê ”=ù°ªùN.mQ®´ææR =ð.pÁ½ìœ
+-\Lù§ˆ"Á²ËåMö