Hello everyone.
I am Dhaval Faria.
Welcome to Learn IT On Web. We are back after a very long break.
On this site, you will again get to learn various IT topics. Theory and Practicals along with Videos. 😀
Stay tuned, and new post coming up this week.
Comments are closed.
hello
would you please help me
I want my function to be executed instead of when the division by 0 issue
my function is (print_1) that print “M”
my code is:
[BITS 16]
[ORG 7c00h]
jmp s
;******************************
print_1:
mov al, ‘M’
mov ah, 0eh
int 0x10
ret
;***************************
s:
xor ax,ax
mov ax,0f000
mov es,ax
; for replace my subroutine into address of int0 :
mov word [es:0eef3h] ,print_1
; for divide by zero :
mov al,92
sub cl,cl
div cl
k: jmp k
times 510 – ($-$$) db 0
dw 0xaa55
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
the address 0f00:eef3 is in
int0 or divide by zero is in At the address of 0,1,2,3 of of memory and in my case 0 is “F3” , in 1 is “EE” , in 2 is “00” and in 3 is “F3”
but it not work.
of course in masm this is
mov ax,0000
mov es,ax
mov word ptr es:0002, seg print_1
mov word ptr es:0000, offset print_1
but it has error for me
`ptr’ is not a NASM keyword
comma, colon, decorator or end of line expected after operand
binary output format does not support segment base references