Problem in ax or bx register values....
condition is not working in both cases true or false it is jumping to DMA_N
; Check DMA is present or not
dosseg
.model small
.stack 100h
.data
int 11h
DMA_ON db 'DMA_Present', 0dh, 0ah, '$'
DMA_OF db 'DMA_NOT_Present', 0dh, 0ah, '$'
.code
main proc
mov ax,@data
mov ds,ax
;to check bit number 8 in ax
mov bx,100h
and bx,ax
cmp bx,0 ; if i change : cmp bx,1
jne DMA_N ; In both cases 0 or 1 it jumps to DMA_N ?
mov ah,9
mov dx,offset DMA_OF ;DMA is not persent
int 21h ; Print the character
DMA_N:
mov ah,9
mov dx,offset DMA_ON ;DMA is persent
int 21h ; Print the character
mov ax,4C00h ;terminate program
int 21h
main endp
end main