Assembler este ușor! Învățați să programați (bler) mailing

Întrebări: 8 Răspunsuri: 12

Întrebarea nr. 66.395

Întrebarea nr. 66.399

Am o întrebare despre Assm.
Tocmai am început să o studiez și am avut întrebări. Când creați un program în shell-ul Far, creați un fișier numit 11.asm. Apoi am creat fișierul de comandă amake.bat. Apoi, mergeți la 11.asm. și rulați la linia de comandă amake 11. Și apoi zbura el scrie "amake" nu este o comandă internă sau externă, un program executabil sau un fișier lot. Care este greșeala mea. Spune-mi te rog.






Sistemul de operare OS - XP
Procent. AMD Athlon-64 3000.

Răspuns: Volkov Pavel Yurievich
Bună ziua Merlin09!
Fișierul lot amake.bat, ar trebui să fie în folderul compilator, acolo, de asemenea, puneți codul sursă (textul programului). Locația fișierului batch nu este inclusă în variabila PATH, deci fie puneți-o într-unul din folderele incluse în PATH (lista de directoare poate fi găsită prin "set path", în linia de comandă) sau executați-o în folderul curent.
---------
Traieste un secol, invata.

Responsabil: Nikolay Ivanovich Lukovkin
Bună ziua Merlin09!
Înainte de a răspunde la întrebarea principală, să verificăm cu dvs. dacă fișierele compilatorului din shell-ul FAR sunt instalate corect?
1. Deschideți dosarul în care aveți instalat shell-ul FAR (sunt în directorul rădăcină al unității C :)
2. Verificați în același loc, în cazul carcasei FAR, prezența unui dosar numit myasm (pentru că am un compilator MASM). Numele aceluiași folder, respectiv, trebuie să fie prezent pe panoul carcasei FAR.
3.Creați fișierele de comandă ale compilatorului:
3.1 Deschideți miasma dosarului, apoi dosarul cu bin. Alternativ, deschideți (nu trebuie să explic cum se face acest lucru) fișierele de comandă: amake.bat, cmake.bat, dmake.bat, wmake.bat și linia de jos, scrieți fraza:
cale = c: myasmin
3.2 Salvăm fraza noastră în fiecare fișier și reporniți PC-ul pentru ca schimbările să se producă.
4. Specificăm calea spre programul de asamblare:
4.1. În sistemul de operare Windows XP deschidem:
Panou de control-> Sistem-> Avansat-> Variabile de mediu
Dacă varianta de cale a fost deja creată pentru alte programe, scrieți linia de mai jos:
calea =<уже существующая=>
cale =% cale%; c: myasmin
Pentru ca modificările să aibă efect, vom reporni PC-ul.
5. Acum, am ajuns la întrebarea dvs.: că astfel de greșeli ca ale dvs. nu apar, faceți următoarele (cu o condiție că am scris lista de asamblare a programului corect și fără erori):
5.1. Deschideți myasm-> bin. Din folderul bin, copiați și instalați (utilizând meniul contextual) următoarele fișiere în directorul rădăcină al unității C: (unde avem instalat shell-ul FAR):
amake.bat, cmake.bat, dmake.bat, wmake.bat, exe2bin, link.exe, link16.exe, ML.EXE, RC.EXE, MSPDB50.DLL






6. Vă asigur că ați făcut tot ce am spus că nu vor apărea erori similare.
7. Vreau să vă reamintesc în viitor și să vă avertizez atunci când veți scrie un program com pentru DOS (fișierul de comandă pentru compilare este cmake) și un program exe pentru DOS (dmake), fișiere com. și exe. pentru executarea execută nu în mediul Windows și în shell-ul FAR, ci în Norton Commander pentru DOS în modul ecran complet.
8. Scrisoarea sa dovedit a fi lungă pentru un singur motiv: în ultimul timp portalul primește de multe ori întrebări de la începători pentru a studia asamblorul cu întrebări similare care utilizează coajă FAR și compilatorul MASM. Și motivul este doar unul (cu condiția ca ei au scris programul fără erori):
- incorect sau incomplet instalat si configurat mediul (fisiere de comanda compilator) pentru a compila programe scrise, nu a specificat calea catre programul de asamblare.
Vă doresc noroc în învățarea asamblorilor!
Nicholas
---------
Principalul criteriu pentru eficacitatea uneia sau a celeilalte căi poate servi doar dacă cracarea a ajuns sau nu la rezultatul final.

Întrebarea nr. 66.485

Buna ziua, dragi experti!

Vă rugăm să explicați modul în care asamblatorul utilizează funcțiile 3dh, 3fh, 40h, 3eh ale celei de-a 21-a întreruperi atunci când lucrează cu fișiere. După finalizarea traducerii următorului cod și a difuzării fișierului, nu am văzut în mod normal procesul de deschidere a fișierului în Windows:

; Deschid dosarul de scris.
mov ax, 3d01h
mov dx, offset primul fișier
int 21h
mâner mov, topor

Apoi am încercat să adaug o funcție de scriere de 16 octeți.

; Am scris un fișier de 16 octeți.
mov ah, 40h
mov bx, ax
mov cx, 10h
mov dx, tampon offset
int 21h
; Închid dosarul.
mov ah, 3eh
mov bx, mâner
int 21h
putrezi
primul fișier db 'c: myfile.txt', 0
tampon echiv.
mâner dw?

nu sa întâmplat nimic. Fișierul a fost gol așa cum a fost, deși atributul "Read Only" a fost eliminat. Poate asamblatorul să lucreze cu fișiere ca altcineva, nu ca și cum ne-am obișnuit?
Și totuși, nu știu ce funcție vă permite să copiați un fișier dintr-un director în altul.
Mulțumesc!

---------
Protecțiile ideale nu există, deoarece ceea ce este creat de mintea umană, va fi, de asemenea, distrus!

Responsabil: Oleg Vladimirovich
Bună ziua Paltus!

Poate că aceasta este o greșeală, dar înainte de a scrie în fișier nu aveți nevoie de MOV BX, AX și MOV BX, handler!
În continuare, ce este tamponul equ $. În ea ar trebui să existe o linie destinată înregistrării, întreruperea nu se așteaptă să primească constanta care conține numărul de celulă curentă. Deci, corect pentru tamponul db 'Șaisprezece caractere. '
În cele din urmă, se recomandă să nu deschideți un fișier existent pentru scriere (3Dh), ci să creați (suprascrieți dacă este necesar) un fișier gol (3Ch). Exemplu în aplicație
Mult noroc
PS. Funcțiile de copiere, în măsura în care eu (nu) știu, INT 21h nu.

---------
Facultatea de PM-PU - cel mai bun din Universitatea de Stat din St. Petersburg!

Responsabil: Nikolay Ivanovich Lukovkin
Bună, Lestat!
Rulați programul în Norton Comander pentru DOS în modul ecran complet.
---------
Principalul criteriu pentru eficacitatea uneia sau a celeilalte căi poate servi doar dacă a apărut sau nu cracarea rezultatului final.

Întrebarea nr. 66.551

-Descărcat de pe site-ul dvs. MASM611 a făcut totul ca în (cartea lui Kalashnikov)
> cartea din Apendicele # 1 (despachetat și td.zhed în dosarul BIN). dar aici
> unde să scrieți programul. cum să-l activați. unde (în care fișier special și pentru ce va acționa) nu pot obține (în cartea despre acest lucru superficial)
> (arătau ca întrebări pe site, răspunsurile sunt, din păcate, foarte
> zgârcit și scurt), dacă nu dificil, răspundeți pas cu pas (unde,
> Unde și cum?). ofensat, deoarece este singurul lucru care nu este clar în carte

---------
Protecțiile ideale nu există, deoarece ceea ce este creat de mintea umană, va fi, de asemenea, distrus!







Trimiteți-le prietenilor: