.model small .data num_iter dw 6 endl db 0Ah, 0Dh, '$' .stack 100h .code main proc mov ax, @data mov ds, ax mov bx, num_iter push bx call recursive pop bx mov ax, 4Ch int 21h main endp recursive proc push bp mov bp, sp mov bx, [bp]+4 or bx, bx jz end_rec mov ah, 2 mov dx, 30h mov cx, bx loop1: int 21h inc dx loop loop1 mov ah, 9 lea dx, endl int 21h dec bx push bx call recursive pop bx end_rec: pop bp ret recursive endp end main
And the other one without explicit manipulation of the stack
.model small .data iter dw 6 endl db 0Ah, 0Dh, '$' .stack 100h .code main proc mov ax, @data mov ds, ax call recur pascal, iter mov ax, 4Ch int 21h main endp recur proc pascal near arg n:byte uses dx, cx cmp n, 0 je out_of mov cl, n mov dl, 30h mov ah, 2 loop1: int 21h inc dl loop loop1 mov ah, 9 lea dx, endl int 21h mov dx, iter dec dx mov iter, dx call recur pascal, iter out_of: ret recur endp end mainSince asking about it in a forum is pretty much my last resort any help will be appriciated. :)


Sign In
Create Account

Back to top









