A szerelő egyszerű! Tanulási program (vásár) levelezés

Kérdések: 8 Válaszok: 12

66.395. Sz. Kérdés

66.399. Sz. Kérdés

Kérdésem van az Assm.
Most kezdtem tanulmányozni, és kérdéseim voltak. Amikor létrehoz egy programot a Far shell-ben, hozzon létre egy 11.asm nevű fájlt. Ezután létrehoztuk az amake.bat parancsfájlt. Ezután menj 11.asm. és a 11-es parancssorban fusson. És akkor az "amake" -ra író flyby nem egy belső vagy külső parancs, egy végrehajtható program vagy egy kötegelt fájl. Mi a hiba? Kérlek, kérlek.
Rendszer OS - XP
Százalék. AMD Athlon-64 3000.

Válaszok: Volkov Pavel Yurievich
Hello Merlin09!
Az amake.bat kötegfájlnak meg kell lennie a fordító mappában, ott a forráskódot (a program szövegét is) kell elhelyezni. A kötegfájl helye nem szerepel a PATH változóban, ezért nem helyezi el a PATH valamelyik mappájába (a mappák listája megtalálható a "beállított elérési út" alatt a parancssorban), vagy végrehajthatja azt az aktuális mappában.
---------
Élj el egy évszázadot, tanulj.

Felelős: Nikolay Ivanovics Lukovkin
Hello Merlin09!
Mielőtt válaszolna a fő kérdésére, ellenőrizzük, hogy a FAR shellben lévő fordítófájlok megfelelően vannak-e telepítve?
1. Nyissa meg a mappát, ahol telepítve van a FAR shell (a C meghajtó gyökérkönyvtárában vagyok :)
2. Ellenőrizze ugyanazt a helyet, ahol a FAR shell, a myasm nevű mappának (mert rendelkezem MASM fordítóval). Ugyanannak a mappának a nevét fel kell tüntetni a FAR héjpanelén.
3.A fordító parancsfájljainak létrehozása:
3.1 Nyissa meg a mappamásmászt, majd a bin mappát. Felváltva nyitott (azt hiszem, nem kell magyarázni, hogy ez hogyan történik) batch fájlt: amake.bat, cmake.bat, dmake.bat, wmake.bat és az alsó sorban írja a mondatot:
path = c: myaszmin
3.2 Minden egyes fájlban mentjük a kifejezést, és újraindítjuk a PC-t, hogy a változások életbe lépjenek.
4. Meghatározzuk az összeszerelő program elérési útját:
4.1. OS Windows XP rendszerben megnyílik:
Vezérlőpult-> Rendszer-> Haladó-> Környezeti változók
Ha az útvonalváltozót már létrehoztuk más programok esetében, akkor az alábbi sorokat írjuk le:
útvonal =<уже существующая=>
path =% path%; c: myaszmin
A változtatások érvénybe lépéséhez újraindítjuk a PC-t.
5. Most megkaptuk a kérdést: hogy a hibáid nem merülnek fel a következőkben (feltéve, hogy a program összeszerelési listáját helyesen és hibamentesen írtuk le):
5.1. Nyissa meg a myasm-> bin-ot. A bin mappából másoljuk és telepítjük (a helyi menü segítségével) a következő fájlokat a C: meghajtó gyökérkönyvtárába (ahol a FAR shell telepítve van):
amake.bat, cmake.bat, dmake.bat, wmake.bat, exe2bin, link.exe, link16.exe, ML.EXE, RC.EXE, MSPDB50.DLL
6. Biztosítom, hogy mindent megtettél-e, amint leírtam hasonló hibákat.
7. A jövőben szeretném emlékeztetni, és figyelmeztetni fogom, mikor írsz egy com programot a DOS-ra (a parancsfájl a fordításhoz cmake) és egy exe program a DOS (dmake), com fájlokhoz. és exe. a végrehajtás nem a Windows környezetben és a FAR shell, hanem a Norton Commander for DOS teljes képernyős módban történik.
8. levél kap hosszú egyik oka: az elmúlt években gyakran jönnek a portál kérdéseire kezdők tanulni assembly hasonló kérdésekkel, amelyeket a héj FAR és MASM fordító. És az ok csak egy (azzal a feltétellel, hogy a programot hibák nélkül írta):
- helytelenül vagy nem teljesen telepítette és konfigurálta a környezetet (fordító parancsfájlokat) az írásos programok összeállításához, nem határozta meg az összeszerelő program elérési útját.
Kívánok szerencsét a Assembler tanulásában!
Nicholas
---------
Az egyik vagy másik út hatékonyságának fő kritériuma csak arra szolgál, hogy megérkezett-e a végeredmény crackerje.

66.485. Sz. Kérdés

Helló kedves szakértők!

Magyarázza el, hogy az összeszerelő a 21-es megszakítás 3dh, 3fh, 40h, 3eh funkcióit használja a fájlok feldolgozásakor. Miután befejezte a következő kód fordítását és futtatta a fájlt, természetesen nem láttam a fájl megnyitásának folyamatát Windows alatt:

; Megnyitom a fájlt az íráshoz.
mov ax, 3d01h
mov dx, offset firstfile
int 21h
mov fogantyú, ax

Aztán megpróbáltam hozzáadni egy 16 bájtos írási funkciót.

; 16 bájtot írok le.
mov ah, 40 óra
mov bx, ax
mov cx, 10h
mov dx, offset puffer
int 21h
; Bezárom a fájlt.
mov ah, 3eh
mov bx, fogantyú
int 21h
áztat
első fájl db 'c: myfile.txt', 0
pufferegyenérték.
fogantyú dw?

semmi sem történt. A fájl üres volt, bár a "Csak olvasható" attribútumot eltávolították. Lehet-e az összeszerelő olyan fájlokkal dolgozni, mint valaki más, nem úgy, mint régen?
És mégis, nem tudom, hogy milyen funkcióval lehet fájlt másolni egy könyvtárból a másikba.
Köszönöm!

---------
Ideális védelem nem létezik, mert amit az emberi elme teremt, azt is megsemmisítik!

Felelős: Oleg Vladimirovich
Hello Paltus!

Talán ez egy hiba, de mielőtt írnánk a fájlba, nem kell MOV BX, AX és MOV BX, kezelő!
Ezután mi az a buffer equ $. Ebben a sorban van egy olyan vonal, amelyet a felvételre szánnak, a megszakítás nem számít arra, hogy megkapja az aktuális cellának a konstans számát. Így helyes a buffer db "Tizenhat karakter. '
Végezetül javasoljuk, hogy ne nyissunk meg létező fájlt (3Dh), hanem szükség esetén üres (3Ch) fájlt írjunk (felülírjuk). Példa az alkalmazásban
Sok szerencsét
PS. A másolás funkciói, amennyire én (nem) tudom, az INT 21h nem.

---------
PM-PU kar - a legjobb a Szentpétervári Állami Egyetemen!

Felelős: Nikolay Ivanovics Lukovkin
Helló, Lestat!
Futtassa a programot a Norton Comander for DOS teljes képernyős módban.
---------
Az egyik vagy másik út hatékonyságának fő kritériuma csak arra szolgál, hogy megérkezett-e a végeredmény crackerje.

66.551. Sz. Kérdés

-A webhelyéről letöltött MASM611 mindent megtett, mint a (Kalashnikov könyvében)
> a könyv az 1. függelékben (kicsomagolva és a BIN mappában). de itt
> hol kell írni a programot. hogyan aktiválhatja azt. hol (melyik konkrét fájlt és mire fog cselekedni) nem tudok (a könyvben ezt felületesen)
> (úgy néz ki, mint a kérdések a helyszínen, a válaszok sajnos nagyon
> szúrós és rövid), ha nem nehéz, válaszoljon lépésről lépésre (ahol,
> Hol és hogyan?). mert ez az egyetlen dolog, ami nem egyértelmű a könyvben

---------
Ideális védelem nem létezik, mert amit az emberi elme teremt, azt is megsemmisítik!