Toon posts:

W32ASM & VB ??

Pagina: 1
Acties:

Verwijderd

Topicstarter
Heb ik hier een vraagje waar ik eigenlijk weinig over kan vinden. Het is groottendeels nieuwsgierigheid waarom ik dit vraag en niet echt om het uit te voeren.

Vroeger deed ik in Hpascal heel vaak stukjes Asm code er doorheen

Asm{ mov cx,18h
int 21h
}

Ofziets ongeveer (Is maar een voorbeeldje :))

Nu wilde ik weten of er ook zoiets is voor VB, dat
je dus gewoon Asm code dwars door je vb code heen kan gebruiken. Ik denk zelf dat het niet kan maar aangezien dat ik niks kan vinden dat het bevestigd of ontkent.

:? Of praat ik nu kwats :?

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

edit: Topix parsed hem niet meer? :?

Heb je al op de site van MS gekeken?

Verwijderd

Je kan geen inline-asm-code gebruiken.
Wil je echt een asm-functie schrijven, dan zou je daar een Dll van moeten maken en die aanroepen...

Verwijderd

Topicstarter
Thnx voor de snelle reply's... :D

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 15-09 22:39
De combinatie VB en ASM is een hele verkeerde. :)

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • kvdveer
  • Registratie: November 2000
  • Laatst online: 06-11-2025

kvdveer

Z.O.Z.

combinatie VB - * is een hele verkeerde... ;-)

Probleem is dat VB geen echte machine code genereert, maar een halfgecompileerde variant, die later door de runtimer wordt geinterpreteerd.
Om die reden zijn ook callbacks vanuit DLL's een hel.

Localhost, sweet localhost


Verwijderd

Zijn jullie klaar? ga dan maar weer buiten knikkeren...

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 15-09 19:11

Crazy D

I think we should take a look.

Op vrijdag 04 januari 2002 13:49 schreef Debbus het volgende:
Zijn jullie klaar? ga dan maar weer buiten knikkeren...
:D
't Is moeilijk te accepteren dat VB ondertussen wel gewoon echte exe's maakt ;)

Exact expert nodig?


Verwijderd

Op vrijdag 04 januari 2002 14:16 schreef CrazyD_at_work het volgende:

[..]

:D
't Is moeilijk te accepteren dat VB ondertussen wel gewoon echte exe's maakt ;)
Is zeker moeilijk te accepteren aangezien dit gewoon niet waar is. Je zit nog steeds met die runtime. Je hebt geen Win32 exe met VB welke gewoon zonder VB Runtime draait. VB Compiler maakt gewoon nog steeds fijne pseudo-code.
Afgezien hiervan: topicstarter stelt bovenin dat hij HPascal gebruikte, waarom dus geen Delphi? Kun je het lekker wel!
code:
1
2
3
4
5
6
7
8
9
10
  procedure KanIkAsm(const Value: Boolean);
  begin
    if Value then
    asm
    push eax, $04;
    call blabla;
    end
    else
    DoSomethingElse;
  end;

Als je natuurlijk gebonden bent aan VB dan kun je deze posting beter als niet verzonden beschouwen.

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 15-09 19:11

Crazy D

I think we should take a look.

Op vrijdag 04 januari 2002 14:43 schreef hvdberg het volgende:
Is zeker moeilijk te accepteren aangezien dit gewoon niet waar is. Je zit nog steeds met die runtime. Je hebt geen Win32 exe met VB welke gewoon zonder VB Runtime draait. VB Compiler maakt gewoon nog steeds fijne pseudo-code.
Dan moet je je project options eens goed zetten :P 't Is misschien nog net geen echt native exe, maar tis zeker geen pseudo code meer. Die vbruntime heb je nodig omdat daar je buildin functies inzitten, tis geen virtual machine (meer)... Maar dat gaat wel wat offtopic...

Exact expert nodig?


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 15-09 22:39
Op vrijdag 04 januari 2002 13:49 schreef Debbus het volgende:
Zijn jullie klaar? ga dan maar weer buiten knikkeren...
:?

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 03-09 16:40
Knikkeren heerst...

En verder, leg dat VB runtime verhaal nog is even wat meer uit, want voor zover ik weet bakt VB een exe. Of zit in die exe een aanroep naar een of ander geval wat vervolgens de code gaat interpreteren? Uhm... Lijkt me sterk.

Maar ik doe eigenlijk niet zoveel met VB.

Verwijderd

Op vrijdag 04 januari 2002 20:01 schreef The - DDD het volgende:
Of zit in die exe een aanroep naar een of ander geval wat vervolgens de code gaat interpreteren? Uhm... Lijkt me sterk.
Hangt van je compilatie af, als je 'm naar P-code compileerd wordt het idd ook binnen de exe file interperted, als je compileerd naar native zal ie gewoon i386 code uit kakken.

  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 03-09 16:40
Weer wat geleerd.

Verwijderd

Op vrijdag 04 januari 2002 16:22 schreef farlane het volgende:
:?
Het afzeiken van een andere programmeer-taal vind ik errug kinderachtig... en kleuters associeer ik met knikkeren...

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 15-09 22:39
Op vrijdag 04 januari 2002 21:12 schreef Debbus het volgende:
Het afzeiken van een andere programmeer-taal vind ik errug kinderachtig... en kleuters associeer ik met knikkeren...
Dan heb je mijn reply niet goed gelezen of niet goed begrepen. Ik zeik ASM noch VB af. Ik heb het over de combinatie van die twee.

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Verwijderd

Waar wilde je t eigenlijk voor gebruiken? :)

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

mode 13h graphics :P

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 11:21

Janoz

Moderator Devschuur®

!litemod

Op vrijdag 04 januari 2002 21:12 schreef Debbus het volgende:

[..]

Het afzeiken van een andere programmeer-taal vind ik errug kinderachtig... en kleuters associeer ik met knikkeren...
Owh.. bedoelde je het zo... Ik associeer VB altijd met kleuters :P

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Mr. B.
  • Registratie: Mei 2000
  • Niet online
Op zaterdag 05 januari 2002 23:30 schreef OiSyN het volgende:
mode 13h graphics :P
code:
1
2
mov ax,13h
int 10h

... wil idd niet zo in VB ;)
(320x200x256... good old times :+)

Weet niet meer of dit stukje asm helemaal correct is... * Mr. B. B. heeft al veel te lang niet meer in DOS geprogd en is tevens niet helemaal (correctie: helemaal niet) meer nuchter @ the moment :P

StatBar.nl - @GoT

Het verschil tussen theorie en praktijk is in de praktijk altijd veel groter dan in theorie.


  • Mr. B.
  • Registratie: Mei 2000
  • Niet online
dat was dus quote ipv edit :(

StatBar.nl - @GoT

Het verschil tussen theorie en praktijk is in de praktijk altijd veel groter dan in theorie.


Verwijderd

Op vrijdag 04 januari 2002 15:09 schreef CrazyD_at_work het volgende:

[..]

Dan moet je je project options eens goed zetten :P 't Is misschien nog net geen echt native exe, maar tis zeker geen pseudo code meer. Die vbruntime heb je nodig omdat daar je buildin functies inzitten, tis geen virtual machine (meer)... Maar dat gaat wel wat offtopic...
Moet jij maar eens een VB6 exe distribueren met behulp van InstallShield! Wat wordt daar als merge module meegeleverd; jawel, VB6 Virtual Machine!

Of dit nu alleen in naam is of echt een virtual machine maakt mij geen f*k uit, feit blijft dat dat ding geïnstalleerd moet zijn om je exe's te draaien!

En feit blijft: Net geen native exe is gewoon geen native exe, klaar, simpel (beetje het halve waarheid is een hele leugen verhaal).

Maar dit alles wordt behoorlijk offtopic.

Verwijderd

Op maandag 07 januari 2002 09:23 schreef hvdberg het volgende:
En feit blijft: Net geen native exe is gewoon geen native exe, klaar, simpel (beetje het halve waarheid is een hele leugen verhaal).
Het is net zo native als een vc applicatie waar je MFC moet meeleveren...

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

Op maandag 07 januari 2002 09:23 schreef hvdberg het volgende:
En feit blijft: Net geen native exe is gewoon geen native exe, klaar, simpel (beetje het halve waarheid is een hele leugen verhaal).

Maar dit alles wordt behoorlijk offtopic.
Idd, maar het leuke is dat je in VB wel naar native code kunt compilen, dus je hebt wel een native exe

Die runtime is gewoon een dlletje met functies, die die native exe nodig heeft (net als bijvoorbeeld kernel32.dll nodig is, alleen die heeft iedereen standaard al)

En idd, zoals Yarvieh al zei, als je een MFC app bouwt en je linkt MFC dynamisch, dan heb je ook een runtime dlletje nodig, maar het blijft nog steeds een native exe

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Verwijderd

Wat ik me opeens bedacht, vroeger (MSX-BASIC) kon je zoiets als:
code:
1
2
3
4
10 Poke &HC000, &H3E
20 Poke &HC001, &H0E
30 Poke &HC002, &HCD
40 DefUsr = &HC000

Je kon dan zelfs met behulp van het DATA, READ en nog wat commando's brokken machine-code in het geheugen laden en uitvoeren.
'k Vroeg me dus ff af of dit nog kon in VB, zal denk ik niet, maar wie weet...

  • Mr. B.
  • Registratie: Mei 2000
  • Niet online
Op woensdag 09 januari 2002 09:55 schreef hvdberg het volgende:
Wat ik me opeens bedacht, vroeger (MSX-BASIC) kon je zoiets als:
code:
1
2
3
4
10 Poke &HC000, &H3E
20 Poke &HC001, &H0E
30 Poke &HC002, &HCD
40 DefUsr = &HC000

Je kon dan zelfs met behulp van het DATA, READ en nog wat commando's brokken machine-code in het geheugen laden en uitvoeren.
'k Vroeg me dus ff af of dit nog kon in VB, zal denk ik niet, maar wie weet...
Nope... gaat met VB niet zomaar.
Ik heb wel ooit een voorbeeldprojectje gevonden waar iemand op een hele sneaky manier een window procedure naar een stuk machinetaal in het geheugen liet wijzen (oid, ik weet niet meer precies hoe het gedaan was), waardoor je dus ook vanuit VB machinetaal kon gebruiken. Het was iig behoorlijk omslachtig :)

