| Nujjjjjjjjghf a întrebat:

Salut, am si eu un program in assembly si vreau sa ma ajute cineva sa imi spuna ce face exact programul si fiecare linie ce face in detaliu, va rog!

; Program proiect.asm
.MODEL small
. STACK 100H
. DATA
introducere DB 'Introduceti un numar: $'
nePrim DB 'Numarul nu este prim $'
ePrim DB 'Numarul este prim $'
nr DB 0
. CODE

citire PROC
mov ah, 01h
int 21h
ret
citire ENDP

start:

mov bx, @data
mov ds, bx
mov cl, 10

mov dx, OFFSET introducere
mov ah, 09h
int 21h

citireNumar:
call citire
mov ah, 00h
cmp al, 0Dh
je verif
sub al, 30h
mov bl, al
mov al, nr
mul cl
add bl, al
mov nr, bl
jmp citireNumar

verif:
cmp nr, 01h
je nuPrim
cmp nr, 00h
je nuPrim
cmp nr, 02h
je prim

mov cl, 02h
mov al, nr
div cl
mov dl, al

impartire:
mov ah, 00h
mov bl, nr
mov al, bl
div cl
cmp ah, 00h
je nuPrim
inc cl
cmp cl, dl
jg prim
jmp impartire

nuPrim:
mov dx, OFFSET nePrim
mov ah, 09h
int 21h
jmp fin

prim:
mov dx, OFFSET ePrim
mov ah, 09h
int 21h


fin:
mov ah, 4Ch
int 21h
END start

Răspuns Câştigător
| Zuzu1991 a răspuns:

Vad ca e de DOS nu de windows
nu am mai facut asm de vreo 20+ de ani, dar tin minte ca int 21h e o chestie cu care se fac diverse in functie de ce incarci in ah, oricum iti trebuie o documentatie, pe vremea msdos-ului aveam un program rezident in memorie si imi aparea documentatia pe care ma puteam uita in timp ce editam programul

oricum, sa stii ca aici nu te ajuta nimeni, chiar daca cineva stie bine asm, din cauza ca e interzis cu teme, asa ca du-te pe brainly.ro si intreaba acolo, ai mai multe sanse

| Nujjjjjjjjghf explică (pentru Zuzu1991):

Salut, pana la urma am reusit sa il fac, am cerut ajutor si am si reusit sa il inteleg in mare parte, si multumesc pentru raspuns!

| Zuzu1991 a răspuns (pentru Nujjjjjjjjghf):

Cu placere
btw, hai sa iti mai dau un hint:
http://menuetos.net/
e un OS scris complet in limbaj masina;)

2 răspunsuri: