e mới học ngôn ngử asembly mon a chị giúp đỡ..
thầy giáo giao cho bài là lập trình để hiển thị số đếm từ 0 tới 255..nhưng e lập trình nó chỉ chạy từ 1 tới 9 thôi..ko biết làm sao nữa..
code của e :
org 00h
main:


mov r0,#00h
lap:
lcall tach_so

lcall hien_thi
inc r0
sjmp lap


tach_so:
mov a,r0
mov b,#10
div ab
mov r1,b
mov b,#10
div ab
mov r2,b
mov r3,a
ret
hien_thi:
mov a,r1
lcall doi_so
lcall xuat_7d

mov dptr,#6003h
mov a,#01h
movx @dptr,a
lcall delay
mov a,#00h
movx @dptr,a
ret
mov a,r2
lcall doi_so
lcall xuat_7d

mov dptr,#6002h
mov a,#01h
movx @dptr,a
lcall delay
mov a,#00h
movx @dptr,a
ret
mov a,r3
lcall doi_so
lcall xuat_7d

mov dptr,#6001h
mov a,#01h
movx @dptr,a
lcall delay
mov a,#00h
movx @dptr,a
ret

delay:
mov r7,#255
lap_delay1:
mov r6,#255
lap_delay2:
nop
djnz r6,lap_delay2
djnz r7,lap_delay1
ret
doi_so:
mov a,r1

mov dptr,#tra_so
movc a,@a+dptr

mov dptr,#4000h
movx @dptr,a


ret
xuat_7d:
mov dptr,#4000h
movx @dptr,a

ret
tra_so:
db 3Fh,06h,5Bh,4Fh,66h
db 6Dh,7Dh,07h,7Fh,6Fh
end
mấy anh chị nào biết chỉ e với..

--------------------------------------------------------------------------------
Xem bài viết cùng chuyên mục: