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

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

?? test_sim.asm

?? 用匯編寫的
?? ASM
字號:
;*********************************************************
;	Test & SP unlock card v1.02
;	Copyright (c)1996-1998 Dejan Kaljevic
;	All Rights Reserved
;	(eMail: dejan@net.yu)
;*********************************************************
 list p=16c84,f=inhx8m,r=dec
 __fuses H'1'
 include dex1.mac
;*********************************************************
r0	equ 0ch
r1	equ 0dh
r2	equ 0eh
r3	equ 0fh
r4	equ 10h
r5	equ 11h
r6	equ 12h
r7	equ 13h

iso_fleg 	equ 1ah
rxtx_count	equ 1bh

tx_reg 		equ 1ch
rx_reg 		equ 1ch

temp_tx 	equ 1dh
wait_reg	equ 1eh



d1	equ 30h
d2 	equ 31h
d3	equ 32h
d4 	equ 33h

sel_f1		equ 1fh
sel_f2		equ 20h 

card_flag	equ 21h



	include "picreg.h"


cla equ r0
ins equ r1
p1  equ r2
p2  equ r3
p3  equ r4



;**********************************************
		org 0
		jmp start



;---------------------------------------
get_data	clr pclath
		movwf pc


atr_baf		dt 12h,3fh,2fh,0,80h,69h,0afh,2,4,1,31h,0,0,0,0eh,83h,3eh,9fh,16h

atr_cl		dt 10h,3Fh,6Ch,0,0,25h,0A0h,31h,0,0FFh,0,0,1,80h,4,90h,0



pin_data	dt 11h,1fh,23h,45h,12h,34h,0



include eeprom.as



;***************************************
start		call wait2


		clr iso_fleg
		movlw 0ffh
		tris port_b
		movlw 0ffh
		tris port_a

		movlw 8 ;10001000b
		option
;---------------------------------------


		call wait1
;--------------------------------------	Send ATR

		movlf eeadr,3fh
		call ee_rd		;get flag
		movwf card_flag

		movlw atr_baf
		movf card_flag
		btfss status,z	
		movlw atr_cl
;-------------------------------------

		movwf r6
		call get_data
		movwf r7		;size of ATR

		incf r6
		movf r6,w
		call get_data		;first ATR byte

		xorlw 3fh
		jnz no_inv
		bsf iso_fleg,0
no_inv		
		movf r6,w
		incf r6
		call get_data
		call send_byte
		djnz r7,no_inv

;================================================

main		call wait

		movlf r7,5
		movlf fsr,cla
		call read__data		;get cla,ins,p1,p2,p3

		call wait

;------------------------------------------------
		movf card_flag
		jnz cl_ins

		cmp cla,0a0h
		jnz bad_cla
		
;================================= CLA A0
		cmp ins,0a4h
		je select_file 

		cmp ins,20h
		je verify_pin

		cmp ins,0b0h
		je read_bin

		cmp ins,0c0h
		je send_response

		cmp ins,0d6h
		je dumb_read

		cmp ins,0dch
		je dumb_read

		cmp ins,0fah	;sleep
		je ok_end		

		jmp bad_ins

;======================================

cl_ins		cmp ins,20h
		je verify_pin

		cmp ins,0b0h
		je cl_read_bin
		
		cmp ins,0d0h
		jne bad_ins

;======================================
dumb_read	call send_ins

nex_clwr	call get_byte
		djnz p3,nex_clwr

		jmp ok_end 
;======================================

send_ins	call wait
		movf ins,w
		jmp send_byte
		
;======================================



;======================================
; d1=data bafer
; r7=count
;--------------------------------------
read_data	movlf fsr,d1
;--------------------------------------
; fsr=addr
; r7=count
;--------------------------------------
read__data	call get_byte
		movwf 0
		incf fsr
		djnz r7,read__data
		ret
;--------------------------------------


bad_p1p2	movlw 6bh		;6b00h
		jmp send_ans0

bad_p3		movlw 67h		;6700h
		jmp send_ans0		

err_9408	movlf r0,8
		jmp send_94
	
bad_cla		movlw 6eh
		jmp send_ans0

bad_ins		movlw 6dh
		jmp send_ans0

ok_end
send_ok		movlw 90h
send_ans0	clr r0

send_answer	movwf temp_tx
		call wait
		movf temp_tx,w
		call send_byte
		movf r0,w
		call send_byte
		jmp main









;***************************************	
; RET w=char
;---------------------------------------
get_byte	bank1
		bsf tris_b,7		;in
		bank0 


l_lev		jnb port_b,7,l_lev	;wait for H
h_lev		jb port_b,7,h_lev	;wait for L (start impuls)

		movlf rxtx_count,9
		bcf iso_fleg,1		;reset parity fleg
		jb port_b,7,h_lev	;wait for L 

		call wait05		;[372/4/2-9] wait to midle of start impuls

nex_rx_bit	btfsc iso_fleg,0	;1(2)
		rlf rx_reg		;1(0)
		btfss iso_fleg,0	;2(1)
		rrf rx_reg		;0(1)
	
		call wait1		;2 [372/4-15]

		jnb port_b,7,low_l	;2(3)
;--------------------------
		movlw 2			;1
		xorwf iso_fleg		;1 ;parity
		
		nop			;1
		stc			;1
low_e		djnz rxtx_count,nex_rx_bit	;3

		rrf iso_fleg,w
		xorwf iso_fleg,w
		andlw 1
		jnz bad_parity

		btfsc iso_fleg,0
		comf rx_reg
		movf rx_reg,w
		ret

low_l		clc			;1
		jmp low_e		;2


bad_parity	call wait1

		bank1
		bcf tris_b,7		;out
		bank0
		bcf port_b,7		;i/o=0
	
		call wait1

		bsf port_b,7		;i/o=1

		bank1
		bsf tris_b,7		;in

		call wait05
		jmp get_byte



;**************************************
; W = char

send_byte	movwf temp_tx		
		
		movwf tx_reg
		btfsc iso_fleg,0
		comf tx_reg

		movlf rxtx_count,9
		bcf iso_fleg,1		;reset parity fleg

		call wait05
		
		bank1
		bsf tris_b,7		;in
		bank0 
tx_l		jnb port_b,7,tx_l
		
		clc

;---------------
nex_tx_bit	jc tx_high		;2(3)
		call tx_lo		;2+7
		jmp tx_e		;2

tx_high		call tx_hi		;2+5
		movlw 2			;1
		xorwf iso_fleg		;1 ;parity
		nop			;1

tx_e		call wait11		;2 + (372/4-22)

		btfsc iso_fleg,0	;1(2)
		rlf tx_reg		;1(0)
		btfss iso_fleg,0	;2(1)
		rrf tx_reg		;0(1)

		djnz rxtx_count,nex_tx_bit	;3


;---------------
		rrf iso_fleg,w		;send parity
		xorwf iso_fleg,w
		andlw 1		
		jnz par_s

		call tx_lo
		jmp end_par
	
par_s		call tx_hi
end_par		call wait1

;---------------
		call tx_hi		;stop impuls
		call wait1

		jnb port_b,7,error_tx
		call wait2
		ret

error_tx	call wait2
		movf temp_tx,w
		jmp send_byte		;try again


;---------------------------------------	out = L
tx_lo		bcf port_b,7		;1	out=0
		bank1			;1
		bcf tris_b,7		;1	;out
		bank0			;1
		bcf port_b,7		;1	;out=0
		ret			;2
;---------------------------------------
tx_hi		bank1			;1
		bsf tris_b,7		;1 ;in (i/o=1)
		bank0			;1
		ret			;2

;---------------------------------------

wait05		;37 ins
		movlf wait_reg,10
		jmp _wait3

wait11		;71 ins
		movlf wait_reg,22
		jmp _wait1

wait1		;78 ins
		movlf wait_reg,24	
		nop
