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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? async.asm

?? source code for visa card
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
	push    dx

	mov     ax, @data                       ; Address local data with ds
	mov     ds, ax

	mov     dx, [IIR]                       ; Check if data actually recieved
	in      al, dx
	and     al, 06h
	cmp     al, 04h
	je      AsyncISR_recieve
	cmp     al, 02h
	jne     AsyncISR_end

;----- Transmit A byte
AsyncISR_transmit:
	mov     bx, [TransTail]
	cmp     bx, [TransHead]
	jne     AsyncISR_1

	mov     dx, [IER]                       ; Buffer empty
	mov     al, 1
	out     dx, al                          ; Disable THR empty interrupt
	jmp     AsyncISR_end

AsyncISR_1:
	mov     al, [byte ptr bx]               ; Get Byte
	inc     [TransTail]                     ; Update buffer pointer
	cmp     [word ptr TransTail], offset TransBuffer + BufSize
	jb      AsyncISR_2
	mov     [TransTail], offset TransBuffer
AsyncISR_2:
	mov     dx, [THR]
	out     dx, al
	jmp     AsyncISR_end

;----- Recieve a byte
AsyncISR_recieve:
	mov     dx, [RDR]                       ; Get Byte
	in      al, dx
	mov     bx, [RecHead]                   ; Store Byte in buffer
	mov     [byte ptr bx], al
	inc     bx                              ; Update RecHead
	cmp     bx, offset RecBuffer + BufSize
	jb      AsyncISR_10
	mov     bx, offset RecBuffer
AsyncISR_10:
	cmp     bx, [RecTail]
	jne     AsyncISR_20
	mov     bx, [RecHead]                   ; Cancel Pointer advance on overflow
AsyncISR_20:
	mov     [RecHead], bx                   ; Store new pointer

AsyncISR_end:
	mov     al, EOI                         ; Signal end ot interrupt
	out     Ctrl8259_0, al

	; Disable and re-enable interrupts so that there
	; is an interrupt edge.

	mov     dx,[IER]                ; Point to Interrupt Enable Register.
	in      al,dx                   ; Read the current value.
	push    ax                      ; Save it.
	mov     al,0                    ; Disable the interrupts.
	out     dx,al
	pop     ax                      ; Restore original mask.
	out     dx,al                   ; Re-enable interrupts.

	pop     dx                      ; Restore saved registers.
	pop     ds
	pop     bx
	pop     ax

	iret

AsyncISR ENDP



;-----------------------------------------------------------------------------
;       AsyncIn                 Gets a byte from the input buffer
;-----------------------------------------------------------------------------
;       int     AsyncIn( void)
;-----------------------------------------------------------------------------
_AsyncIn PROC NEAR

	push    bp
	mov     bp, sp

	xor     ax, ax                          ; Pre-Set result to 0
	mov     bx, [RecTail]
	cmp     bx, [RecHead]
	je      _AsyncIn_return
	mov     al, [byte ptr bx]
	inc     [RecTail]
	cmp     [word ptr RecTail], offset RecBuffer + BufSize
	jb      _AsyncIn_return
	mov     [RecTail], offset RecBuffer

_AsyncIn_return:
	pop     bp
	ret
_AsyncIn ENDP



;-----------------------------------------------------------------------------
;       AsyncOut                Output a byte
;-----------------------------------------------------------------------------
;       void    AsyncOut( int c)
;-----------------------------------------------------------------------------
; spetial synchron send for use with season

_AsyncOut PROC NEAR
	push    bp
	mov     bp,sp
	mov     ax,[bp+4]               ; get argument
	mov     dx,[THR]                ; write direct to Transmitregister
	out     dx,al
	pop     bp
	ret


;_AsyncOut PROC NEAR
;	push    bp
;       mov     bp,sp
;	mov     ax,[bp+4]               ; get argument
;	mov     bx, [TransHead]
;	mov     cx, bx
;	inc     cx                              ; Compute NEW buffer position
;	cmp     cx, offset TransBuffer + BufSize
;	jb      _AsyncIn_1
;	mov     cx, offset TransBuffer
;_AsyncIn_1:
;	cmp     cx, [TransTail]                 ; Wait for space in buffer
;	je      _AsyncIn_1
;
;	mov     [byte ptr bx], al               ; Add byte to buffer
;	mov     [TransHead], cx                 ; Update pointer
;
;	mov     dx, [IER]                       ; Enable THR empty interrupt
;	mov     al, 3
;	out     dx, al
;
;	pop     bp
;	ret
_AsyncOut ENDP



