亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? fax.asm

?? 智能電話系統(tǒng)的全部C-51,ASM51源程序 內(nèi)部文件較多
?? ASM
?? 第 1 頁 / 共 4 頁
字號:
		push    dph
;
                setb    p1.4
		anl     psw, #0e7h      ;swapping to area 1
		orl     psw, #08h
;
		mov     dptr, #40h
		movx    a, @dptr
		push    acc
		jnb     acc.0, chkring1   ;
;
;       check interrupt type
		mov     dptr, #r3fa
		movx    a, @dptr
		anl     a, #07h
		jnb     acc.0, nochkring  ;
chkring1:       ljmp    chkring
;
nochkring:      cjne    a, #06h, recvfull
;       error processing
		push    acc
		mov     dptr, #r3fd
		movx    a, @dptr
		jb      acc.1, recverr
		jb      acc.2, recverr
		jb      acc.3, recverr
		jb      acc.4, recverr
recverr:        mov     dptr, #r3f8
		movx    a, @dptr
		pop     acc
;
recvfull:       cjne    a, #04h, holdempt
;       receiving a character from the fax
		push    acc
		mov     dptr, #r3f8
		movx    a, @dptr
		lcall   wrrecvqu
		pop     acc
;
;        push    p1
;        mov     p1, #hi_mem
;        mov     dptr, #faxr_rd     ;read pointer(lower byte)
;        movx    a, @dptr
;        mov     b, a
;        mov     dptr, #faxr_wr     ;write pointer(lower byte)
;        movx    a, @dptr
;        clr     c
;        subb    a, b
;        clr     c
;        subb    a, #0b0h    ;if more than 60h bytes in the vt100 queue
;        jc      czsl
;        mov     a, #xoff
;        setb    p1.4
;        mov     dptr, #r3f8
;        movx    @dptr, a
;czsl:   pop     p1
	ljmp    noint
;
holdempt:       cjne    a, #02h, msrchged
;       transfering a character to the fax
		push    acc
		lcall   rdtranqu
		jnc     nosend
		lcall   faxsend
nosend:         pop     acc
;
		ljmp    chkring
;
;       get function byte
msrchged:       lcall   getfunc
		cjne    a, #func_trnsprnt, readmdm
;
		mov     dptr, #r3fe
		movx    a, @dptr
		ljmp    chkring
;
readmdm:        mov     dptr, #r3fe
		movx    a, @dptr
		jnb     acc.3, chkring
		jb      acc.7, chkring
;
;       set the system status to command
		push    p1
		mov     p1, #hi_mem
		mov     a, #sys_command
		mov     dptr, #sysstate
		movx    @dptr, a
;
		mov     a, #can
		mov     dptr, #fcancel
		movx    @dptr, a
;
		mov     a, #op_none
		lcall   setop
		pop     p1
;
chkring:        pop     acc
		push    acc
		jnb     acc.1, chkbusy
;
;       function acknownledge
		lcall   getfunc
;
		cjne    a, #func_trnsprnt, chkbusy
;
chkbusy:        pop     acc
		push    acc
		jnb     acc.2, to_noint
;
;       get operation
		lcall   getop
		cjne    a, #op_record, to_noint
;
;
;       one busy tone detected
		push    p1
		mov     p1, #hi_mem
		mov     dptr, #timerintcnt
		movx    a, @dptr
;
;       last busy time 
		push    acc
		mov     dptr, #lastbusy
		movx    a, @dptr
		mov     b, a
		pop     acc
;
		movx    @dptr, a
		clr     c
		subb    a, b
		jnc     chkbusy_0
		cpl     a
		inc     a
chkbusy_0:      push    p1
		mov     p1, #lo_mem
		push    acc
;;;                add     a, #30h                 ; '0,1,..9,a,b,c'
;;;                lcall   wrcomtqu
;;;                setb    ti
;;;                pop     acc
;
		mov     dptr, #telebusy
		movx    a, @dptr
		mov     b, a
		pop     acc
		movx    @dptr, a
		clr     c
		subb    a, b
		jnc     chkbusy_1
		cpl     a
		inc     a
chkbusy_1:      pop     p1
;                
		mov     dptr, #busycounter
;;;                cjne    a, #014h, nobusy1
;;;                ljmp    nobusy2
;
;;;nobusy1:        cjne    a, #015h, nobusy3
;
		clr     c
		subb    a, #01h
		jnc     nobusy3
;
;       busy counter
;
nobusy2:        movx    a, @dptr
		inc     a
		movx    @dptr, a
		ljmp    nobusy4
;
to_noint:       ljmp    noint
;
nobusy3:        mov     a, #0h
		movx    @dptr, a
