Avatar billede cms Nybegynder
20. august 2001 - 22:35 Der er 34 kommentarer og
2 løsninger

TASM filer

Hvor får jeg fat i:

tasm.exe
tasmx.exe
tasm32.exe
tlink.exe
tlink32.exe

og eventuelt:
brcc32.exe (følger denne ikke med delphi?)
td.exe
tdw.exe
td32.exe

De skal helst være i version 5.0
Avatar billede cms Nybegynder
20. august 2001 - 22:36 #1
i øvrigt: hvor får jeg fat i et program, der kan oversætte/overføre assembler til ti83 ?
Avatar billede microtec Nybegynder
20. august 2001 - 22:58 #2
Du skal have fat i en Turbo Pascal eller Borland professionel.

Så vidt jeg ved er de ikke public domain, da Turbo Pascal stadig sælges.

Du kan købe en fuld version af Turbo Pascal 7.0 hos www.ravenholm.dk for 989 Kr.
Den har vare-nr. 28759
Avatar billede nico26 Nybegynder
20. august 2001 - 23:01 #3
brcc32 følger med delphi
Avatar billede cms Nybegynder
20. august 2001 - 23:07 #4
jeg har da vist en gammel Turbo Pascal 7.0 liggende på disketter et sted... men hvilken version af tasm er det? det er vel ikke den 32-bit... ?
Avatar billede cms Nybegynder
20. august 2001 - 23:08 #5
nej jeg tror det er en Borland Pascal 7.0 og en Turbo Pascal 6. Kan det passe?
Avatar billede microtec Nybegynder
20. august 2001 - 23:15 #6
Det er en 16-bit version. den er ældre end Win-95 *s*
Avatar billede martinlind Nybegynder
21. august 2001 - 09:33 #7
Du kan hente gamle versioner på borland.com, de har TP55 gratis, og sikkert også tasm
Avatar billede microtec Nybegynder
21. august 2001 - 10:42 #8
Til information, skal man oprette sig på http://community.borland.com/museum for at kunne downloade den gamle TP55.

Så vidt jeg husker var tasm ikke en del at standard Pascal pakken, men jeg kan huske forkert.
Avatar billede cms Nybegynder
21. august 2001 - 16:05 #9
jeg har installeret tasm i den ide jeg havde downloadet, og det virker. men det er jo kun 16-bit, som I selv skriver.
Nu skal jeg i første omgang kun bruge det til en ti83, som kører 16-bit på chipset 80 (tror jeg, eller er det helt forkert??).
men jeg ville jo også gerne kunne kompilere 32-bit til windows. hvordan?
Avatar billede microtec Nybegynder
21. august 2001 - 16:32 #10
Så vidt jeg ved har Borland ikke lavet en 32-bit Tasm.
Det er vel heller ikke assembleren, der afgør om din kode kan afvikles på en 32-bit platform. Det er din egen kode, der afgør det.

Er det ikke lidt teoretisk at lave et 32-bit program i assembler? Der findes masse af høj-niveau sprog, som kan gører det (bedre).
Avatar billede cms Nybegynder
21. august 2001 - 17:04 #11
Det er også lidt forvirrende, for jeg vil gerne flere ting. Dels vil jeg skrive nogle programmer/spil til min TI-83. De skal skrives i assembler før lortet går stærkt nok. Det går ikke at bruge den indbyggede Basic-fortolker.
Dels vil jeg gerne kunne lave mit eget program, der kan oversætte nogle kommandoer til assembler og derfra til rå maskinkode. Specielt sidste del ved jeg ikke hvordan gøres.
Avatar billede microtec Nybegynder
21. august 2001 - 17:11 #12
Jeg læser det som om du vil lave et 32-bit program, der f.eks. skal afvikles under Windows.

Glem alt om at gører det i assembler. Du skal være mere langhårdet en de fleste langhårede nørder for at vil lykkes for dig.
Man bruger idag ikke assembler til f.eks. Windows, med mindre der et helt specielle forhold, som gør det umuligt at bruge et højniveau-sprog (f.eks. hastighede).

Du bør lave det i er højniveau-sprog som C, C++, Visual Basic eller Delphi (Pascal).
Avatar billede cms Nybegynder
21. august 2001 - 17:12 #13
og de sidste to linjer handlede ikke om regnemaskiner.
Avatar billede cms Nybegynder
21. august 2001 - 17:19 #14
Jeg har downloadet en TASM ide med eksempler på hvordan man laver en 16-bit applikation, der kan afvikles under windows. Den består af et enkelt vindue med en menu. Den bruger funktioner fra gdi32.dll, kernel32.dll, user32.dll osv. Så det kan godt lade sig gøre.
Men jeg aner intet om hvordan man oversætter fx den meget simple kommando

mov ax, bx

til maskinkode... Dvs jeg ved faktisk intet om den del. Nogen forslag?
Avatar billede cms Nybegynder
21. august 2001 - 17:22 #15
og du har helt ret i at det er hastigheden der er vigtig. og problemet er ikke at delphi eller c ikke kan gøre det hurtigt nok. det skal bruges til script-fortolkning, som jo unægteligt foregår hurtigere når det er en selvstændig exefil, der eksekveres.
Avatar billede microtec Nybegynder
21. august 2001 - 19:07 #16
cms >> Jeg sagde ikke at det ikke kunne lade sig gører, men du kan ikke lave ret store programmer i assembler når vi taler Windows.
Du kan lave programmer i f.eks. Delphi, som er lige så hurtige som programmer skrevet i assembler (jeg har prøvet).
I dag skriver man programmet i et højniveau-sprog og laver så små rutiner i inline-assembler (10-25 linie kode).

Når jeg taler om hastighed er det f.eks. HW-drivere jeg mener. Man vil ikke give sig til at lave en script-fortolker i assembler.

PS: Delphi laver også selvstændige exe-filer.
Avatar billede cms Nybegynder
21. august 2001 - 19:33 #17
Jeg har ikke forklaret godt nok. Jeg ved ikke om du kender DelphiWebScript, et opensource scriptsprog. Fortolkeren/compileren hvad man nu vil kalde den er skrevet i Delphi. Når man kører sit script er det en række objekter der kører nogle methods vhja. VMT osv.
Dette er langsomt.

Jeg vil lave en \'udvidelse\' til dws, som i stedet kompilerer scriptet til en exefil, som så kan køres.

Da jeg ikke har licens til Delphis compilere el. noget lignende kan jeg jo ikke bruge Delphi til at lave exefilerne.
Avatar billede cms Nybegynder
21. august 2001 - 19:39 #18
sagt på en anden måde: exefilerne skal laves af et program, runtime. der er ingen nåde. desuden skal programmerne jo så heller ikke være særligt store...

men tilbage til mit oprindelige spørgsmål: jeg mangler stadig tasm32.exe, altså 32-bit versionen af tasm.exe
derudover mangler jeg turbodebugger-filerne, og det skal jo så også være 32-bit (td32.exe)
Avatar billede microtec Nybegynder
21. august 2001 - 20:35 #19
Så må du til lommerne, da tasm32.exe mv. ikke er frigivet til Poblic Domain.
Avatar billede microtec Nybegynder
21. august 2001 - 20:41 #20
PS: Jeg mener stadig du vælger det forkerte værktøj til udvikling af 32-bit applicationer.

Delphi, C-Builder eller C++ er mere rigtige værktøjer til dit formål.

Lige en sjov ting. Delphi er faktisk skrevet i Delphi (ikke i assembler). Delphi er en hurtig compiler, så jeg tror ikke på at du selv kan lave det bedre i assembler :o)
Avatar billede cms Nybegynder
21. august 2001 - 21:23 #21
okay.

Jeg skriver jo ikke compileren i assembler for pokker :-) Jeg skriver compileren i Delphi. Men compilerens output skal jo for pokker være maskinkode.
Avatar billede microtec Nybegynder
21. august 2001 - 21:43 #22
Nu eksploderer manden snart :o)

Jeg var med på at den var i Delphi i dag, men dit \"Dette er langsomt\" opfattede jeg som du ville prøve at lave den hurtigere i assembler.

Ok, jeg har fattet det nu.
Avatar billede cms Nybegynder
21. august 2001 - 21:50 #23
glædeligt :-) jeg får vist aldrig nobelprisen i formidling *g*

anyway. lige på falderebet: ved I hvor jeg kan finde information om hvordan jeg skriver asm til ti83 ?
Avatar billede microtec Nybegynder
21. august 2001 - 22:30 #24
Jeg har ikke selv nogen erfaring, men der står lidt på www.ti83.dk

Prøv også at lave denne søgning http://www.alltheweb.com/search?cat=web&lang=any&query=%2B%22ti83%22+%2Bassembler
Avatar billede delphi Nybegynder
29. august 2001 - 09:36 #25
Et lille delayed svar:

