Enterprise Forever  |  :HUN  |  Programozás  |  Topic: Assembly programozás
Author Topic: Assembly programozás  (Read 35835 times)« previous next »
Zozosoft
EP addict
*
Online Online

Hungary

Posts: 5611




View Profile WWW
New Posts
« on: 2005.December.23. 11:35:37 »

Ide jöhet mindenféle kérdés-válasz a témában Smiley

Elsőként EPROM lebegés vizsgáló Povinak:
[asm]
          ORG 1000H
          LD A,SZEGMENSSZAM
          OUT (0B1H),A
          LD HL,4000H
          LD B,L
LEBEG1    LD A,(HL)
LEBEG2    CP (HL)
          RET NZ
          DJNZ LEBEG2
          INC HL
          BIT 7,H
          JR NZ,LEBEG1
          RET
          END
[/asm]
Logged


Enterprise Forever
« on: 2005.December.23. 11:35:37 »

 Logged

MrPrise
Administrator
EP addict
*
Offline Offline

Hungary

Posts: 2291




View Profile WWW
New Posts
« Reply #1 on: 2006.January.05. 14:43:25 »

Quote from: "Zozosoft"
[asm]LEBEG1    LD A,(HL)
LEBEG2    CP (HL)
[/asm]

Hivatalosan a címkék után nem kell kettőspont?
Nem erről ismeri fel a fordító?
Logged

Zozosoft
EP addict
*
Online Online

Hungary

Posts: 5611




View Profile WWW
New Posts
« Reply #2 on: 2006.January.05. 15:23:10 »

Quote from: "MrPrise"
Nem erről ismeri fel a fordító?

Az EP-s fordítók szerintem onnan ismerik fel, hogy a sor első karakterén kezdődő szó Smiley
Logged


MrPrise
Administrator
EP addict
*
Offline Offline

Hungary

Posts: 2291




View Profile WWW
New Posts
« Reply #3 on: 2006.January.05. 15:27:40 »

Quote from: "Zozosoft"
Quote from: "MrPrise"
Nem erről ismeri fel a fordító?

Az EP-s fordítók szerintem onnan ismerik fel, hogy a sor első karakterén kezdődő szó Smiley

Hm. Ok. Csak mert most írom a regex-eket ds_icon_wink
Logged

Zozosoft
EP addict
*
Online Online

Hungary

Posts: 5611




View Profile WWW
New Posts
« Reply #4 on: 2006.January.05. 18:37:52 »

Meg is néztem most, Asmon, Fenas, Heass mind így kezeli. Heass-ben lehet kettőspont, de nem kötelező.
Logged


MrPrise
Administrator
EP addict
*
Offline Offline

Hungary

Posts: 2291




View Profile WWW
New Posts
« Reply #5 on: 2006.January.05. 18:39:32 »

Quote from: "Zozosoft"
Meg is néztem most, Asmon, Fenas, Heass mind így kezeli. Heass-ben lehet kettőspont, de nem kötelező.

Ok. Köszi. Már régen volt mikor még assembly-ben programoztam Enterprise-on. Azóta már megszoktam teljesen a PC-s assemblereket.
Logged

Povi
EP user
*
Offline Offline

Hungary

Posts: 391




View Profile WWW
New Posts
« Reply #6 on: 2006.January.05. 18:48:25 »

Az asmonban és a fenasban is lehet kettőspont, de nem kötelező. (mostanság fenas-t használok, de ha lenne heass-om romban, akkor azt használnám...). Az a baj, hogy a heass.ext-tel nem tudok fordítani. (nem tudom, miért)
Logged

*** Speicherplatz zu klein

MrPrise
Administrator
EP addict
*
Offline Offline

Hungary

Posts: 2291




View Profile WWW
New Posts
« Reply #7 on: 2006.January.05. 19:08:05 »

Quote from: "Povi"
Az asmonban és a fenasban is lehet kettőspont, de nem kötelező. (mostanság fenas-t használok, de ha lenne heass-om romban, akkor azt használnám...). Az a baj, hogy a heass.ext-tel nem tudok fordítani. (nem tudom, miért)