;-----------------------------------------------------------------------------
;       AsyncSet                Set communication paramaters
;-----------------------------------------------------------------------------
;       void    AsyncSet( int Baud, int Control)
;
;       Baud = 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 28800, 38400, 57600
;       Control = The valure to place in the LCR
;-----------------------------------------------------------------------------
_AsyncSet PROC NEAR
       Baud   equ  bp+4
       Control equ bp+6

	push    bp
	mov     bp, sp

	mov     bx, [Baud]
	cmp     bx, 0
	je      _AsyncSet_abort

	mov     ax, 0C200h              ; Baud rate divisor = 115200 / Baud
	mov     dx, 0001h               ; 115200 = 0001C200h
	div     bx
	mov     cx, ax

	cli
	mov     dx, [LCR]               ; Set Port Toggle to BRDL/BRDH registers
	mov     al, 0ffh
	out     dx, al

	mov     dx, [BRDL]              ; Set Baud Rate
	mov     al, cl
	out     dx, al
	mov     dx, [BRDH]
	mov     al, ch
	out     dx, al

	mov     dx, [LCR]               ; Set LCR and Port Toggle
	mov     ax, [Control]
	and     al, 07Fh
	out     dx, al

	sti
_AsyncSet_abort:
	pop     bp
	ret
_AsyncSet ENDP



;-----------------------------------------------------------------------------
;       AsyncInStat             Returns the # of characters in buffer
;-----------------------------------------------------------------------------
;       int     AsyncInStat( void)
;-----------------------------------------------------------------------------
_AsyncInStat PROC NEAR
	push    bp
	mov     bp, sp

	mov     ax,[RecHead]
	sub     ax, [RecTail]
	jge     _AsyncInStat_10
	add     ax, BufSize
_AsyncInStat_10:
	pop     bp
	ret
_AsyncInStat ENDP



;-----------------------------------------------------------------------------
;       AsyncOutStat            Returns the # of characters in buffer
;-----------------------------------------------------------------------------
;       int     AsyncOutStat( void)
;-----------------------------------------------------------------------------
_AsyncOutStat PROC NEAR
	push    bp
	mov     bp, sp

	mov     ax,[TransHead]
	sub     ax, [TransTail]
	jge     _AsyncOutStat_10
	add     ax, BufSize
_AsyncOutStat_10:

	pop     bp
	ret
_AsyncOutStat ENDP



;-----------------------------------------------------------------------------
;       AsyncHand               Sets various handshaking lines
;-----------------------------------------------------------------------------
;       void    AsyncHand( int Hand)
;-----------------------------------------------------------------------------
_AsyncHand PROC NEAR
       Hand  equ bp+4

	push    bp
	mov     bp, sp

	mov     dx, [MCR]
	mov     ax, [Hand]
	or      al, 08h                         ; Keep interrupt enable ON
	out     dx, al

	pop     bp
	ret
_AsyncHand ENDP


;-----------------------------------------------------------------------------
;       AsyncStat               Returns Async/Modem status
;-----------------------------------------------------------------------------
;       unsigned        AsyncStat( void)
;
;       MSR is returned in the high byte, LSR in the low byte
;-----------------------------------------------------------------------------
_AsyncStat PROC NEAR
	push    bp
	mov     bp, sp

	mov     dx, [MSR]
	in      al, dx
	mov     cl, al
	mov     dx, [LSR]
	in      al, dx                  ; LSR in low byte
	mov     ah, cl                  ; MSR in high byte

	pop     bp
	ret
_AsyncStat ENDP


	_TEXT ENDS

	END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美高清dvd碟片| 亚洲欧美一区二区久久| 亚洲欧美自拍偷拍色图| 7799精品视频| 欧美色图一区二区三区| 成人性生交大合| 黄网站免费久久| 久久草av在线| 紧缚奴在线一区二区三区| 六月丁香婷婷久久| 美女国产一区二区三区| 亚洲国产视频直播| 日韩伦理免费电影| 亚洲黄色av一区| 伊人色综合久久天天| 亚洲尤物在线视频观看| 一区二区三区 在线观看视频| 亚洲视频一区二区在线| 中文字幕一区二区三区不卡在线| 中文字幕在线一区免费| 亚洲日本在线看| 亚洲国产日韩一级| 日本网站在线观看一区二区三区| 亚洲va欧美va国产va天堂影院| 一区二区三区高清| 日韩中文字幕区一区有砖一区| 免费在线观看一区| 精品亚洲免费视频| 成人手机电影网| 欧美日韩视频在线观看一区二区三区 | 欧美性大战久久久久久久| 欧美日韩国产天堂| 777xxx欧美| 国产亚洲欧美中文| 亚洲一区二区三区美女| 免费观看在线综合色| 不卡一区二区三区四区| 欧美日韩国产综合久久| 精品成人a区在线观看| 国产精品网站一区| 亚洲一区二区黄色| 国产剧情在线观看一区二区| 91一区一区三区| 日韩欧美国产一区二区在线播放| 国产日韩欧美精品一区| 亚洲最大的成人av| 精品中文av资源站在线观看| 一本大道久久a久久精品综合| 日韩三级精品电影久久久| 亚洲色图19p| 国产麻豆一精品一av一免费| 欧美色男人天堂| 中文字幕av不卡| 久久国产麻豆精品| 欧美亚日韩国产aⅴ精品中极品| 精品国偷自产国产一区| 亚洲第一av色| 91亚洲午夜精品久久久久久| 欧美电影免费观看高清完整版| 一区二区三区在线观看网站| 国产二区国产一区在线观看| 欧美日本一区二区在线观看| 亚洲女性喷水在线观看一区| 国产精品一区三区| 日韩三级在线观看| 午夜av一区二区| 91色在线porny| 日本一区二区免费在线| 久久精品国产成人一区二区三区| 欧美亚洲高清一区| 亚洲精品老司机| 一本色道久久加勒比精品| 国产人伦精品一区二区| 国产一区二区三区黄视频| 日韩视频在线你懂得| 午夜精品在线看| 欧美色图片你懂的| 亚洲一区二区三区视频在线| 91麻豆精东视频| 亚洲自拍偷拍网站| 91麻豆成人久久精品二区三区| 最新热久久免费视频| 成人深夜在线观看| 国产精品伦一区| 91日韩精品一区| 日韩一区在线免费观看| 99久久久久久| 亚洲午夜三级在线| 欧美美女喷水视频| 天天色天天操综合| 日韩午夜激情电影| 国产一区二区三区四区在线观看| 久久久久久久久久久久久女国产乱| 日本在线观看不卡视频| 日韩精品一区二区三区老鸭窝| 国产一区二区视频在线| 国产偷国产偷亚洲高清人白洁 | 亚洲国产日韩av| 欧美一区二区在线视频| 美女国产一区二区| 国产精品网站导航| 欧美系列一区二区| 日韩和的一区二区| 国产亚洲精品福利| a美女胸又www黄视频久久| 亚洲男人天堂av| 91精品国产aⅴ一区二区| 韩国视频一区二区| 中文字幕一区免费在线观看| 91久久人澡人人添人人爽欧美| 亚洲成人自拍网| 国产亚洲欧美在线| 欧美在线不卡视频| 极品少妇一区二区三区精品视频| 国产精品水嫩水嫩| 欧洲日韩一区二区三区| 久国产精品韩国三级视频| 国产精品毛片久久久久久久| 欧美电影一区二区三区| 丁香天五香天堂综合| 日韩中文字幕av电影| 久久久久久9999| 91麻豆精品久久久久蜜臀| 国产成人精品亚洲777人妖| 亚洲一区日韩精品中文字幕| 2021中文字幕一区亚洲| 欧美三级在线播放| av中文字幕一区| 天天操天天干天天综合网| 久久久天堂av| 欧美精品第一页| 欧美伊人久久久久久久久影院| 国产99久久久久久免费看农村| 日韩精品乱码av一区二区| 亚洲人吸女人奶水| 久久久国产精品不卡| 日韩欧美亚洲国产另类| 欧美日韩激情一区二区三区| 99精品一区二区三区| 国产91对白在线观看九色| 久久99久久精品| 蜜臀精品久久久久久蜜臀| 午夜不卡在线视频| 夜夜嗨av一区二区三区网页| 国产精品久久午夜| ...xxx性欧美| 亚洲视频一区在线观看| 国产精品妹子av| 国产精品久久一卡二卡| 国产精品免费久久| 国产视频一区二区在线| wwwwww.欧美系列| 国产盗摄视频一区二区三区| 中文字幕一区二区三区不卡 | 一区二区三区中文在线| 国产亚洲婷婷免费| 欧美tickling挠脚心丨vk| 欧美年轻男男videosbes| 99re热这里只有精品免费视频| 精品一区二区三区在线播放视频 | 欧美二区三区的天堂| 色噜噜狠狠成人网p站| 丁香桃色午夜亚洲一区二区三区| 亚洲国产综合视频在线观看| 亚洲一区二区三区爽爽爽爽爽| 中文字幕在线一区免费| 欧美国产精品v| 精品日韩在线观看| 久久精品夜色噜噜亚洲aⅴ| 欧美一区2区视频在线观看| 在线成人免费视频| 欧美乱妇一区二区三区不卡视频| 国产91丝袜在线观看| 国产成人综合在线观看| 日韩精品色哟哟| 日韩精品电影一区亚洲| 亚洲午夜在线电影| 偷偷要91色婷婷| 免费精品99久久国产综合精品| 五月开心婷婷久久| 黑人巨大精品欧美一区| 国产精品一区二区在线观看不卡| 狠狠久久亚洲欧美| 国产99久久久国产精品免费看| 成人网在线播放| 欧美性猛交xxxx黑人交| 欧美色综合天天久久综合精品| 欧美日韩久久久一区| 26uuu色噜噜精品一区二区| 久久精品亚洲精品国产欧美| 精品日产卡一卡二卡麻豆| 在线成人免费观看| 国产精品免费丝袜| 亚洲a一区二区| 美腿丝袜亚洲一区| 91首页免费视频| 欧美一区二区三区四区高清 | 久久久99精品久久| 国产精品久久久久久户外露出| 亚洲电影一级片|