NAR-5050/5070 Series User
’
s Manual
37
ror ebx,10h ; Swap EBX high and low word
mov bl,07h ; 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_bit6 ; if carry , then Bit6=1
and ch,0Bfh ; else Bit6=0
jmp next_bit5
set_bit6 :
or Ch,40h
next_bit5 :
; Bit6 of Ch end ---------------------------------
; Bit5 of Ch start ------------------------------
; GPIO31 : JP3 of test module
; EBX_Bit[31..24] : GPDI3 = 09h,
; EBX_Bit[23..16] : MASK bit ( which bit ) , GPIO31--> 01h
; 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# = 31h
; Call LOOP_GET_GPI_CARRY , get the bit to CARRY flag.
mov bl,31h ; EBX_Bit[7..0] = 31h
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,01h ; 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_bit5 ; if carry , then Bit5=1
and ch,0DFh ; else Bit5=0
jmp next_bit4
set_bit5 :
or Ch,20h
next_bit4 :
; Bit5 of Ch end ---------------------------------