PDA

View Full Version : LỖi lẬp trÌnh asm


anphafurniture
16-04-2013, 10:24 AM
ORG 000H
CTCHINH:
LJMP HIEUUNG1
LJMP HIEUUNG2
LJMP HIEUUNG3
LJMP CTCHINH


HIEUUNG1:
D1: MOV A,#000H
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,A
LCALL DELAY
D2: MOV A,#0FFH
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,A
LCALL DELAY
RET
HIEUUNG2:
MOV A,#000H
MOV R0,#0FFH
LCALL DELAY
MOV P0,A
LCALL DELAY
MOV P0,R0
MOV P2,A
LCALL DELAY
MOV P2,R0
MOV P3,A
LCALL DELAY
MOV P3,R0
MOV P1,A
LCALL DELAY
MOV P1,R0
LCALL DELAY
SJMP $
MOV P1,A
LCALL DELAY
MOV P1,R0
MOV P3,A
LCALL DELAY
MOV P3,0
MOV P2,A
LCALL DELAY
MOV P2,0
MOV P0,A
LCALL DELAY
MOV P0,R0
RET
HIEUUNG3:
NHAY:
SJMP CHAY2
LCALL DELAY
lJMP CHAY4
LCALL DELAY
lJMP CHAY3
LCALL DELAY
lJMP CHAY5
LCALL DELAY
LJMP CHAY1
LCALL DELAY
LJMP CHAY1
LCALL DELAY
LJMP CHAY7
LCALL DELAY
LJMP CHAY8
LCALL DELAY
LJMP CHAY2
LJMP CHAY3
LCALL DELAY
LJMP CHAY4
LJMP CHAY1
RET
LCALL D2
MOV R0,#11111110B
MOV R1,#11111101B
MOV R2,#11111011B
MOV R3,#11110111B
MOV R4,#11101111B
MOV R5,#11011111B
MOV R6,#10111111B
MOV R7,#01111111B
CHAY1:
MOV P0,R0
LCALL DELAY
MOV P0,R1
LCALL DELAY
MOV P0,R2
LCALL DELAY
MOV P0,R3
LCALL DELAY
MOV P0,R4
LCALL DELAY
MOV P0,R5
LCALL DELAY
MOV P0,R6
LCALL DELAY
MOV P0,R7
LCALL DELAY
MOV P0,#0FFH
LCALL DELAY
RET
CHAY2:
MOV P1,R0
LCALL DELAY
MOV P1,R1
LCALL DELAY
MOV P1,R2
LCALL DELAY
MOV P1,R3
LCALL DELAY
MOV P1,R4
LCALL DELAY
MOV P1,R5
LCALL DELAY
MOV P1,R6
LCALL DELAY
MOV P1,R7
LCALL DELAY
MOV P1,#0FFH
LCALL DELAY
RET
CHAY3:
MOV P2,R0
LCALL DELAY
MOV P2,R1
LCALL DELAY
MOV P2,R2
LCALL DELAY
MOV P2,R3
LCALL DELAY
MOV P2,R4
LCALL DELAY
MOV P2,R5
LCALL DELAY
MOV P2,R6
LCALL DELAY
MOV P2,R7
LCALL DELAY
MOV P2,#0FFH
LCALL DELAY
RET
CHAY4:
MOV P3,R0
LCALL DELAY
MOV P3,R1
LCALL DELAY
MOV P3,R2
LCALL DELAY
MOV P3,R3
LCALL DELAY
MOV P3,R4
LCALL DELAY
MOV P3,R5
LCALL DELAY
MOV P3,R6
LCALL DELAY
MOV P3,R7
LCALL DELAY
MOV P3,#0FFH
LCALL DELAY
RET
CHAY5:
MOV P0,R7
LCALL DELAY
MOV P0,R6
LCALL DELAY
MOV P0,R5
LCALL DELAY
MOV P0,R4
LCALL DELAY
MOV P0,R3
LCALL DELAY
MOV P0,R2
LCALL DELAY
MOV P0,R1
LCALL DELAY
MOV P0,R0
LCALL DELAY
MOV P0,#0FFH
LCALL DELAY
RET
CHAY6:
MOV P1,R7
LCALL DELAY
MOV P1,R6
LCALL DELAY
MOV P1,R5
LCALL DELAY
MOV P1,R4
LCALL DELAY
MOV P1,R3
LCALL DELAY
MOV P1,R2
LCALL DELAY
MOV P1,R1
LCALL DELAY
MOV P1,R0
LCALL DELAY
MOV P1,#0FFH
LCALL DELAY
RET
CHAY7:
MOV P2,R7
LCALL DELAY
MOV P2,R6
LCALL DELAY
MOV P2,R5
LCALL DELAY
MOV P2,R4
LCALL DELAY
MOV P2,R3
LCALL DELAY
MOV P2,R2
LCALL DELAY
MOV P2,R1
LCALL DELAY
MOV P2,R0
LCALL DELAY
MOV P2,#0FFH
LCALL DELAY
RET
CHAY8:
MOV P3,R7
LCALL DELAY
MOV P3,R6
LCALL DELAY
MOV P3,R5
LCALL DELAY
MOV P3,R4
LCALL DELAY
MOV P3,R3
LCALL DELAY
MOV P3,R2
LCALL DELAY
MOV P3,R1
LCALL DELAY
MOV P3,R0
LCALL DELAY
MOV P3,#0FFH
LCALL DELAY
RET

DELAY:

MOV R1,#0FFH
KT1: MOV R2,#0FFH
KT2: DJNZ R2,$
DJNZ R1,KT1
RET
END








EM viết bằng chương trình pinnacle52 các anh xem giúp em xem nó sai ở đâu mí ạ! e mô phỏng nó ko chạy ạ!

sonkimhn
16-04-2013, 10:24 AM
Ban dua ca 1 chuong trinh len day thi ai ranh ma doc soat loi cho ban. Ban nen dua ra mach va hien tuong no sai o dau, nhu vay moi nguoi se tim nhung loi sai o do. Ban se hieu dc can ce hon. sr ko viet dc dau.

lagiangfpc
16-04-2013, 10:24 AM
HIX! EM nghĩ là các anh chỉ cần paste nó vào và chạy là biết thôi mà ạ :D

nghiathanh2000
16-04-2013, 10:24 AM
Thế chắc là lỗi từ ngoài thì do câu lệnh, còn khi ko sai câu lệnh thì lỗi do tư duy lập trình, phải dịch ra file hex rồi nạp vào chip ảo để test chứ.

doanhphuong
16-04-2013, 10:24 AM
bạn thử xem lại đi mình chạy thử bằng keic không có lỗi j cả!
mình góp ý thế này:
bạn viết code rất lộn xộn không có cấu trúc; mình đọc thấy rất lan man
theo mình đoạn code này có thể rút ngắn lại được rất nhiều
bạn post yêu cầu của bài lên mình sẽ cố gắng giúp!

chinh186
16-04-2013, 10:24 AM
đúng rồi, theo mình cũng vậy.