📄 fifo_wt_gen.asm
字号:
;--------------------------------------------------------
; File Created by SDCC : FreeWare ANSI-C Compiler
; Version 2.5.5 #1236 (Apr 6 2006)
; This file generated Tue Jul 18 05:26:43 2006
;--------------------------------------------------------
.module FIFO_WT_GEN
.optsdcc -mmcs51 --model-small
;--------------------------------------------------------
; Public variables in this module
;--------------------------------------------------------
.globl _FIFO_Write_generic_PARM_3
.globl _FIFO_Write_generic_PARM_2
.globl _FIFO_Write_generic
;--------------------------------------------------------
; special function registers
;--------------------------------------------------------
.area RSEG (DATA)
_USB0ADR = 0x0096
_USB0DAT = 0x0097
;--------------------------------------------------------
; overlayable register banks
;--------------------------------------------------------
.area REG_BANK_0 (REL,OVR,DATA)
.ds 8
;--------------------------------------------------------
; overlayable items in internal ram
;--------------------------------------------------------
.area OSEG (OVR,DATA)
_FIFO_Write_generic_PARM_2::
.ds 1
_FIFO_Write_generic_PARM_3::
.ds 3
;--------------------------------------------------------
; code
;--------------------------------------------------------
.area CSEG (CODE)
;------------------------------------------------------------
; void FIFO_Write_generic( BYTE fifo_adr, BYTE n, BYTE * ptr )
;
;fifo_adr Allocated to registers dpl
;n Allocated with name '_FIFO_Write_generic_PARM_2'
;ptr Allocated with name '_FIFO_Write_generic_PARM_3'
;------------------------------------------------------------
; memory space code
mem_xdata = 0x00
mem_idata = 0x40
mem_pdata = 0x60
mem_code = 0x80
_FIFO_Write_generic:
mov a,_FIFO_Write_generic_PARM_2
jz genret
mov r2,a
mov a,#0x3F
anl a,dpl
mov _USB0ADR,a
mov a,(_FIFO_Write_generic_PARM_3 + 2) ; memory type
type_idata:
mov r0,_FIFO_Write_generic_PARM_3
cjne a,#mem_idata,type_pdata
idlp1:
mov _USB0DAT,@r0
inc r0
idlp2:
mov a,_USB0ADR
jb acc.7,idlp2
djnz r2,idlp1
ret
type_pdata:
cjne a,#mem_pdata,type_xdata
; mov r0,_FIFO_Write_generic_PARM_3
pdlp1:
movx a,@r0
mov _USB0DAT,a
inc r0
pdlp2:
mov a,_USB0ADR
jb acc.7,pdlp2
djnz r2,pdlp1
ret
type_xdata:
mov dpl,_FIFO_Write_generic_PARM_3
mov dph,(_FIFO_Write_generic_PARM_3 + 1)
cjne a,#mem_xdata,type_code
xdlp1:
movx a,@dptr
mov _USB0DAT,a
inc dptr
xdlp2:
mov a,_USB0ADR
jb acc.7,xdlp2
djnz r2,xdlp1
ret
type_code:
cjne a,#mem_code,genret
; mov dpl,_FIFO_Write_code_PARM_3
; mov dph,(_FIFO_Write_code_PARM_3 + 1)
cdlp1:
clr a
movc a,@a+dptr
mov _USB0DAT,a
inc dptr
cdlp2:
mov a,_USB0ADR
jb acc.7,cdlp2
djnz r2,cdlp1
genret:
ret
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -