Загрузка данных


.model small
.stack 100h

.data

n       dw 120
k       dw 1
result  dw 0
flag    db 0

.code

start:

    mov ax, @data
    mov ds, ax

m1:

    mov ax, n
    cmp ax, 1
    je factorial

    mov dx, 0
    mov ax, n

    div k

    cmp dx, 0
    je good

    mov flag, 0
    jmp finish

good:

    mov n, ax

    mov ax, k
    add ax, 1
    mov k, ax

    jmp m1

factorial:

    mov flag, 1

    mov ax, k
    sub ax, 1
    mov result, ax

finish:

    mov ax, 4C00h
    int 21h

end start