16 bites assembly rendszerben szeretnék karaktereket beolvasni a billyentyűzetről, majd kiírni őket. Tudna valaki segíteni?
Köszi szépen!
- 6131 megtekintés
Hozzászólások
Fölmész a meditor ftp szerverére, ott bejelentkezel
"public"-ként a jelszó egy üre enter. Van ott egy dos_asm
könyvtár, amiben van egy tar.gz fájl. Töméntelen
mennyiségű assembly anyag, 10 év esszenciája, zömmel 16 bites. Használd egészséggel.
> Sol omnibus lucet.
- A hozzászóláshoz be kell jelentkezni
Köszi szépen, de az túl sok nekem és annyira nem értek hozzá, hogy ki tudjam bogarászni az engem érdeklő pár sort. Nekem csak egy karakter beolvasása illetve kiírása kéne.
- A hozzászóláshoz be kell jelentkezni
16 bites alatt DOS környezetet értessz? Akkor DOS függvényt használsz.
Mi olyan nehéz, kibogarászni egy Tech help-ből, vagy PC Hardver kézikönyvből, hogy melyiket?
- A hozzászóláshoz be kell jelentkezni
Ha dosról van szó, akkor ez talán segít. Már elég régen írtam egy hasonló programot, nem is magamnak, és már akkor is úgy bogarásztam össze, hogy hogyan kell ezt:), de íme:
.MODEL small
.STACK
.DATA
data db (?)
bsize db 255
buffer db 257 dup (?)
.CODE
mov ax, seg data ; itt az eleje
mov ds, ax
call read
mov si, offset buffer
call print
mov ah, 4ch
int 21h ; itt a vege
; -----------
read proc
mov ah, 0ah
mov dx, offset bsize
int 21h
ret
read endp
print proc
xor ax,ax
mov al, [si] ; al <-strlen
inc si
mov dx, si ; dx <-pointer a string elejere
add si, ax
mov [si], byte ptr '$' ; $ a string végére
mov ah, 09h
int 21h
ret
print endp
Remélem működik:)
Legjobb tudomásom szerint (ugyanis nem tudom kipróbálni) ez azt csinálja, hogy:
beolvas max 255 karaktert a buffer-be: az első byte jelzi, hogy milyen hosszú szöveget olvastunk be, a többi pedig a beolvasott szöveg. A kiírásnál a végére biggyesztünk egy $ jelet, mert az meg az ah=9-es függvénynek kell.
--
G.
- A hozzászóláshoz be kell jelentkezni
Köszi szépen a válaszodat. Szerintem majdnem jó a progi, két szintaktikus hiba volt benne a deklarálásnál elég a data db ? és az egész végéről hiányzott egy 'end'. Így most lefordul, beolvassa sztringet, enter és utána nem ír ki semmit. Mi lehet a baj?
- A hozzászóláshoz be kell jelentkezni
Hu, fogalmam sincs; inkabb felrakom netre az eredetijet: katt
Ez egy ilyen RLE tomorites/kitomorites, ha legalabb 4 ugyanolyan karaktert irsz egymas utan, akkor csinal valamit. Ha az elejen entert nyomsz, akkor lehet a kitomoritest hasznalni ugy emlekszem.
--
G.
- A hozzászóláshoz be kell jelentkezni