Sida 1 av 1

Assembler i linux, motsvarighet till 21h? [LÖST]

Postat: 31 jan 2008, 14:11
av steqve
Hej!

Nu är det väl ingen vettig människa som fortfarande använder det språket. Men jag är väldigt förtjust i det :)

Jag skulle behöva en bra guide till hur man börjar programmera under linux. T.ex hur ersätter man de tidigare int 21h anropen?

Finns det fler här som sysslar med assemblerkodning?

SV: Assembler i linux

Postat: 31 jan 2008, 14:40
av Jarulf
Har sysslat med assemblerprogrammering litegrann, visserligen bara i Windows, men jag har svårt att förstå ditt problem. Assembler programmeras mot hårdvara, så alla anrop ska vara samma oavsett vilken plattform man programmerar på.

SV: Assembler i linux

Postat: 31 jan 2008, 14:51
av Lars
Jag antar att int 21h och liknande inte fungerar under Linux, det är väl DOS-specifikt väl? Och int 10h är mot BIOS? Oj oj oj, det var längesedan det där :) Linux Assembly HOWTO är gammal, men den kanske fungerar ändå ...

SV: Assembler i linux

Postat: 31 jan 2008, 15:11
av kra
Jag förslår en titt på board.flatAssembler.net,
De har bra stöd för både windows och linux.
Det finns ett bibliotek FASMLIB som funkar på
båda platformarna. Forumet befolkas av allt från
rena hackers (lever för ASM) samt rena nybörjare.

SV: Assembler i linux

Postat: 31 jan 2008, 17:34
av steqve
Lars hängde med :)

Int10 är ju rena BIOS calls, men int21h är ju specifika interruptvektorer. Int 21h programmeras upp i DOS/Windows. Huruvida int21h är mappad i linux vet jag ej, men om det är så lär det ligga andra anrop än dem för windows under dem. En guide till interrupten vore ju fin.

Jag vill minnas att en gammal kollega pratade om 0x80 istället för 0x21h...



Och det stod så fint i exemplet i HOW-TO:n. "Call kernel = 0x80"

SV: Assembler i linux

Postat: 31 jan 2008, 18:10
av DrMegahertz
Visst är det 80h som du söker, och för att veta vilket värde som hör ihop med vilken funktion så kan du kika i den här tabellen; http://docs.cs.up.ac.za/programming/asm ... calls.html

Värdet i EAX bestämmer alltså vilken funktion det är du vill anropa, som enligt mig är mycket smidigare än att använda olika interrupt-nummer för varje funktion! ;)

SV: Assembler i linux, motsvarighet till 21h?

Postat: 08 feb 2008, 14:29
av steqve
Hm, finns det någon go IDE att använda?

Det här var ju riktigt roligt :)