De a kettősponttól függetlenól azt nézi, hogy ez az első szó a sorban?
Tehát hiába raksz utána :-ot, ha bentebb kezdődik akkor nem címkeként értelmezi?
Az assembly forrás kiemelő miatt kérdem. Hogy hogyan működjön.
Logged

Zozosoft
EP addict
*
Online Online

Hungary

Posts: 5611




View Profile WWW
New Posts
« Reply #8 on: 2006.January.05. 20:33:54 »

Quote from: "MrPrise"
Tehát hiába raksz utána :-ot, ha bentebb kezdődik akkor nem címkeként értelmezi?

Így van!
Logged


hsoft
EP fan
*
Offline Offline

Posts: 112




View Profile
New Posts
« Reply #9 on: 2006.January.10. 02:58:15 »

Quote from: "Zozosoft"
Quote from: "MrPrise"
Tehát hiába raksz utána :-ot, ha bentebb kezdődik akkor nem címkeként értelmezi?

Így van!


Elnézést a kotnyelességért: Az EP-s asseblerek a sor első karakterét figyelik, mely  megadja hogy mit kell értelmezni a továbbiakban.
Betü után címke jön, mely kettőspont, szóköz, enter határolással csonkolva lesz.
Szóköz és tab után ltrim(utasitás) jöhet.
; után csak megjegyzés várható, tehát a sor maradéka át lesz ugorva.
(kivéve ha idézőjelmódban van)
Logged

MrPrise
Administrator
EP addict
*
Offline Offline

Hungary

Posts: 2291




View Profile WWW
New Posts
« Reply #10 on: 2006.January.13. 10:44:21 »

A rendszerszegmensen hol kezdődik a karakterkészlet? Nem találom ez Enterpress-eimet.
Logged

MrPrise
Administrator
EP addict
*
Offline Offline

Hungary

Posts: 2291




View Profile WWW
New Posts
« Reply #11 on: 2006.January.13. 11:07:34 »

Quote from: "MrPrise"
A rendszerszegmensen hol kezdődik a karakterkészlet? Nem találom ez Enterpress-eimet.

0x3480-0x38ff Kinyomoztam ds_icon_wink
Logged

Zozosoft
EP addict
*
Online Online

Hungary

Posts: 5611




View Profile WWW
New Posts
« Reply #12 on: 2006.January.13. 13:00:27 »

Itt a "vinyószimulátor" forráskódja:
Code
                ORG 0C000H
               VAR 64,EXDEXT.ROM
               DB "EXOS_ROM"
               DW 0
               LD A,C
               CP 7
               JR NZ,NEMRAM
               LD DE,DARAB*60H+3
               LD BC,100H
               RET
NEMRAM          IN A,(0B1H)
               OR A
               RET Z
               LD A,C
               CP 2
               JR Z,COM1 ;PARANCSFUZER
 
               CP 3
               RET NZ
               LD A,B
               OR A
               JR Z,ALTAL
               LD HL,EXDEXT
               CALL KERD
               RET NZ
               LD BC,HOSSZ2
               LD DE,HH2
               LD A,255
               EXOS 8
               LD C,0
               RET
ALTAL           PUSH DE
               PUSH BC
               LD DE,HH2
               LD BC,HOSSZ1
               LD A,255
               EXOS 8
               POP BC
               POP DE
               RET
 
COM1            LD HL,EXDOSFF
               CALL KERD
               RET NZ
               LD A,(IY+0)
               OR A
               RET NZ
               PUSH IY
               POP DE
               IN A,(0B2H)
               LD B,A
               LD (IY+0),DARAB
               LD HL,KEZELOP
               LD (IY+1),L
               LD (IY+2),H
               IN A,(0B3H)
               LD (IY+3),A
               XOR A
               LD C,A
               RET
 
 
KERD            LD A,B
               CP (HL)
               RET NZ
               INC HL
               PUSH BC
               PUSH DE
               INC DE
 