Der er ingen der siger at man absolut SKAL benytte borlands, iøvrigt absolut fine Assembler produkt, ider der er mange andre på markedet man kan downloade.  Tag fx. et kig på A86 http://eji.com/a86/index.htm (og den tilhørende debugger D86). 


>Men jeg aner intet om hvordan man oversætter fx den meget simple kommando
>mov ax, bx


Oversættelse fra ASM til maskincode er basalt set en øvelse i tabelopslag.  som input skal man vide hvilken ASM instruktion og hvilken mode der er tale om, samt hvilke argumenter der er til instruktionen. Som output får man så en eller flere HEX værdier = maskincodes.  Jeg kan i denne sammenhæng varmt anbefale at du får fat i en assembler bog - eller som minimum en Assembler Quick reference, hvilket så absolut må være muligt på nettet.

Hvis du vælger at begrænse dit programs muligheder, kan du vælge at lave en lille liste af tilladte instruktioner, fx. den omtalte \"mov AX, BX\".  Uden dokumentation eller assembler, kan du nemmest få oplyst makinkoden til de aktuelle instruktion med Delphi. 
Fremgangs måden er som følger:

1: Opret et nyt Delphi project.
2: Plant en button på formen.
3: I dens onClick event skriver du den ønskede ASM code, fx:

    procedure TForm1.Button1Click(Sender: TObject);
    Begin
      Asm
        Push AX
        Mov AX, BX
        POP AX
      end;
    end;

4: Sæt et breakpoint på første linie i metoden, dvs. \"Push AX\"
5: Kør programmet og tryk på knappen.
6: Vis nu CPU debug window\'et i Delphi\'s IDE (View->Debug Windows->CPU)
7: Du kan nu direkte se maskincode instruktionerne der matcher dine ASM linier:

Unit1.Pas.29: Push AX
0043F054 6650            push ax
Unit1.Pas.30: Mov AX, BX
0043F056 6689D8          mov ax,bx
Unit1.Pas.31: POP AX
0043F059 6658            pop ax
^^^^^^^^ ^^^^^^          ^^^^^^
Adresse  ||||||            ||||
      Maskincode          ||||
                      Delphi Line

Disse klippe-klistrer du så over i dit program...

Iøvrigt kan du få en liste over Delphis supportede upcodes ved at gå ind i Delphi on-line hjælpen og søge på \"Instruction opcodes\"

Endeligt, så er der mange resourcer på nette, fx: http://www2.dgsys.com/~raymoon/asmlinks.html eller  http://cis.csuohio.edu/~somos/asmx86.html hvor man kan finde megamange links vedr. ASM programering. 


PS: Borlands TASM er forresten en 16/32 bit assembler - godt nok er programmet skevet i 16 bit, men kan sagtens lave 32 bit programmet til Win32 incl. WinNT.


Peter
Avatar billede delphi Nybegynder
29. august 2001 - 09:38 #26
Ekspertens muligheder for at lave noget fornuftig formatering skoder....  Håber at mine ^^^tegn mv. aligevel giver en form for mening...

Peter
Avatar billede cms Nybegynder
29. august 2001 - 10:46 #27
det lyder meget spændende. et enkelt spørgsmål, når du skriver modes, hvad mener du så?
og et enkelt spørgsmål til: er oversætningen af opcodes til maskinkode afhængig af om det fx er en z80 eller en pIII processor?
Avatar billede delphi Nybegynder
29. august 2001 - 11:07 #28
Vedr. modes:

Du ER nødt til at få fat i en Assembler lære bog eller følge en online tutorial.  Kort fortalt så dækker ordet modes over hvorledes processoren skal fatte en specifik instruktion.  Her er et eksempel med tre næste enslydende assembler instruktioner:

  Mov AX, 0xFFFF ; Immidiate mode - Load hex værdien FFFF ind i register AX
  Mov AX, BX    ; Direct mode - Load register AX med indhold af register BX
  MOV AX, [BX]  ; Indirect mode - Load register AX med indhold af den memoryadresse der er placeret i register BX


Som du ser er der tale om den \'samme\' instruktion, dvs. \"Mov\" og første argument er hver gang register AX.  Forskellen ligger i andet argument - fortolkningen af dette argument viser hvilken \'mode\' der er tale om. Hver linie resulterer derfor i hver sin maskincode værdi.
Intels CPU har så vidt jeg hukser noget i retning af 7 (?) programming modes, dog er de tre viste nok de hyppigst anvendte.
 