StatBar.nl - @GoT

Het verschil tussen theorie en praktijk is in de praktijk altijd veel groter dan in theorie.


  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 14-09 17:42

Gerco

Professional Newbie

Wat je ook op de MSX veel zag is een stuk machinecode in een string prakken en dan jumpen (sys(adres)) naar varptr(string).

Zoiets moet in VB ook mogelijk zijn, je gebruikt dan wel BSTR's, maar als je een beetje met de pointers gaat goochelen (hebben ze al voor je gedaan, een ByVal string is gewoon een char*) dan kun je een stuk machinecode laten executen als je een manier vind om ernaartoe te jumpen.

Tot nu toe heb ik daar nog geen andere methode voor gezien dan een dll in c die de machinecode in de string aanroept en weer returned, vanuit VB kun je geen code op een willekeurig adres uitvoeren helaas.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Verwijderd

Op woensdag 09 januari 2002 21:55 schreef Gerco het volgende:
Tot nu toe heb ik daar nog geen andere methode voor gezien dan een dll in c die de machinecode in de string aanroept en weer returned, vanuit VB kun je geen code op een willekeurig adres uitvoeren helaas.
jmp ffff:0 :P

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

in qb had je nog de functie CALL ABSOLUTE :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • bobo1on1
  • Registratie: Juli 2001
  • Laatst online: 19-10-2025
Weet er iemand dan een basic compiler zoiets als vb alleen waarvoor je die stomme runtime shit niet nodig heb?

Impedance, a measure of opposition to time-varying electric current in an electric circuit.
Not to be confused with impotence.


  • esmit
  • Registratie: Augustus 2001
  • Laatst online: 02:57
Dit kan wel in VB!

VB.NET!

*sig*


Verwijderd

Op donderdag 10 januari 2002 00:24 schreef esmit het volgende:
Dit kan wel in VB! VB.NET!
Het draadje is nogal wat kanten op geschoten waar doel je precies op met "dit" ? Het direct uitvoeren van asm instructies lijkt me sterk aangezien vb.net volgens mij geen unsafe code support?

  • johnwoo
  • Registratie: Oktober 1999
  • Laatst online: 14:14

johnwoo

3S-GTE

Op donderdag 10 januari 2002 00:31 schreef Yarvieh het volgende:

[..]

Het draadje is nogal wat kanten op geschoten waar doel je precies op met "dit" ? Het direct uitvoeren van asm instructies lijkt me sterk aangezien vb.net volgens mij geen unsafe code support?
Haha :D sorry voor deze nutteloze reply, maar ik vond dit wel een grappige uitdrukking :D Alsof unsafe code een feature is :D

4200Wp ZO + 840Wp ZW + 1680Wp NW | 14xIQ7+ + 1xDS3-L | MTVenusE | HWP1


Verwijderd

de andere 2 talen (C#/C++)uit visual studio.net kunnen het wel dus ik vind het wel onder features vallen :?

  • tomato
  • Registratie: November 1999
  • Niet online
Het kunnen uitvoeren van unsafe code vind ik gewoon een feature (maar daar ben ik echt niet de enige in ;)).

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
tomato: Het kunnen uitvoeren van unsafe code vind ik gewoon een feature
Misschien moet je het zien als een feature die bewust niet onmogelijk is gemaakt ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • .oisyn
  • Registratie: September 2000
  • Laatst online: 00:42

.oisyn

Moderator Devschuur®

Demotivational Speaker

het is gewoon een bug, en omdat ze geen zin hebben om het op te lossen noemen ze het een feature ;)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
OiSyN: het is gewoon een bug, en omdat ze geen zin hebben om het op te lossen noemen ze het een feature ;)
LOL :D . Foutje in de parser ;) . Oeps, de type-checker accepteert het ook! ... Aih Aih, er wordt ook nog correcte code gegenereerd ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


Verwijderd

Op woensdag 09 januari 2002 22:35 schreef bobo1on1 het volgende:
Weet er iemand dan een basic compiler zoiets als vb alleen waarvoor je die stomme runtime shit niet nodig heb?
Jawel, ik had QuickBasic 4.10 (dus niet QBasic 1.x die bij DOS/WinNT4 wordt meegeleverd) maar die compiled geen VB, maar wel BASIC.
Pagina: 1