Új hozzászólás Aktív témák
-
Forest_roby
őstag
Hi!
Nem igazán tudom, hogy hogyan néz ki egy tömb assembly -be. Ebben kellene segítség.
Az si rámutat egy elegendően nagy memóraterületre, feltételezem a tömb első elemére és ezt a tömböt kellene feltölteni 2 -től pl 10000 -ig ( 2 byte os számokkal ). Nem tudom megcsinálni, mert ló****-t se tudok a tömbök kezeléséről assembliben.
Ha pl incrementálom si -t akkor a tömb következő ellemére fog mutatni?
Na mindegy, vki tudna ebben segíteni, rövid leítást, hogy mit hogyan kell a tömbökkel kapcsilatban....?
Előre is köszi!-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
megnéznéd ezt?
mov bx,2
push si //vhogy el akarom tárolni az si-t!
feltolt:
mov [si],bx
add si,2 //hups
inc bx
cmp bx,4000h
jb feltolt
rafuto:
pop si //eredeti si visszanyerése vhogy!
Ez kb működhet?
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
igen, kb ezt akarom elérni, annyit módosítottam, hogy nem verembe rakom az si-t, hanem bemásolom di-be és onnan mindig elő tudom húzni, ha kell.
miért nem próbálom ki?
mert nem tudom, hogy hogyan kell, azt még nem tanultuk!
thx-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
ujabb:
az si-t cipelem szépen a vége felé ( 2 -ével, 3-asával ..... ), hogy tudok, úgy egy cmp-t belerekni, hogy ha a köv lépés kilépne a tömbből, akkor egyik ág..., ha nem akkor másik ág....
mov bx,[si] //bx eggyenlő lesz 2-vel
nulláz:
add si,bx
mov [si],0
cmp ???
j??? nullaz
felfuto:
...
..
.
[Szerkesztve]
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
Eratostenes szitája. Ketőtöl fölfelé az összes páros szám helyére 0-át szeretnék írni, aztán 3-al, 5-el, 7-el stb eljátszani ugyan ezt és a végén csak a primek maradnak.
C-ben már régebben megírtam, de az most mit sem ér....
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz Jester01 #117 üzenetére
okay, ez rendben van, de hogy kapom meg a tömb utolsó elemét, mondjuk [di + 4000h] vagy vmi ilyemi és utánna.
cmp [di + 4000h],[si+bx]
jb .....
valami ilyemire gondoltam, csak reméltem, hogy ti írtok vmi tuti megoldást...-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz Jester01 #119 üzenetére
az si folyamatosan kuszik felfelé a tömbön, a di meg az si kezdőértéke ezért gondoltam erre, de igazad van igy sokkal jobb.
Látszik, hogy amatör vagyok!
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
hi!
P.H. ez nagyon rendes volt tőled, bár szerencsére csak most vettem észre, hogy megcsináltad. A cél az, hogy megtanuljak assembly nyelven programozni és nem az, hogy más munkáját lemásoljam, de tényleg rendes vagy!
én ezt dobtam össze, a vége már nagyon hanyag és rossza, de nem érdekelt, már nagyon fáradt voltam!
Feladat vmi olyasmi volt, hogy csináljunk szitát a prímek kiszámolására, al -be kapunk egy számot 1-256 között és annyiadik primet meg kell tudni mondani, amennyi az al értéke.
Az si rámutat egy megfelelően nagy mem terület elejére, a tömbnek 2 bytes-nek kell lennie és a feladat végén az si-be bele kell tölteni az első al prímet 0-ák nélkül.... ( 80x86 os proci )
házi:
kezd:
..mov bx, 2
..di,si
feltolt:
..mov [si],bx
..add si,2
..inc bx
..cmp bx,4000h
..jb feltolt
-------------------
..mov cx,[di+8000h]
..dec cx
..mov dx,cx
..shr dx,1
..mov si,di
fel:
..mov bx,[si]
..shl bx,1
ide:
..add si,bx
..mov [si],0
..cmp cx,[si]
..jnb ide
---
..mov si,di
..sub bx,4
..add si,bx
ell:
..add si,2
..cmp [si],0
..je ell
---
..cmp [si],dx
..j?? fel
---------
//ha idáig eljut, akkor megvannak a prímek
---------
..mov cx,1
..mov si,di
..cmp al,1
..je bubble_sort
_add_:
..add si,2
..inc cx
..cmp si,0
..je _add_
..dec al
..cmp al,0
..jne _add_
-----
bubble_sort: //már nincs időm, úgyhogy nem buborék
rendezést csinálok, valószínüleg nem is lesz jó.
..mov si,di-2
vvvv:
..add si,2
..dec cx
..cmp [si], 0
..je vvvv
..mov di,[si]
..add di,2
..cmp cx,0
..jne vvvv
END
A végén az si-be vissza kellett volna tölteni az első ( al értéke ) x darab prímet, de mint látható én a di-be próbáltam ezt megcselekedni rosszul....
Várok a kritikákat!
[Szerkesztve]-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
Thx!
Átolvastam, de még kell egy kis idő, hogy ez elmélyüljön... : )
All!
ismeritek ezt a progit?
[link]
Ebben kell teszteknünk a progikat.
Nem tudtok vmi jobbat? (linux / windows -mindegy, bár a linuxot preferálom!)-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
Hi!
Nemsokára itt az assembly vizsgám és a gyak jegyet is ott kell megszereznem . úgy hogy viszek egy 40-50 soros ( gyakorlatban nem feltétlenűl működő ) programot, ami vmi logikai dolgot végez hatékonyan. pl.: buborékrendezés, prím szám keresés, prímtényezős felbontás, legnagyobb közös osztó, stb....
csak maga az algoritmus kell, ami elvégzi ezt a feladatot - maga a dolgot ( számokat ) amivel dolgoznia kell azt úgy kapja meg híváskor...
Az is lényeges, hogy egyes buktatókra nézve - többféleképpen meglegyen a program ( pl.: helyben számolás v. külön memóriahelyen számolás.... )
Tudna vki ebben nekem segíteni? Nagyon konkrétan - ha van vmi ilyen jellegű programotok, azt megosztanátok velem vagy álljak neki és ha elakadok, akkor jöjjek vissza?
8086 -os kompatibilis progi kellene
Előre is köszi!
Forest-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
-
Forest_roby
őstag
válasz Forest_roby #147 üzenetére
up!
-=Legyél Laza!=- __ ''Have you tried turning it off and on again?'' __ ''Is it definitely plugged in?'' /o\ :D:D
Új hozzászólás Aktív témák
- Kedvező ár! Dell Latitude 5480 laptop (14FHD/i5-G7/8GBDDR4/256SSD/MagyarVil)
- Kedvező ár! Dell Latitude 3450 laptop (14/i5-G5/8GB/256SSD/Magyar)
- APPLE MACBOOK PRO 16" Space Gray /I7 6-CORE 2.6 GHZ/16GB/512GB SSD/AMD Radeon Pro 5300M 4GB
- ÚJ! Apple Watch Ultra 2 49mm GPS + Cellular - 3 év Apple gar, 100%, titán, doboz
- HP 27-cr0047no - ÚJ - 27" All-IN-ONE PC - Ryzen 7, 16GB, 512SSD, 300 nit
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen