مشاهده نسخه کامل
: برنامه فاكتوريل به زبان اسمبلي
سلام كسي برنامه فاكتوريل به زبان اسمبلي رو داره؟
فوري فوري
لازم دارم
با سلام
# The same function in C would look something like this
# int fact(int n)
# {
# if (n < 1)
# return (1);
# else
# return (n * fact(n - 1));
# }
.data
input_request: .asciiz "Input the first operand: "
output1: .asciiz "The result is "
newline: .asciiz "\n"
.align 2
.globl main
.text
main:
# request input from user
la $a0, input_request
li $v0, 4
syscall
# retrieve input from user
li $v0, 5
syscall
# store user input as first operand
move $a0, $v0
# calculate factorial
jal fact
# store result
move $t0, $v0
# display result
la $a0, output1
li $v0, 4
syscall
move $a0, $t0
li $v0, 1
syscall
la $a0, newline
li $v0, 4
syscall
# exit program
li $v0, 10
syscall
fact:
# make room on stack for $ra and $a0
move $fp, $sp
addi $sp, $sp, -8
# store both those registers on the stack
sw $a0, 0($fp)
sw $ra, -4($fp)
# recursive condition
bgtz $a0, fact_L1
li $v0, 1
j fact_return
# recursive calls
fact_L1:
addi $a0, $a0, -1
jal fact
addi $fp, $sp, 8
lw $a0, 0($fp)
mult $a0, $v0
mflo $v0
j fact_return
# return sequence
fact_return:
# restore $ra and $a0 registers
lw $ra, -4($fp)
lw $a0, 0($fp)
move $sp, $fp
jr $ra
با تشکر
خيلي ممنون ولي اين اسمبلي نيست كه؟
خيلي ممنون ولي اين اسمبلي نيست كه؟
کاربرد زبان اسمبلی در زبان c و شباهت توابع!
---------- Post added at 01:45 PM ---------- Previous post was at 01:42 PM ----------
این یکی به زبان اسمبلی :
print macro msg
mov dx,offset msg
mov ah,09h
int 21h
endm
data segment
msg1 db "Enter the number:$"
msg2 db 10,13,"Factorial is:$"
data ends
code segment
assume cs:code,ds:data
start:mov ax,data
mov ds,ax
print msg1
mov ah,01h
int 21h
sub al,48
mov dl,al
mov ax,1
l:mul dl
dec dl
cmp dl,0
JNZ l
add ax,48
mov dx,ax
mov ah,02h
int 21h
mov ah,4ch
int 21h
code ends
end start
با تشکر
vBulletin , Copyright ©2000-2025, Jelsoft Enterprises Ltd.