Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Test
;nasm 2.13.02 %macro scall 4 ;common macro for input/output mov rax,%1 mov rdi,%2 mov rsi,%3 mov rdx,%4 syscall %endmacro section .data num db 00h msg db "Factorial is : " msglen equ $-msg msg1 db "*****Program to find Factorial of a number***** ",0Ah db "Enter the number : ", msg1len equ $-msg1 zerofact db " 00000001 " zerofactlen equ $-zerofact section .bss dispnum resb 16 result resb 4 temp resb 3 section .text global _start _start: scall 1,1,msg1,msg1len scall 0,0,tem call convert mov [num],dl scall 1,1,msg,msglen mov rdx,0 mov rax,0 mov al,[num] cmp al,01h jbe endfact mov rbx,0 mov bl,01h call far call display call exit end fact: scall 1,1,zerofact,zerofactlen call exit factr: cmp rax,01h je retcon1 push rax dec rax call factr retcon: pop rbx mul ebx jmp endpr retcon1: ;if rax=1 return pop rbx jmp retcon endpr: ret display: mov rsi,dispnum+15 mov rcx,0 ;RMD mov cl,16 cont: mov rdx,0 ;RMD mov rbx,0 ;RMD mov bl,10h div ebx cmp dl,09h jbe skip add dl,07h skip: add dl,30h mov [rsi],dl dec rsi loop cont scall 1,1,dispnum,16 ret convert: ;procedure to convert ascii to hex mov rsi,temp mov cl,02h MOV rax,0 ;RMD mov rdx,0 ;RMD contc: rol dl,04h mov al,[rsi] cmp al,39h jbe skipc sub al,07h skipc: sub al,30h add dl,al inc rsi dec cl jnz contc ret exit: ;exit system call mov rax,60 mov rdi,0 syscall ret
run
|
edit
|
history
|
help
0
MyFirst Program
0000
Passwd
Group Lab 1
index2
dsadasfdsfds
dfdffdfdfdfdfdfd
Group Project (Group 4)
calculate_age
fdsfdafdsafdsafds