NAR-5050/5070 Series User
’
s Manual
39
ror ebx,10h ; Swap EBX high and low word
mov bl,02h ; EBX_Bit[23..16]
mov bh,GPDI3 ; EBX_Bit[31..24]
rol ebx,10h ; Restore the Swap of EBX high and low word
call LOOP_GET_GPI_CARRY ; call get GPDI
jc set_bit3 ; if carry , then Bit3=1
and ch,0F7h ; else Bit3=0
jmp next_bit2
set_bit3 :
or Ch,08h
next_bit2 :
; Bit3 of Ch end ---------------------------------
; Bit2 of Ch start ------------------------------
; GPIO35 : JP6 of test module
; EBX_Bit[31..24] : GPDI3 = 09h,
; EBX_Bit[23..16] : MASK bit ( which bit ) , GPIO35 --> 05h
; EBX_Bit[15..8] : GPCFG1(LDN07_Index_F1h) Data = ( read value ) or 06h
; EBX_Bit[7..0] : GPSEL (LDN07_Index_F0h) Data , Port# and Pin# = 35h
; Call LOOP_GET_GPI_CARRY , get the bit to CARRY flag.
mov bl,35h ; EBX_Bit[7..0] = 35h
mov dx,Index_IO_Port ; Read Index F1h first
mov al,GPCFG1
out dx,al
mov dx,Data_IO_Port
in al,dx
or al,06h ; OR 06h
mov bh,al ; EBX_Bit[15..8]
ror ebx,10h ; Swap EBX high and low word
mov bl,05h ; EBX_Bit[23..16]
mov bh,GPDI3 ; EBX_Bit[31..24]
rol ebx,10h ; Restore the Swap of EBX high and low word
call LOOP_GET_GPI_CARRY ; call get GPDI
jc set_bit2 ; if carry , then Bit2=1
and ch,0FBh ; else Bit2=0
jmp next_bit1
set_bit2 :
or Ch,04h
next_bit1 :
; Bit2 of Ch end ---------------------------------