[ create a new paste ] login | about

Link: http://codepad.org/vKnF7Pg8    [ raw code | output | fork ]

C, pasted on May 6:
/* 

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:.asciiz "Nhap Vao So Nguyen A:"
	B:.asciiz "Nhap Vao So Nguyen B:"
	Tong:.asciiz "Tong Hai So La:"
	Hieu1:.asciiz "Hieu A - B La:"
	Hieu2:.asciiz "Hieu B - A La:"
	Tich:.asciiz "Tich Hai So La:"
	Thuong1:.asciiz "Thuong A/B La:"
	Thuong2:.asciiz "Thuong B/A La:"
	Du1:.asciiz "Chia Du A%B La:"
	Du2:.asciiz "Chia Du B%A La:"
	ErrorThuong1:.asciiz "Thuong A/B La:Do Mau So Khong Hop Le Nen Khong Thuc Hien Viec Tinh Toan Duoc!\n"
	ErrorThuong2:.asciiz "Thuong B/A La:Do Mau So Khong Hop Le Nen Khong Thuc Hien Viec Tinh Toan Duoc!\n"
	ErrorDu1:.asciiz "Chia Du A%B La:Do Mau So Khong Hop Le Nen Khong Thuc Hien Viec Tinh Toan Duoc!\n"
	ErrorDu2:.asciiz "Chia Du B%A La:Do Mau So Khong Hop Le Nen Khong Thuc Hien Viec Tinh Toan Duoc!\n"
	XuongDong:.asciiz "\n"
.text
main:
	# Xuat A
	li $v0,4
	la $a0,A
	syscall
	
	# Nhap so A
	li $v0,5
	syscall
	
	move $s0,$v0 # Dua gia tri A vua nhap vao thanh ghi $s0 .
	
	# Xuat B
	li $v0,4
	la $a0,B
	syscall

	# Nhap so B
	li $v0,5
	syscall
	
	move $s1,$v0 # Dua gia tri B vua nhap vao thanh ghi $s1 .
	
	# Tinh ket qua Tong
	add $s2,$s1,$s0 # $s2 = $s1 + $s0 .
	
	# Xuat Tong
	li $v0,4
	la $a0,Tong
	syscall
	
	move $a0,$s2 # Luu gia tri trong thanh ghi $s2 vao thanh ghi $a0 .
	
	# Xuat gia tri ket qua
	li $v0,1
	syscall
	
	# Xuong Dong
	li $v0,4
	la $a0,XuongDong
	syscall
	
	# Tinh ket qua Hieu A - B
	sub $s2,$s0,$s1 # $s2 = $s0 - $s1 .
	
	# Xuat Hieu A - B
	li $v0,4
	la $a0,Hieu1
	syscall
	
	move $a0,$s2 # Luu gia tri trong thanh ghi $s2 vao thanh ghi $a0 .
	
	# Xuat gia tri ket qua
	li $v0,1
	syscall
	
	# Xuong Dong
	li $v0,4
	la $a0,XuongDong
	syscall
	
	# Tinh ket qua Hieu B - A
	sub $s2,$s1,$s0 # $s2 = $s1 - $s0 .
	
	# Xuat Hieu B - A
	li $v0,4
	la $a0,Hieu2
	syscall
	
	move $a0,$s2 # Luu gia tri trong thanh ghi $s2 vao thanh ghi $a0 .
	
	# Xuat gia tri ket qua	
	li $v0,1
	syscall
	
	# Xuong Dong
	li $v0,4
	la $a0,XuongDong
	syscall
	
	# Tinh Tich A*B 
	mult $s0,$s1
	mflo $s2 # $s2 = $s0 * $s1
			
	# Xuat ket qua Tich
	li $v0,4
	la $a0,Tich
	syscall
	
	move $a0,$s2 # Luu gia tri trong thanh ghi $s2 vao thanh ghi $a0 .
	
	# Xuat gia tri ket qua
	li $v0,1
	syscall
	
	# Xuong Dong
	li $v0,4
	la $a0,XuongDong
	syscall
	
	# Tinh Thuong A/B 
	div $s0,$s1
	mflo $s2 # $s2 = $s0/$s1
	beq $s1,$0,FalseThuong1 # Neu mau so luu trong thanh ghi $s1 == 0 => khong hop le => bao loi .
	bne $s1,$0,TrueThuong1 # Neu mau so luu trong thanh ghi $s1 != 0 => hop le => in ra ket qua .
	
TrueThuong1:
	# Xuat ket qua Thuong A/B
	li $v0,4
	la $a0,Thuong1
	syscall
	
	move $a0,$s2 # Luu gia tri trong thanh ghi $s2 vao thanh ghi $a0 .
	
	# Xuat gia tri ket qua
	li $v0,1
	syscall
	
	# Xuong Dong
	li $v0,4
	la $a0,XuongDong
	syscall
	
	j TinhThuong2 # Sau khi thuc hien in ra ket qua thi chuong trinh nhay den nhan "TinhThuong2" roi tiep tuc tinh toan tiep tuc nhung yeu cau cua chuong trinh . Ta phai thuc hien buoc nhay vi neu khong chuong trinh se chay tuan tu xuong duoi va in ra cau thong bao co loi mac du mau so ta khong vi pham !
	
FalseThuong1:
	# Bao Loi Phep Chia A/B
	li $v0,4
	la $a0,ErrorThuong1
	syscall

TinhThuong2:	
	# Tinh Thuong B/A 
	div $s1,$s0
	mflo $s2 # $s2 = $s1/$s0
	beq $s0,$0,FalseThuong2 # Neu mau so luu trong thanh ghi $s0 == 0 => khong hop le => bao loi .
	bne $s0,$0,TrueThuong2  # Neu mau so luu trong thanh ghi $s0 != 0 => hop le => in ra ket qua .

TrueThuong2:			
	# Xuat ket qua Thuong B/A
	li $v0,4
	la $a0,Thuong2
	syscall
	
	move $a0,$s2 # Luu gia tri trong thanh ghi $s2 vao thanh ghi $a0 .
	
	# Xuat gia tri ket qua
	li $v0,1
	syscall
	
	# Xuong Dong
	li $v0,4
	la $a0,XuongDong
	syscall
	
	j TinhChiaDuAChoB  # Sau khi thuc hien in ra ket qua thi chuong trinh nhay den nhan "TinhChiaDuAChoB" roi tiep tuc tinh toan tiep tuc nhung yeu cau cua chuong trinh . Ta phai thuc hien buoc nhay vi neu khong chuong trinh se chay tuan tu xuong duoi va in ra cau thong bao co loi mac du mau so ta khong vi pham !

FalseThuong2:
	# Bao loi phep chia B/A
	li $v0,4
	la $a0,ErrorThuong2
	syscall
	
TinhChiaDuAChoB:	
	# Tinh Chia Du A%B  
	div $s0,$s1
	mfhi $s2 # $s2 = $s0%$s1
	beq $s1,$0,FalseChiaDuAChoB # Neu mau so luu trong thanh ghi $s1 == 0 => khong hop le => bao loi .
	bne $s1,$0,TrueChiaDuAChoB  # Neu mau so luu trong thanh ghi $s1 != 0 => hop le => in ra ket qua .		

TrueChiaDuAChoB:			
	# Xuat ket qua Chia Du A%B
	li $v0,4
	la $a0,Du1
	syscall
	
	move $a0,$s2 # Luu gia tri trong thanh ghi $s2 vao thanh ghi $a0 .
	
	# Xuat gia tri ket qua
	li $v0,1
	syscall
	
	# Xuong Dong
	li $v0,4
	la $a0,XuongDong
	syscall

	j TinhChiaDuBChoA
	
FalseChiaDuAChoB:
	# Bao loi phep chia A%B
	li $v0,4
	la $a0,ErrorDu1
	syscall

TinhChiaDuBChoA:
	# Tinh Chia Du B%A  
	div $s1,$s0
	mfhi $s2 # $s2 = $s1%$s0
	beq $s0,$0,FalseChiaDuBChoA
	bne $s0,$0,TrueChiaDuBChoA

TrueChiaDuBChoA:						
	# Xuat ket qua Chia Du B%A
	li $v0,4
	la $a0,Du2
	syscall
	
	move $a0,$s2 # Luu gia tri trong thanh ghi $s2 vao thanh ghi $a0 .
	
	# Xuat gia tri ket qua
	li $v0,1
	syscall
	
	# Xuong Dong
	li $v0,4
	la $a0,XuongDong
	syscall

	j Exit
	
FalseChiaDuBChoA:
	# Bao loi phep chia B%A
	li $v0,4
	la $a0,ErrorDu2
	syscall
	
Exit:
	li $v0,10
	syscall


Output:
Line 11: error: expected identifier or '(' before '.' token
Line 3: error: invalid preprocessing directive #Xuat
Line 3: error: invalid preprocessing directive #Nhap
Line 38: error: stray '#' in program
Line 3: error: invalid preprocessing directive #Xuat
Line 3: error: invalid preprocessing directive #Nhap
Line 49: error: stray '#' in program
Line 3: error: invalid preprocessing directive #Tinh
Line 52: error: stray '#' in program
Line 3: error: invalid preprocessing directive #Xuat
Line 59: error: stray '#' in program
Line 3: error: invalid preprocessing directive #Xuat
Line 3: error: invalid preprocessing directive #Xuong
Line 3: error: invalid preprocessing directive #Tinh
Line 71: error: stray '#' in program
Line 3: error: invalid preprocessing directive #Xuat
Line 78: error: stray '#' in program
Line 3: error: invalid preprocessing directive #Xuat
Line 3: error: invalid preprocessing directive #Xuong
Line 3: error: invalid preprocessing directive #Tinh
Line 90: error: stray '#' in program
Line 3: error: invalid preprocessing directive #Xuat
Line 97: error: stray '#' in program
Line 3: error: invalid preprocessing directive #Xuat
Line 3: error: invalid preprocessing directive #Xuong
Line 3: error: invalid preprocessing directive #Tinh
Line 110: error: stray '#' in program
Line 3: error: invalid preprocessing directive #Xuat
Line 117: error: stray '#' in program
Line 3: error: invalid preprocessing directive #Xuat
Line 3: error: invalid preprocessing directive #Xuong
Line 3: error: invalid preprocessing directive #Tinh
Line 130: error: stray '#' in program
Line 131: error: stray '#' in program
Line 132: error: stray '#' in program
Line 3: error: invalid preprocessing directive #Xuat
Line 140: error: stray '#' in program
Line 3: error: invalid preprocessing directive #Xuat
Line 3: error: invalid preprocessing directive #Xuong
Line 151: error: stray '#' in program
Line 3: error: invalid preprocessing directive #Bao
Line 3: error: invalid preprocessing directive #Tinh
Line 162: error: stray '#' in program
Line 163: error: stray '#' in program
Line 164: error: stray '#' in program
Line 3: error: invalid preprocessing directive #Xuat
Line 172: error: stray '#' in program
Line 3: error: invalid preprocessing directive #Xuat
Line 3: error: invalid preprocessing directive #Xuong
Line 183: error: stray '#' in program
Line 3: error: invalid preprocessing directive #Bao
Line 3: error: invalid preprocessing directive #Tinh
Line 194: error: stray '#' in program
Line 195: error: stray '#' in program
Line 196: error: stray '#' in program
Line 3: error: invalid preprocessing directive #Xuat
Line 204: error: stray '#' in program
Line 3: error: invalid preprocessing directive #Xuat
Line 3: error: invalid preprocessing directive #Xuong
Line 3: error: invalid preprocessing directive #Bao
Line 3: error: invalid preprocessing directive #Tinh
Line 226: error: stray '#' in program
Line 3: error: invalid preprocessing directive #Xuat
Line 236: error: stray '#' in program
Line 3: error: invalid preprocessing directive #Xuat
Line 3: error: invalid preprocessing directive #Xuong
Line 3: error: invalid preprocessing directive #Bao


Create a new paste based on this one


Comments: