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

Här diskuteras programmering och utveckling
steqve
Inlägg: 155
Blev medlem: 06 feb 2007, 20:23

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

Inlägg 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?
Senast redigerad av 1 DrMegahertz, redigerad totalt 31 gånger.
Användarvisningsbild
Jarulf
Inlägg: 604
Blev medlem: 04 feb 2007, 22:46
OS: Ubuntu
Ort: Skellefteå
Kontakt:

SV: Assembler i linux

Inlägg 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å.
Bild
Lars
Inlägg: 6191
Blev medlem: 14 jan 2007, 19:31
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Stockholm

SV: Assembler i linux

Inlägg 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å ...
kra
Inlägg: 1
Blev medlem: 31 jan 2008, 14:49

SV: Assembler i linux

Inlägg 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.
steqve
Inlägg: 155
Blev medlem: 06 feb 2007, 20:23

SV: Assembler i linux

Inlägg 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"
Senast redigerad av 1 steqve, redigerad totalt 31 gånger.
Användarvisningsbild
DrMegahertz
Inlägg: 296
Blev medlem: 06 maj 2006, 14:37
OS: Ubuntu
Utgåva: 14.04 Trusty Tahr LTS
Ort: Södra Dalarna

SV: Assembler i linux

Inlägg 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! ;)
BildAre you shpongled? Bild
steqve
Inlägg: 155
Blev medlem: 06 feb 2007, 20:23

SV: Assembler i linux, motsvarighet till 21h?

Inlägg av steqve »

Hm, finns det någon go IDE att använda?

Det här var ju riktigt roligt :)
Skriv svar

Återgå till "Programmering och webbdesign"