_wait3		nop
_wait2		nop
_wait1		djnz wait_reg,_wait1	;3*wait_reg+1 
		ret

wait
wait2		;182 ins
		movlf wait_reg,59
		jmp _wait1


















;************************************************
select_file	movf p1,w
		iorwf p2,w
		jnz bad_p1p2	 
		cmp p3,2
		jnz bad_p3

		call send_ins		;OK p1=0,p2=0,p3=2

		movlf r7,2
		call read_data		;get File ID

;---------------------------------------
		cmp d1,3fh
		jnz no_mf
		movf d2
		jnz no_mf		;selected MF
ok_df		movlf r0,16h

;======================================
send_9fa	movff sel_f1,d1
		movff sel_f2,d2
;===============
send_9f		movlw 9fh
		jmp send_answer

;--------------------------------------		
no_mf		cmp d1,7fh
		jnz no_df
		movlf r0,df_info
		call test_file
		jnz ok_df		;select DF

;--------------------------------------		
no_df		cmp d1,6fh
		jnz no_ef
		movlf r0,ef_info
		call test_file
		jz no_ef
ok_eef		movlf r0,0fh
		jmp send_9fa		;select EF (6fxx)

no_ef		cmp d1,2fh
		jnz err_9404 ;no_eef
		movlf r0,eef_info
		call test_file
		jnz ok_eef		;select EEF (2fxx)

;=======================================
err_9404	movlf r0,4
send_94		movlw 94h
		jmp send_answer






;**************************************
;r0=index in table3 of valid files
;d2=file to test (low byte)
;
;RET z=1 file not found
;    z=0 OK r0=index to selected file data
;--------------------------------------
test_file	movf r0,w
		call get_data3
		andlw 0ffh
		jz end_tf
		xorwf d2,w
		jz end_oktf
		incf r0
		incf r0
		jmp test_file

end_oktf	iorlw 1	
end_tf		ret
;--------------------------------------




;************************************************
send_response	call send_ins		;always OK

		cmp sel_f1,3fh
		jne no__mf

		movlf r0,mf_d
		jmp send_resp		;MF

no__mf		cmp sel_f1,7fh
		jne no__df

		movlf r0,df_d
		jmp send_resp		;DF

no__df		cmp sel_f1,6fh
		je resp_ef		;EF (6fxx)
		
		cmp sel_f1,2fh
		je resp_eef		;EEF (2fxx)

send_zeros	clrw
		call send_byte
		djnz p3,send_zeros
		jmp ok_end


;***************************************
send_resp	clr r7

nex_srr		cmp r7,5
		jnz no_inf
		movf sel_f2,w
		jmp noo_inf

no_inf		movf r0,w
		call get_data3
noo_inf		call send_byte
		incf r7
		incf r0
		djnz p3,nex_srr
		jmp ok_end
;---------------------------------------

;************************************************
resp_eef	movlw eef_info
		jmp sp_ef
;************************************************
resp_ef		movlw ef_info
sp_ef		movwf r0
		movff d2,sel_f2
		call test_file		;always OK
		incf r0,w		
		call get_data3		;addr of selected file info
		movwf r0
;----------------------------
		movlw 85h
		call send_byte
		movlw 0dh
		call send_byte		;send 85 0d
		
		movlf r7,2
		call send_r0		;send file size
		
		movf sel_f1,w
		call send_byte
		movf sel_f2,w
		call send_byte		;send file ID

		movlf r7,3
		call send_r0		

		movlf r7,6
		movlf r0,ef_d
		call send_r0
		jmp ok_end

;--------------------------------------

;**************************************
; r0=index in table3
; r7=count
;--------------------------------------
send_r0		movf r0,w
		call get_data3
		call send_byte
		incf r0
		djnz r7,send_r0
		ret
;--------------------------------------




;************************************************
read_bin	cmp sel_f1,6fh
		movlw ef_info
		btfss status,z
		movlw eef_info
		movwf r0
		movff d2,sel_f2
		call test_file
		jz err_9408

		call send_ins
	
		incf r0,w
		call get_data3
		movwf r0
		addlw 1
		call get_data3
		movwf r7
				
		movlw 5
		addwf r0,w
		call get_data3
		
		andlw 0ffh
		jnz no_eep


		movlw 6
		addwf r0
		call send_r0
		jmp ok_end


no_eep		

nex_ff		movlw 0ffh
		call send_byte
		djnz r7,nex_ff
		jmp ok_end



;**************************************
verify_pin	cmp p3,8
		jne bad_p3

		call send_ins

		movlf r7,8
	 	call read_data

;-------------------------------------
		movlw 0fh
		andwf d1
		andwf d2
		andwf d3
		andwf d4

		swapf d1,w
		iorwf d2
		swapf d3,w
		iorwf d4		;d2:d4=PIN

		clrf r7
		movlf r0,pin_data
		
nex_tp		incf r7
		movf r0,w
		incf r0
		incf r0
		call get_data
		andlw 0ffh
		jz ok_end		;PIN is not defined, send OK
		xorwf d2,w
		jne nex_tp

		decf r0,w
		call get_data
		xorwf d4,w
		je end_tp
		andlw 0f0h
		jne nex_tp
		decf r7,w
		jne nex_tp

end_tp		
;--------------------------------------
		movlf eeadr,3fh
		decf r7
		jnz no_1
		movf d4,w
		andlw 0fh
end_pin		call ee_wr
		jmp ok_end

no_1		decf r7
		movlw 0ffh
		btfss status,z
		addlw 1
		jmp end_pin


		






;======================================
cl_verify_pin	cmp p3,8
		jne bad_p3
		jmp dumb_read


;======================================
cl_read_bin	movf p1
		jne bad_p1p2
		movf p2,w
		addwf p3,w
		jc bad_p3
		movf p3
		je bad_p3
			
		call send_ins

		movff r7,p2

nex_clrd:	movf r7,w
		call get_clone_byte
		call send_byte
		incf r7
		djnz p3,nex_clrd

	movlf eeadr,3fh
	call ee_rd
	movwf p3
	incf p3,w
	jz ok_end
	movf p3
	jz ok_end
	decf p3,w
	andlw 0fh
	call ee_wr
	

		jmp ok_end

;--------------------------------------
get_clone_byte	cmp r7,40h
		jnc bac_0
		
		jz bac_ff
		addlw -2
		jz bac_ff
		
		cmp r7,60h
		jnc bac_0

		cmp r7,70h
		jc bac_0
;----------------

		addlw 10h
		movwf eeadr
		jmp ee_rd
		

bac_0		retlw 0
bac_ff		retlw 0ffh
;--------------------------------------		







;-------------------------------------------------------------
		org 300h



get_data3	bsf pclath,0
		bsf pclath,1
		movwf pc



df_info		dt 10h,0,20h,0,21h,0,0
eef_info 	dt 0e2h,_e2,0
ef_info 	dt 5,_5,7,_7,10h,_10,16h,_16,20h,_20,30h,_30,31h,_31
		dt 38h,_38,74h,_74,78h,_78,7bh,_7b,7eh,_7e,0adh,_ad,0aeh,_ae,0

mf_d	dt 85h,14h,1,0f0h,3fh,0,1,80h,0,0ffh,0ffh,43h,9,9,2,5
	dt 4,0,83h,8ah,83h,8ah


df_d	dt 85h,14h,0,30h,7fh,10h,2,80h,0,0fbh,0ffh,3,9,9,0,14
	dt 4,0,83h,8ah,83h,8ah

ef_d	dt 0ffh,0bbh,3,2,0,0

