Welcome, Guest. Please login or register.


Author Topic: Altair BASIC (Read 30183 times)

Offline Povi

  • EP addict
  • *
  • Posts: 2296
  • Country: hu
    • http://povi.fw.hu
Re: Altair BASIC
« Reply #105 on: 2014.December.05. 20:01:58 »
Itt a 8K BASIC.

STOP bill. működik, CLOAD, CSAVE nem (vagyis a CSAVE egyelőre hexában teliírja a képernyőt), de a rendes mentés, töltés ugyanúgy működik, mint a 4k verzióban. Vicc egyébként, hogy binárisan már nem kompatibilis a két basic verzió (arra gondolok, hogy mások a tokenizált kódok), bár az is igaz, hogy a 4.32-ből nem is lehetett binárisan menteni.

elvileg hibátlan, de hátha belefut valaki valamilyen bug-ba

szerk.: ja, és itt már nem kell nagybetűvel írni...
*** Speicherplatz zu klein

Offline Povi

  • EP addict
  • *
  • Posts: 2296
  • Country: hu
    • http://povi.fw.hu
Re: Altair BASIC
« Reply #106 on: 2014.December.08. 20:20:44 »
Frissített verzió (kicsit összement, a fölösleges 00-kat kitöröltem).
A CLOAD és CSAVE parancs egyelőre kiiktatva (nem kerül végtelen ciklusba CLOAD parancs kiadásakor, amikor hiába várja az adatot a 6-os és 7-es porton).
*** Speicherplatz zu klein

Offline Lacika

  • EP addict
  • *
  • Posts: 3191
  • Country: hu
    • http://www.ep128.hu
Re: Altair BASIC
« Reply #107 on: 2014.December.08. 21:03:49 »
Ebben van PRINT USING? A leírásban van róla szó, de nekem nem működik.

Offline Povi

  • EP addict
  • *
  • Posts: 2296
  • Country: hu
    • http://povi.fw.hu
Re: Altair BASIC
« Reply #108 on: 2014.December.08. 21:36:24 »
ebben nincs
nem az extended version-ban írják, hogy van?
*** Speicherplatz zu klein

Offline Povi

  • EP addict
  • *
  • Posts: 2296
  • Country: hu
    • http://povi.fw.hu
Re: Altair BASIC
« Reply #109 on: 2015.January.15. 10:31:31 »
*** Speicherplatz zu klein

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Altair BASIC
« Reply #110 on: 2015.January.15. 22:13:44 »
Kiralysag! Nekem a comment-ek voltak szomoruak, kb ilyesmi, hogy "hany FPS a unity rajta" (ok, nem gondolta komolyan nyilvan, csak eppen ugye szomoru, hogy neki a "szamtech" mar csak ennyi), meg hogy "nem is lettem volna informatikus, ha ilyen gepek lettek volna, amikor kezdtem". Szoval a sok mai ikon buzerator :) nem is erti tulkeppen a szakmai alapjait amivel foglalkozik pedig, hogy mi van mogotte ... Ezt tartom kicsit szomorunak.

Offline Povi

  • EP addict
  • *
  • Posts: 2296
  • Country: hu
    • http://povi.fw.hu
Re: Altair BASIC
« Reply #111 on: 2015.January.16. 08:54:14 »
Hát igen, a hozzászólásokon én is meglepődtem. A mennyiségén is. Persze nyilván van benne egy kis lájkvadász feeling is, hogy miért csak ennyi, de valahol mégis csak szomorúnak tartom, hogy kevesebb, mint 50 hozzászólás jött hozzá, miközben egy 486-os, vagy C64-es retro bemutatón több 100 is. Jó, elismerem, azoknál ott van a nosztalgia-faktor is, ez meg kb. olyan, mintha egy barkácsfórumon a szakócáról írtam volna egy bemutatót, a hozzászólok 99%-a szerintem nem is élt még 1975-be (én se).
Na mindegy, készül a folytatás, az még nehezebb olvasmány lesz, még 8086 és 8080 assembly is lesz benne :-)
*** Speicherplatz zu klein

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Altair BASIC
« Reply #112 on: 2015.January.16. 16:42:30 »
Az eredeti 8080 asm syntaxtol en kiutest kapok. Probaltam mar megtalnulni, de szamomra total logikatlan es "alien". Inkabb Z80 asm-kent nezem, akkor ertem is :)

Offline Povi

  • EP addict
  • *
  • Posts: 2296
  • Country: hu
    • http://povi.fw.hu
Re: Altair BASIC
« Reply #113 on: 2015.January.16. 18:22:41 »
Az eredeti 8080 asm syntaxtol en kiutest kapok. Probaltam mar megtalnulni, de szamomra total logikatlan es "alien". Inkabb Z80 asm-kent nezem, akkor ertem is :)
Azt én is így csináltam, számomra olvashatatlan a 8080 asm :-)
*** Speicherplatz zu klein

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Altair BASIC
« Reply #114 on: 2015.January.16. 19:50:10 »
Azt én is így csináltam, számomra olvashatatlan a 8080 asm :-)

Jol jartunk, ui vmi olyasmi remlik, hogy az Intel 8080 syntaxist a Zilog (bar kb 8080 compatible) nem vihette tovabb (jogi problemak, nem tudom), ezert kitalalt egy uj syntaxist. Szerintem jol jartunk vele, most gondoljunk bele, ha maradt volna a 8080 fele, es meg megturbositva - es ezaltal tovabb bonyolitva - a Z80 "boviteseivel" a 8080-hoz kepest :) Na az meg "szebb" lett volna ...