;       is sixth busy tone ?
nobusy4:        cjne    a, #08h, nobusy6     ; 1996,10,17
;
		mov     a, #00h
		movx    @dptr, a
		mov     p1, #lo_mem
		mov     dptr, #telebusy1
		movx    a, @dptr
		inc     a
		movx    @dptr, a
		mov     r2, #02h
		cjne    a, #03h, nobusy7
		pop     p1
		sjmp    nobusy5
;
nobusy7:        mov     r1, #0ffh
nobusy8:        mov     r0, #0ffh
nobusy9:        nop
		djnz    r0, nobusy9
		djnz    r1, nobusy8
		djnz    r2, nobusy7
;
nobusy6:        pop     p1
		sjmp    noint
;
;       recorder finish
nobusy5:        lcall   hukon
		lcall   tohand
;
;       return idle status
		push    p1
		mov     p1, #hi_mem
		mov     dptr, #busycounter
		mov     a, #0
		movx    @dptr, a
;
		mov     a, #sys_command
		mov     dptr, #sysstate
		movx    @dptr, a
;
		mov     a, #op_none
		lcall   setop
		pop     p1
;
noint:          pop     acc
;
;       clear ip flag
		mov     dptr, #intreg
		movx    @dptr, a
;
		pop     dph
		pop     dpl
		pop     acc
		pop     b
		pop     p1
		pop     psw
		reti
;
;############################################################################
;               entry:  wrrecvqu          ;added aug.2,1995
;               function:  write a byte to fax/modem receiving queue
;               input:  a
;############################################################################
;
wrrecvqu:       push    b
		push    p1
		push    dpl
		push    dph
                mov     p1,#lo_mem              ;;; #hi_mem
;
;       get the lower byte of the write pointer
		push    acc
		mov     dptr, #faxr_wr   ;lower byte
		movx    a, @dptr
		mov     b, a
		inc     a
		movx    @dptr, a
		pop     acc
;
;       compose the write pointer 
		mov     dph, #faxr_ptr   ;base address( high byte )
		mov     dpl, b
		movx    @dptr, a
;
		pop     dph
		pop     dpl
		pop     p1
		pop     b
		ret

;############################################################################
;               entry:  rdtranqu          ;added aug.2,1995
;               function:  read a byte from fax/modem transfering queue
;               return: jc, received in a
;                       jnc, nothing received
;############################################################################
;
rdtranqu:       push    b
		push    p1
		push    dpl
		push    dph
                mov     p1,#lo_mem              ;;; #hi_mem
;
;       check if the queue is empty
		mov     dptr, #faxt_rd   ;read pointer(lower byte)
		movx    a, @dptr
		mov     b, a
		mov     dptr, #faxt_wr   ;write pointer(lower byte)
		movx    a, @dptr
		clr     c
		subb    a, b
		jnz     faxtrcvd
;
;       disable interrupt for the empty request
                setb    p1.4
		mov     dptr, #r3f9
		movx    a, @dptr
		anl     a, #0fdh
		movx    @dptr, a
;
		clr     c
		pop     dph
		pop     dpl
		pop     p1
		pop     b
		ret
;       get the lower byte of the read pointer
faxtrcvd:       mov     dptr, #faxt_rd   ;read pointer( lower byte )
		movx    a, @dptr
		mov     b, a
		inc     a
		movx    @dptr, a
;
;       compose the read pointer
		mov     dph, #faxt_ptr   ;base address( high byte )
		mov     dpl, b
		movx    a, @dptr
;
		setb    c
		pop     dph
		pop     dpl
		pop     p1
		pop     b
		ret
;

;############################################################################
;       entry:          faxsend
;       function:       fax sending a character
;       input:          a character to be transmitted
;       used registers: a
;############################################################################
;
faxsend:        push    p1
                setb    p1.4
;
		push    dpl
		push    dph
;
		push    acc
;
;       reading line status register
busychk:        mov     dptr, #r3fd
		movx    a, @dptr
		jb      acc.0, echoback
		jb      acc.1, echoback
		jb      acc.2, echoback
		jb      acc.3, echoback
		jb      acc.4, echoback
		jnb     acc.5, busychk
		ljmp    sending
havingdata:     lcall   wrrecvqu
		sjmp    busychk
;
echoback:       mov     dptr, #r3f8
		movx    a, @dptr
		ljmp    busychk
;
sending:        pop     acc
;
;       sending a byte to data port
		mov     dptr, #r3f8
		movx    @dptr, a
;
		pop     dph
		pop     dpl
		pop     p1
;
		ret
;
;############################################################################
;       entry:          setop
;       function:       set opertion
;       input:          operation byte in acc
;############################################################################
;
setop:          push    p1
		push    dpl
		push    dph
		mov     p1, #hi_mem
		mov     dptr, #operateptr
		movx    @dptr, a
;
		cjne    a, #op_none, qsetop
		mov     a, #0h
		mov     dptr, #recordring
		movx    @dptr, a
;
qsetop:         pop     dph
		pop     dpl
		pop     p1
		ret
;
;############################################################################
;       entry:          getop
;       function:       get current opertion
;       return:         operation byte in acc
;############################################################################
;
getop:          push    p1
		push    dpl
		push    dph
		mov     p1, #hi_mem
		mov     dptr, #operateptr
		movx    a, @dptr
		pop     dph
		pop     dpl
		pop     p1
		ret

;*******************
;* revice a char  *
;*******************

s_rcvchar:      nop
                lcall  rdrecvqu
                jc     havedata
                mov     r6,#0ffh
                mov     r7,#0ffh
                ret
havedata:       mov     r6,#0h
                mov     r7,a
                ret

;############################################################################
;               entry:  rdrecvqu          ;added aug.2,1995
;               function:  read a byte from fax/modem receiving queue
;               return: jc, received in a
;                       jnc, nothing received
;############################################################################
;
rdrecvqu:       push    b
		push    p1
		push    dpl
		push    dph
                mov     p1, #lo_mem      ;;;  #hi_mem
;
;       check if the queue is empty
		mov     dptr, #faxr_rd   ;read pointer(lower byte)
		movx    a, @dptr
		mov     b, a
		mov     dptr, #faxr_wr   ;write pointer(lower byte)
		movx    a, @dptr
		clr     c
		subb    a, b
		jnz     faxrrcvd
		clr     c               ;the queue is empty
		pop     dph
		pop     dpl
		pop     p1
		pop     b
		ret
;
;       get the lower byte of read pointer
faxrrcvd:       mov     dptr, #faxr_rd
		movx    a, @dptr
		mov     b, a
		inc     a
		movx    @dptr, a
;
;       compose the read pointer
		mov     dph, #faxr_ptr   ;base address(high byte)
		mov     dpl, b
		movx    a, @dptr
;
		setb    c
		pop     dph
		pop     dpl
		pop     p1
		pop     b
		ret
;
; 82.   void sleep(int milliseconds)
; 83.	/*
; 84.	          功能          延時毫秒
; 85.	*/
; 86.	{}
sleep:
;
        MOV	A,R7
        mov     r0,a
        lcall   delay
;
        RET

;############################################################################
;       entry:          offline
;       function:       switch to voice
;############################################################################
;
offline:        push    p1
		push    dpl
		push    dph
;
		mov     r0, #02h
		lcall   delay
;
		mov     dptr, #escape           ;'+++'
		lcall   sendcmd
;
		mov     r0, #02h
		lcall   delay
;
		mov     dptr, #hookoff          ;'ath'
		lcall   sendcmd
;
		mov     r0, #02h
		lcall   delay
;
		pop     dph
		pop     dpl
		pop     p1
		ret
;

end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品国产综合久久香蕉麻豆| 精品国产乱子伦一区| 麻豆精品国产91久久久久久| 国产精品视频yy9299一区| 欧美日韩大陆一区二区| 成人高清视频免费观看| 美腿丝袜亚洲三区| 亚洲午夜私人影院| 国产精品久久一级| 精品国产乱码久久久久久闺蜜| 欧美午夜一区二区| av电影天堂一区二区在线| 国产一区在线观看视频| 日日欢夜夜爽一区| 夜夜夜精品看看| 国产精品久久久久永久免费观看 | 国产精品888| 婷婷夜色潮精品综合在线| 国产精品国产自产拍高清av王其| 日韩欧美成人激情| 制服.丝袜.亚洲.另类.中文 | 欧美成人aa大片| 欧美日韩另类一区| 在线观看网站黄不卡| 99久久久国产精品| 不卡一卡二卡三乱码免费网站| 国精产品一区一区三区mba视频 | 久久久精品国产免费观看同学| 91精品国产乱| 欧美精品粉嫩高潮一区二区| 欧美日韩中文另类| 91久久香蕉国产日韩欧美9色| 成人黄色网址在线观看| 国产69精品一区二区亚洲孕妇| 国产自产视频一区二区三区| 激情深爱一区二区| 狠狠色丁香九九婷婷综合五月| 蜜臀av性久久久久蜜臀aⅴ流畅| 日韩综合小视频| 日日嗨av一区二区三区四区| 偷拍亚洲欧洲综合| 日精品一区二区三区| 日韩vs国产vs欧美| 另类人妖一区二区av| 久草精品在线观看| 国产精品一区三区| 成人在线综合网| 91在线视频免费观看| 99久久国产综合色|国产精品| 99久久精品一区二区| 91啪九色porn原创视频在线观看| 色综合天天性综合| 久久一区二区三区国产精品| 日韩一区二区在线免费观看| 欧美哺乳videos| 欧美精品一区二区三区很污很色的 | 日韩在线卡一卡二| 裸体歌舞表演一区二区| 国产综合久久久久久久久久久久| 国产真实乱子伦精品视频| 国产传媒一区在线| 97se亚洲国产综合自在线观| 在线亚洲免费视频| 欧美一区二区女人| 久久精品一二三| 亚洲欧美偷拍卡通变态| 亚洲国产精品久久久久婷婷884| 日韩精品国产精品| 国产精品77777竹菊影视小说| 99久久99久久精品免费看蜜桃| 欧美午夜精品一区二区三区| 欧美一区二区精品在线| 国产午夜精品在线观看| 一区二区三区四区国产精品| 蜜臀av一区二区三区| av亚洲精华国产精华| 欧美日韩美女一区二区| 久久久久国产精品麻豆 | 国产自产高清不卡| 色哟哟精品一区| 日韩一区二区三区电影在线观看 | 精品福利av导航| 日韩伦理免费电影| 玖玖九九国产精品| 99久久99久久综合| 日韩欧美在线影院| 亚洲人成网站色在线观看| 美国十次综合导航| 91麻豆蜜桃一区二区三区| 欧美电影免费观看高清完整版在| 国产精品拍天天在线| 亚洲一区二区精品久久av| 国产制服丝袜一区| 欧美人伦禁忌dvd放荡欲情| 国产欧美日本一区视频| 亚洲成av人综合在线观看| 福利电影一区二区| 欧美一二三区在线| 一区2区3区在线看| 国产经典欧美精品| 欧美一区二区三区在线电影| 国产精品视频观看| 理论片日本一区| 在线观看视频91| 国产婷婷色一区二区三区| 日韩不卡一区二区三区| 色一情一伦一子一伦一区| 久久亚洲精品小早川怜子| 天堂在线一区二区| 91蜜桃传媒精品久久久一区二区 | 亚洲大片精品永久免费| 成人激情视频网站| 久久久久久久久久久黄色| 视频在线观看91| 91激情在线视频| 国产精品国产精品国产专区不片| 蓝色福利精品导航| 欧美丰满一区二区免费视频| 亚洲免费在线看| 91亚洲国产成人精品一区二区三| 国产日韩欧美精品一区| 韩国av一区二区三区| 日韩精品一区二区在线观看| 天天影视色香欲综合网老头| 欧美视频自拍偷拍| 亚洲综合自拍偷拍| 在线亚洲一区二区| 亚洲男人的天堂一区二区| av在线一区二区| 国产精品麻豆99久久久久久| 国产suv精品一区二区883| 久久久久久久久99精品| 国产美女娇喘av呻吟久久| 精品国产一二三区| 国产在线精品一区二区夜色| 精品区一区二区| 国产美女娇喘av呻吟久久| 久久久久国产一区二区三区四区 | 国产剧情一区二区| 精品国产免费人成在线观看| 黄网站免费久久| 久久久久久久性| 成人黄色小视频| 亚洲欧美一区二区三区久本道91| 色婷婷精品久久二区二区蜜臂av| 专区另类欧美日韩| 色呦呦网站一区| 亚洲在线观看免费| 91精品国产综合久久婷婷香蕉| 青青青伊人色综合久久| 欧美成人官网二区| 欧美日高清视频| 首页综合国产亚洲丝袜| 日韩欧美在线综合网| 国产一区二区剧情av在线| 国产精品丝袜一区| 91国产成人在线| 日韩精品欧美精品| 久久综合九色综合欧美就去吻| 国产精品亚洲第一| 亚洲色图都市小说| 欧美喷潮久久久xxxxx| 久久福利视频一区二区| 国产欧美日本一区二区三区| 91国产免费看| 精品一区二区三区久久| 国产精品拍天天在线| 欧美专区日韩专区| 久久99国产精品久久99| 国产精品日韩成人| 欧美在线一区二区三区| 久久精品久久99精品久久| 欧美激情综合五月色丁香小说| 色久综合一二码| 久久99久久99| 亚洲欧美另类小说视频| 日韩网站在线看片你懂的| 成人一二三区视频| 亚洲成人高清在线| 久久久久综合网| 欧美日韩亚洲综合在线 | 国产精品美女久久久久久久| 欧美亚一区二区| 国产精品一二三四| 亚洲永久精品大片| 久久久久久亚洲综合影院红桃| 91美女在线观看| 精品在线播放免费| 亚洲男人的天堂av| 2014亚洲片线观看视频免费| 欧美综合一区二区三区| 国产在线精品一区二区不卡了| 亚洲综合无码一区二区| 久久久久久久久久久久久夜| 自拍偷自拍亚洲精品播放| 日韩精品中文字幕一区二区三区 | 综合自拍亚洲综合图不卡区| 欧美高清hd18日本| 成人v精品蜜桃久久一区| 日韩av在线免费观看不卡|