_5	dt 0,1		,4,0,1		,0	,1
_7	dt 0,9		,4,0,1bh	,0 	,8,9,10h,10h,1,0,0,0,0
_10	dt 0,9		,4,0,1bh	,0ffh
_16	dt 0,9		,4,0,1bh	,0ffh
_20	dt 0,9		,4,0,1bh	,0ffh
_30	dt 0,30h	,4,0,11h	,0ffh
_31	dt 0,1		,4,0,11h	,0ffh
_38	dt 0,4		,4,0,1bh 	,0 	,0,3ch,0,0
_74	dt 0,10h	,4,0,11h	,0	,0
_78	dt 0,2		,4,0,1bh	,0	,0,1
_7b	dt 0,0ch	,4,0,11h	,0ffh
_7e	dt 0,0bh	,4,0,11h	,0ffh
_ad	dt 0,3		,4,0,0bh	,0	,81h,0ffh,0ffh
_ae	dt 0,1		,4,0,0bh	,0	,2


_e2	dt 0,0ah	,4,0,0bh	,0	,98h,83h,11h,11h,11h,11h,11h,11h,11h,0f1h

	org 2100h


de 	1,61h,1,0,0,0,0,0,0,0,0,0,0,0,0,0

	org 213fh
de 	0

 end
;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产日日夜夜| 国产综合久久久久影院| 日韩高清在线不卡| 国产91清纯白嫩初高中在线观看| 在线观看av一区二区| 久久麻豆一区二区| 亚洲国产视频一区二区| 成人激情电影免费在线观看| 欧美一区二区久久久| 亚洲欧洲日韩综合一区二区| 麻豆精品一二三| 欧美日韩综合不卡| 日韩理论片一区二区| 成人自拍视频在线观看| 日韩精品一区二区三区视频在线观看 | 日韩午夜中文字幕| 亚洲精品成人a在线观看| av资源网一区| 国产精品麻豆一区二区| 高潮精品一区videoshd| 精品999久久久| 激情欧美日韩一区二区| 日韩一区二区免费视频| 蜜桃久久久久久| 欧美一区二区三区四区在线观看| 亚洲国产精品一区二区久久恐怖片 | 91精品久久久久久久91蜜桃| 亚洲人成电影网站色mp4| 不卡大黄网站免费看| 国产精品毛片久久久久久| 处破女av一区二区| 亚洲欧洲韩国日本视频| caoporen国产精品视频| 成人免费一区二区三区视频| gogogo免费视频观看亚洲一| 国产精品国产三级国产aⅴ中文| 国产揄拍国内精品对白| 2021国产精品久久精品| 国产成人精品网址| 国产精品伦理在线| 色婷婷av一区二区三区软件| 亚洲一区二区在线免费观看视频| 欧美三级资源在线| 日本欧美肥老太交大片| 亚洲精品在线三区| 成人综合在线网站| 樱桃国产成人精品视频| 欧美日韩精品欧美日韩精品一| 亚洲chinese男男1069| 欧美一区二区三区视频在线观看| 久久99国产精品久久99果冻传媒| 久久久久久夜精品精品免费| 粉嫩av一区二区三区在线播放 | 国产日韩精品一区二区三区| aa级大片欧美| 婷婷综合五月天| 亚洲精品一区二区三区精华液| 国产伦理精品不卡| 亚洲伦理在线免费看| 7777精品伊人久久久大香线蕉经典版下载| 秋霞午夜av一区二区三区| 国产欧美日韩激情| 欧美日本一区二区在线观看| 国产在线观看一区二区| 亚洲精品久久久久久国产精华液| 欧美一区国产二区| www.亚洲在线| 美美哒免费高清在线观看视频一区二区| 久久嫩草精品久久久久| 欧洲一区在线观看| 国产激情偷乱视频一区二区三区| 一区二区三区免费看视频| 精品福利av导航| 欧美无乱码久久久免费午夜一区| 国产在线精品免费| 日韩精品色哟哟| 亚洲婷婷综合色高清在线| 日韩精品一区二区三区中文精品| 在线看国产一区| 成人黄色小视频| 久久国产尿小便嘘嘘尿| 精品在线视频一区| 亚州成人在线电影| 欧美高清www午色夜在线视频| 成人蜜臀av电影| 久久草av在线| 水野朝阳av一区二区三区| 中文字幕一区av| 国产午夜精品久久久久久免费视| 欧美日韩一级黄| 91农村精品一区二区在线| 国产一区二区日韩精品| 免费久久精品视频| 日日夜夜免费精品视频| 一区二区三区美女| 亚洲欧美另类小说视频| 国产精品久久久久久久午夜片| 精品动漫一区二区三区在线观看| 7777精品伊人久久久大香线蕉| 91美女蜜桃在线| 97久久精品人人做人人爽| 高清免费成人av| 国产成人精品一区二| 欧美揉bbbbb揉bbbbb| 欧美伊人久久大香线蕉综合69 | 亚洲综合免费观看高清完整版 | 91精品国产91综合久久蜜臀| 日本久久精品电影| 91亚洲永久精品| 91网站视频在线观看| 成人av免费观看| 成人18视频日本| 99久久精品免费看国产免费软件| 成人网页在线观看| 91小视频免费看| 色狠狠色狠狠综合| 欧美揉bbbbb揉bbbbb| 欧美疯狂性受xxxxx喷水图片| 欧美人牲a欧美精品| 欧美一区午夜视频在线观看| 3atv一区二区三区| 日韩视频一区二区三区在线播放| 欧美一区二区人人喊爽| 26uuu国产在线精品一区二区| 精品国精品国产| 国产精品日产欧美久久久久| 亚洲精品亚洲人成人网在线播放| 亚洲激情在线播放| 三级久久三级久久久| 久久精品国产免费看久久精品| 国产一区二区视频在线播放| 粉嫩嫩av羞羞动漫久久久| 色婷婷综合在线| 欧美日韩二区三区| 精品美女一区二区| 国产精品―色哟哟| 亚洲国产一区二区三区青草影视| 奇米一区二区三区| 国产成人午夜视频| 日本高清免费不卡视频| 日韩视频中午一区| 国产精品女主播av| 首页国产欧美久久| 国产电影精品久久禁18| 在线视频中文字幕一区二区| 欧美一级欧美三级| 国产精品午夜久久| 偷拍日韩校园综合在线| 成人综合日日夜夜| 欧美一区二区三区婷婷月色| 中文字幕一区二区三中文字幕| 五月天丁香久久| 岛国av在线一区| 777色狠狠一区二区三区| 国产欧美视频一区二区三区| 亚洲国产一区二区三区| 懂色av噜噜一区二区三区av| 欧美精品日韩一本| 中日韩av电影| 精品无码三级在线观看视频| 色综合久久久久久久久久久| 精品国产不卡一区二区三区| 亚洲综合成人在线视频| 国产.欧美.日韩| 日韩一级精品视频在线观看| 亚洲国产色一区| 97久久超碰国产精品电影| 精品久久免费看| 亚洲成人av电影在线| 91亚洲精品一区二区乱码| 精品国产成人系列| 日本伊人精品一区二区三区观看方式| 成人高清视频在线观看| 亚洲精品在线观| 奇米精品一区二区三区在线观看一| 99久久婷婷国产综合精品| 久久综合av免费| 蜜臀av亚洲一区中文字幕| 在线观看成人小视频| 中文字幕一区免费在线观看| 国产剧情一区二区三区| 欧美一区二区成人6969| 亚洲国产精品精华液网站| 色香蕉久久蜜桃| 成人免费视频在线观看| www.66久久| 亚洲天堂精品在线观看| 波多野结衣在线aⅴ中文字幕不卡| 久久久久国产精品人| 国产在线不卡一区| 精品国产凹凸成av人导航| 国产最新精品免费| 精品国产免费一区二区三区四区| 日日夜夜精品视频免费| 欧美日韩不卡在线| 图片区小说区国产精品视频| 欧美日韩一区三区四区| 亚洲国产精品尤物yw在线观看| 欧美日产在线观看| 久久av老司机精品网站导航|