Der er stor forskel på opcodes til to forskellige processor (familier).  Der er således absolut ingen sammenhæng mellem Z80 og Pentium (dvs. 80x86 familiens) processore.

Du kan med garanti downloade mange freeware Z80 compilere på nettet.  Prøv evt at finde en med Morpheus.

Peter
Avatar billede microtec Nybegynder
29. august 2001 - 11:24 #29
cms >> Tak for point. Held og lykke med dit projekt.
Ja, der er meget stor forskel på opcodes til forskellige processore. Hver familie har sine egne opcodes.
Jeg sidder f.eks. med en PIC16F84. I den hedder det ikke en accumulator men W-reg. Det betyder at alle opcodes der vedrører w-reg. hedder noget med W f.eks. movw.

delphi >> Der er da vist en gammel assembler-programmør mere *s*
Avatar billede delphi Nybegynder
29. august 2001 - 11:30 #30
Tjaa.... selvom jeg for tiden gør mest i Atmel assembler....

Listen af CPU\'er, som jeg har rodet med assembler på, går tilbage til Intels 8008...  Det må ha\' været i 1980 +/- et par år..  Den gang var jeg ca. 14!

Peter
Avatar billede cms Nybegynder
29. august 2001 - 14:34 #31
Takker :-)
Avatar billede microtec Nybegynder
29. august 2001 - 14:58 #32
delphi >> En 14 årig knægt, der legede med en 8080 (må det være) i 1980. Det må jeg sige. Så vidt jeg ved sad der ikke 8080 i nogen af de små computere fra den gang.

Jeg har nogenlunde samme alder og startede også ca. samme tid.

- Da hed det ZX81 med en Zilog Z80.
- Derefter assembler til 6502 på Commodore-64
- Da jeg kom i lære var det en 8080 på et udviklingskit (ælgammel selv i 1984).
- Senere blev vi så moderne at det blev Intel 8031.
- Senere fik jeg en PC XT med en 8086, hvor der også blev programmeret assembler.

I dag programmerer jeg kun assembler til embeddede applicationer med PIC-familien og 8031/51

Lidt sjovt at vi har næsten samme alder og \"udviklings-forløb\" :o)
Avatar billede delphi Nybegynder
29. august 2001 - 15:21 #33
Jo ca. 14 år....  nørdet før begrebet var opfundet og jeg vidste det ikke en gang selv.  Mine venner gjorde det jo også...

Jeg skrev iøvrigt 8008, ikke 8080...  Det var et CPU kit, som en af mine storebrors venner havde - han var ingeniør studerende og har ved nærmere eftertanke haft en voldsom indflydelse på mit senere liv.  Han havde igen fået det af sin far, som var udviklings et-eller-andet på ELSAM (Ja, jeg er opvokset i skyggen af Skærbækværkets - det eneste danske ord med tre æ\'er -  skorsten).

Min første computer var iøvrigt en ZX80 (ikke ZX81), som jeg fik af selvsamme ven til min storebror.  ZX80 var et hjemmebygger kit, som Sinclair solgte pr. mailorder.  Så vidt jeg husker var det iøvrigt også til den man kunne købe en hukommelses udvidelse, der var hammer smart idet den også kunne benyttes til ZX81.  Med et slag blev hukommelsen fordoblet fra 1 to 2 kByte - se det var sager!

Derefter var det VIC-20, CBM-64, CBM-PET, CBM-128, PC, AMIGA-2000, PC, PC, PC, PC ..... plus div. embeddede CPU\'er, såsom Siemens 8031 serien (80535 så vidt jeg husker), PIC\'s, Atmel etc.  Man bliver jo helt melankolsk.

Peter
Avatar billede delphi Nybegynder
29. august 2001 - 15:22 #34
8008 er en efterkommer af Intels 4 bit CPU 4004, som dog aldrig har set.  Deres første 8 bit CPU så vidt jeg hukser.
Avatar billede microtec Nybegynder
29. august 2001 - 15:29 #35
Jeg trode 8008 var en skrivefejl. Den har jeg sgu aldrig hørt om :o)

Jeg har faktisk også bygget en ZX-80 for en anden, så den kan jeg godt huske. Den var i hvidt kabinet, hvor ZX-81 var i sort.

Hold op, hvor føler jeg pludselig gammel. Utrolig, hvad der er sket de sidste 20 år.
Avatar billede wired Nybegynder
26. januar 2003 - 22:03 #36
Fik nu nogensinde fat i Tlink32 og Tasm32?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester