codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
# Lam Yeu Cau 1 - 2 - 5 - 7 Cua Chuong Trinh . /* Tác giả: Nguyễn Việt Nam Sơn Trung tâm đào tạo tin học - Thiết kế phần mềm - Sơn Đẹp Trai: www.SonDepTrai.com Nguồn source code này Tôi viết vào năm 2012 lúc mới bắt đầu học lập trình C/C++ nên một số cách sẽ không được tối ưu - Bạn chỉ nên dùng trên tinh thần tham khảo thôi nhé. Mong giúp đỡ được Bạn trên con đường Học Lập Trình. TẤT CẢ VÌ SỰ THÀNH CÔNG CỦA BẠN */ .data a: .word 0 tb1: .asciiz "\nNhap so phan tu mang: " tb2: .asciiz "a[" tb3: .asciiz "]: " tb4: .asciiz "Mang Vua Nhap La: " khoangtrang: .asciiz " " menu1: .asciiz "\n----------------------------Menu----------------------------------\n1. Nhap mang so nguyen\n2. Xuat mang\n5. Liet ke so nguyen to trong mang\n7. Liet ke so hoan thien trong mang\n10. Thoat\n------------------------------------------------------------------" chon: .asciiz "\n Moi Nhap Vao Lua Chon Cua Ban: " chonlai: .asciiz "\nMoi Ban Chon (0) De Tiep Tuc Thuc Hien Cac Yeu Cau Khac: " ngto: .asciiz "\nCac So Nguyen To Co Trong Mang La: " hthien: .asciiz "\nCac so hoan thien trong mang la: " LoiChao:.asciiz "\nThanks You For Using The Program ! GoodBye And See You Later ! " .text main: # Dau vao truoc tien chuong trinh phai bat nguoi dung nhap vao du lieu truoc roi moi tiep tuc di tinh cac yeu cau sau do . jal Hamnhap # Sau khi chon xong 1 yeu cau thi chuong trinh cho phep nguoi dung nhap vao lua chon tiep theo ! Chonlai: jal menu la $a0,chon addi $v0,$0,4 syscall addi $v0,$0,5 syscall addi $t0,$v0,-1 # Khoi tao thanh ghi $t0 = gia tri thanh ghi $v0 + (-1) . beq $t0,$0,Cau1 # Sau do so sanh dieu kien neu ket qua cua thanh ghi $t0 ma = 0 => thanh ghi $v0 = 1 => lua chon la 1 => nhap mang cac so nguyen . addi $t0,$v0,-2 # Khoi tao thanh ghi $t0 = gia tri thanh ghi $v0 + (-2) . beq $t0,$0,Cau2 # Sau do so sanh dieu kien neu ket qua cua thanh ghi $t0 ma = 0 => thanh ghi $v0 = 2 => lua chon la 2 => xuat mang cac so nguyen . addi $t0,$v0,-5 # Khoi tao thanh ghi $t0 = gia tri thanh ghi $v0 + (-5) . beq $t0,$0,Cau5 # Sau do so sanh dieu kien neu ket qua cua thanh ghi $t0 ma = 0 => thanh ghi $v0 = 5 => lua chon la 5 => liet ke cac so nguyen to trong mang . addi $t0,$v0,-7 # Khoi tao thanh ghi $t0 = gia tri thanh ghi $v0 + (-7) . beq $t0,$0,Cau7 # Sau do so sanh dieu kien neu ket qua cua thanh ghi $t0 ma = 0 => thanh ghi $v0 = 7 => lua chon la 7 => liet ke cac so hoan thien trong mang . addi $t0,$v0,-10 # Khoi tao thanh ghi $t0 = gia tri thanh ghi $v0 + (-10) . beq $t0,$0,Cau10 # Sau do so sanh dieu kien neu ket qua cua thanh ghi $t0 ma = 0 => thanh ghi $v0 = 10 => lua chon la 10 => Hien thi loi chao va thoat chuong trinh . j Exit Cau1: # Xuat tb1 addi $v0,$0,4 la $a0, tb1 syscall # Nhap gia tri addi $v0,$0,5 syscall add $a1,$0,$v0 jal Hamnhap j Th Cau2: jal Hamxuat j Th Cau5: jal Hamngto j Th Cau7: jal Hamhthien j Th Cau10: jal Thanks #------------------------------------------------ KiemTraNguyenTo: addi $t1,$0,2 beq $a0,1,KhongLaNguyenTo Lap1: beq $t1,$a0,LaNguyenTo div $a0,$t1 mfhi $t2 beq $t2,$0,KhongLaNguyenTo addi $t1,$t1,1 j Lap1 LaNguyenTo: addi $v0,$0,1 jr $ra KhongLaNguyenTo: addi $v0,$0,0 jr $ra #------------------------------------------------ #------------------------------------------------ KiemTraHoanThien: addi $t1,$0,1 add $t2,$0,$0 Lap2: beq $a0,$t1,sosanh div $a0,$t1 mfhi $t3 beq $t3,$0,cong j boqua7 cong: add $t2,$t2,$t1 boqua7: addi $t1,$t1,1 j Lap2 sosanh: beq $t2,$a0,th1 bne $t2,$a0,th2 th1: addi $v0,$0,1 jr $ra th2: addi $v0,$0,0 jr $ra #------------------------------------------------ #------------------------------------------------ menu: la $a0,menu1 addi $v0,$0,4 syscall jr $ra #------------------------------------------------- #------------------------------------------------- Hamnhap: add $t0,$a1,$0 add $t1,$0,$0 # Khoi tao i = 0 la $t2, a Loop1: beq $t0, $t1,Out #Xuat tb2 addi $v0,$0,4 la $a0, tb2 syscall #Xuat chi so i addi $v0,$0,1 move $a0,$t1 syscall #Xuat tb3 addi $v0,$0,4 la $a0, tb3 syscall #Nhap gia tri li $v0,5 syscall #Luu vao a[i] sw $v0, ($t2) addi $t2, $t2,4 addi $t1,$t1,1 j Loop1 Out: jr $ra #---------------------------------------------- #------------------------------------------- Hamxuat: #Xuat tb4 addi $v0,$0,4 la $a0, tb4 syscall #Khoi tao gia tri vong lap xuat add $t0,$0,$a1 addi $t1,$0,0 # i = 0 la $t2, a Loop2: beq $t0,$t1,Out2 #Xuat a[i] addi $v0,$0,1 lw $a0,($t2) syscall #Xuat khoang trang li $v0,4 la $a0, khoangtrang syscall addi $t2, $t2,4 addi $t1,$t1,1 j Loop2 Out2: jr $ra #---------------------------------------------- #--------------------------------------------------- Hamngto: addi $v0, $0, 4 la $a0, ngto syscall add $t0, $0, $0 #i=0 add $t1,$0,$a1 la $s1, a # mang? la s1 Lap_ngto: # Dau Thu Tuc . beq $t0, $a1, Ket_ngto addi $sp,$sp,-4 sw $ra,0($sp) lw $a0,0($s1) # Than Thu Tuc . jal KiemTraNguyenTo beq $v0,$0,boquant la $a0,khoangtrang addi $v0,$0,4 syscall lw $a0,0($s1) addi $v0,$0,1 syscall # Cuoi Thu Tuc . boquant: lw $ra,0($sp) addi $sp,$sp,4 add $s1, $s1, 4 addi $t0, $t0, 1 j Lap_ngto Ket_ngto: jr $ra #--------------------------------------------------------- #---------------------------------------------------- Hamhthien: addi $v0, $0, 4 la $a0, hthien syscall add $t0, $0, $0 #i=0 add $t1,$0,$a1 la $s1, a # mang? la s1 Lap_ht: # Dau Thu Tuc . beq $t0, $a1, Ket_ht addi $sp,$sp,-4 sw $ra,0($sp) lw $a0,0($s1) # Than Thu Tuc . jal KiemTraHoanThien beq $v0,$0,boquaht la $a0,khoangtrang addi $v0,$0,4 syscall lw $a0,0($s1) addi $v0,$0,1 syscall # Cuoi Thu Tuc . boquaht: lw $ra,0($sp) addi $sp,$sp,4 add $s1, $s1, 4 addi $t0, $t0, 1 j Lap_ht Ket_ht: jr $ra #------------------------------------------------ #--------------------------------------------------------- Thanks: # Hien Thi Loi Chao li $v0,4 la $a0,LoiChao syscall j Exit # Nhay den nhan Exit de thoat chuong trinh . #--------------------------------------------------------- #--------------------------------------------------------- Th: la $a0,chonlai addi $v0,$0,4 syscall addi $v0,$0,5 syscall beq $v0,$0,Chonlai Exit: # The End li $v0,10 syscall #------------------------ THE END -------------------------
Private
[
?
]
Run code
Submit