Hello! I have a problem when I try to do some interrupt in assembly program. When I try to execute, executable file i get this message "Segmentation fault.". Please help? I have this problem almost all interrupts. Sorry for my bad English.

Recommended Answers

All 10 Replies

Hello! I have a problem when I try to do some interrupt in assembly program. When I try to execute, executable file i get this message "Segmentation fault.". Please help? I have this problem almost all interrupts. Sorry for my bad English.

When you execute your executable it seg faults? Well would kind of need some code to see what's going on.

Ok. I'm sorry about this little mistake. Here is a some example. I have this problem in this code:

section .text
global _start
_start:
mov ah,00h
mov al,45h
int 10h

I use OS: LINUX 32 bit and for compiler NASM.
My processor is Intel i7 940 if this would help.

If you're attempting to use the windows/dos interrupt 10 in linux then ofcourse you're going to be having problems, because you're not in windows/dos :)
You should look up the linux interrupt 80h

Hello, read this link,post #3 :
http://www.daniweb.com/forums/thread188093.html
Might be helpful to you. There are many links that can help you to initiate yourself in linux assembly. One thing i can say straight: it is not like BIOS/DOS assembly. It's easier, but still needs learning.

This is not helping me. I don't need a book like "Art of assembly" or some bullshits like this. I need to now and understand what means this error "Segmentation fault." I don`t think the hardware interrupts have anything in common with software interrupts and I think it doesn`t matter do I use DOS or Linux. Or whatever OS i use.

Well, first of all, try thinking before offending someone. You might not get help from another next time. People don't like helping jerks like you.
Secondly, yes it does matter what OS you use. At least NOW it does. What you are trying to do there is calling the kernel to execute your commands, which are not known to him. Terminal is not DOS, did you know that?

First of all I don`t need links to learn assembler. Secondary why do you think I`m so stuped like you? LAME!!! Interrupt 21h is only for DOS and with it, there is no way to set the video mode. Hardware interrupt for video mode is 10h. Interrupt 80h is only for Linux. And I don't that kind of your help and your help is not helpful for me. I just need to now and understand what mean "Segmentation fault!".

I'm not going to respond to a fool by his foolishness.

You just did it. Second I don't need your answer because is useless.

Have you reded the things which you send me? If you do please tell me where you exacly see Explanation about "Segmentation fault". Maybe no where.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.