AZONOS          LD A,(DE)
               CP (HL)
               JR NZ,NEMA
               INC HL
               INC DE
               DJNZ AZONOS
NEMA            POP DE
               POP BC
               RET
KEZELOP         CP 3
               JR NZ,NEMBOOT
               LD HL,DISK+0C000H
               LD BC,512
               PUSH IX
               POP DE
               LDIR
               XOR A
               RET
NEMBOOT         CP 4
               JR NZ,NEMOLVAS
               DI
               PUSH BC
               PUSH IX
               POP HL
               EXX
               LD C,0B0H
               IN E,(C)
               INC C
               IN D,(C)
               INC C
               IN L,(C)
               OUT (C),D
               EXX
               INC DE
               LD A,D
               LD C,E
               SLA C
               RLA
               SLA C
               RLA
               SLA C
               RLA
               LD C,A
               IN A,(0B3H)
               ADD A,C
               OUT (0B0H),A
               INC A
               OUT (0B1H),A
               LD H,E
               SLA H
               RES 7,H
               RES 6,H
               LD L,0
               LD D,XH
               LD E,XL
               SET 7,D
               RES 6,D
               SLA B
               LD C,0
               LDIR
               EXX
               OUT (C),L
               DEC C
               OUT (C),D
               DEC C
               OUT (C),E
               EXX
               EI
               PUSH DE
               POP IX
               POP BC
               XOR A
               RET
NEMOLVAS       ;LD A,186
               RET
 
EXDEXT          DB 6,"EXDEXT"
EXDOSFF         DB 6,"EXDOS",0FFH
 
DARAB           EQU 1
 
HH2             DB "EXDEXT version 1.0",13,10
HOSSZ1         EQU $-HH2
               DB "ROMDISK EXDOS bovites",13,10
HOSSZ2         EQU $-HH2
               .PRINTX #$
 
VEGEE           EQU $
               DF 0C200H-$,255
               ORG 200H
DISK            MERGE DISKIMG
               END
 
Érdeklődés esetén el is magyarázhatom, hogy mit csinál
« Last Edit: 2007.January.03. 12:31:53 by MrPrise,Reason: Geshi update » Logged


Povi
EP user
*
Offline Offline

Hungary

Posts: 391




View Profile WWW
New Posts
« Reply #13 on: 2006.February.05. 21:36:18 »

Új alkalmazói program indulásakor a funkcióbillentyúkre van valami alapértelmezett string? Azért kérdem, hogy KEYBOARD: eszközzel vajon hogyan lehetne őket olvasni? Ha jól emlékszem, csak az ALT+, és a CTRL+funkcióbillentyúkhöz van ASCII-kód. Vagy marad a portokon lekérdezés?
Logged

*** Speicherplatz zu klein

Povi
EP user
*
Offline Offline

Hungary

Posts: 391




View Profile WWW
New Posts
« Reply #14 on: 2006.April.24. 21:33:25 »

Hogyan lehet azt megoldani, hogy saját programból, ha kiadom az exdos parancsot, és abból esc-kel visszatérek, ne tűnjöm el a fél képernyő (amit az exdos kitakart).
Konkrétabban: az atomixben csináltam egy olyat, hogy ha megnyomom a kettőspontot, előugorjon az exdos. Ha kilépek, tök jól folytatódik minden ott, ahol abbamaradt, leszámítva azt, hogy üres a képernyő.
Logged

*** Speicherplatz zu klein

Enterprise Forever
« Reply #14 on: 2006.April.24. 21:33:25 »

 Logged
Tags:
Enterprise Forever  |  :HUN  |  Programozás  |  Topic: Assembly programozás

Powered by SMF 1.1.2 | SMF © 2006-2007, Simple Machines LLC
Seo4Smf v0.2 © Webmaster's Talks

Template made by Mr.Prise
Page created in 0.269 seconds with 25 queries.
Google visited last this page Yesterday at 02:14
Follow ep4ever_news on Twitter