Offline Povi

  • EP addict
  • *
  • Posts: 2296
  • Country: hu
    • http://povi.fw.hu
Re: Altair BASIC
« Reply #115 on: 2015.January.17. 22:08:08 »
Szerintem ez úgy volt, mint anno a 6501 procinál: az lábkompatibilis volt a Motorola 6800-zal, szénné is peretle a MOS-t a Motorola. Itt is ez lehetett: a Zilog nem akart egy jó kis pert a nyakába venni. (az is érdekes számomra, hogy gépi kód szintjén miért lehet kompatibilis, asm szinten meg nem, de valahol érthető is, egy assembly kód "hordozhatóbb").
*** Speicherplatz zu klein

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Altair BASIC
« Reply #116 on: 2015.January.18. 01:50:04 »
Erdekes tema ez. Ki lehet talalni Z80 gepi kodra is ujabb assembly szintaxist, attol, hogy egy tranzisztor is valtozna a Z80-ban :)
Peldaul, ha az ISA szintjen nezzuk, pl egy regiszter-regiszter kozotti adatatvitel nem igazan ugyanaz, mint amikor egy regisztert tarolni kell a memoriaban, vagy eppen onnan beolvasni. 65xx-en ezert asm-ban is tok mas neveket adtak neki (az A-val nezve most), pl LDA (LD A ..) ha memoriabol betolteni kell, STA (ST A, store), de pl TXA (transfer X->A) ha regiszterek kozott kell atvinni. Azt, hogy Z80 asm-ban ez mind "LD", az csak szintaxis kerdese, ettol meg Z80-ra is igaz lehet, hogy a sajat szintjen a "load", a "store" es a "transfer" jellegu utasitasok eleg nagy kulonbseget mutatnak, nyilvan. Vki egyszer poenkodott is vele, hogy 6502 asm-ot kb intel szintaxissal irta le, mov a,2 (LDA #2), mov a, x (TXA), es ilyesmik.

Amugy, az Z80 asm-ban (de intel is ...) mindig is zavart, hogy nincs tiszta jelzese annak, hogy most vmi konstans, vagy memoria, azaz pl:

Code: [Select]
LD A, valami
LD A, (valami)

Ok, itt a zerojel hivatott jelezni persze a dolgot, amde ott meg kifejezesekkel lehet zavar, ha pl egy nem tul fapados assembler-nel lehet azt is irni, pl:

Code: [Select]
LD A, (valami + 1) * 2
LD A, (valami + 1 * 2)

Ez most trukkos persze, de mondjuk elirtam hogy hova tegyem a zarojelet. A ketto igen mast jelent, az elsonel a zarojel csak matematikai szereppel bir, a masodiknal viszont nem, hanem az asm szintaxis resze.

En ezert szeretem 6502-nel a # jelet annak jelzesere, hogy konstans, es nem memoria:

Code: [Select]
LDA #2
LDA 2

Az elso a 2-ot, mint konstanst tolti az A-ba, a  masodik a memoriacimet. Persze, biztos van olyan, akinek meg ez nem tetszik :)

Az mondjuk pedig meg tovabb keveri a dolgot, hogy a # sok pl Z80 assemblerben a hexadecimalis jeloles, de 6502-nel nem, ott erre a $ szokas, azaz az "LDA #$FF" az mint konstanst a hex FF-et tolti be. Ez is megerne egy miset, "$", "#", "12h", "$12", jo eg, mennyi kulonbozo modszer a 16-os szamrendszer jelzesere :-P
« Last Edit: 2015.January.18. 02:25:55 by lgb »

Offline Povi

  • EP addict
  • *
  • Posts: 2296
  • Country: hu
    • http://povi.fw.hu
Re: Altair BASIC
« Reply #117 on: 2015.January.18. 09:48:13 »
és akkor még ott van a hexa jelölésre a 0xff is a C-ből...

amin én meglepődtem, hogy Linux-on a disassembláló program (nem emlékszem a nevére) nem intel szintaktikával írja ki az x86 utasításokat, hanem AT&T-el (ugye?). Vagyis a mov utasításnál a célregiszter és a forrásregiszter fel van cserélve. Logikus ez is, hogy mov ax,bx azt jelenti, hogy ax-et töltsd bx-be, nem fordítva, mint az Z80-nál, vagy intelnél.
*** Speicherplatz zu klein

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: Altair BASIC
« Reply #118 on: 2015.January.18. 13:49:57 »
és akkor még ott van a hexa jelölésre a 0xff is a C-ből...

Ezt a formátumot elfogadja az sjasm is.

amin én meglepődtem, hogy Linux-on a disassembláló program (nem emlékszem a nevére) nem intel szintaktikával írja ki az x86 utasításokat, hanem AT&T-el (ugye?).

Az objdump -d -M intel AT&T helyett Intel szintaxist használ.

Offline lgb

  • EP addict
  • *
  • Posts: 3563
  • Country: hu
  • æðsta yfirmaður
    • http://lgb.hu/
Re: Altair BASIC
« Reply #119 on: 2015.January.18. 20:19:16 »
és akkor még ott van a hexa jelölésre a 0xff is a C-ből...

Igen, ezt kifelejtettem, ugy tunik ...