có bác nào biết cách viết asm để so sánh lớn hơn hay nhỏ hơn giá trị định sẵn không?làm ơn cho mình xin code.CÁM ƠN NHIỀU !!!!!!!!
Thông báo
Collapse
No announcement yet.
so sánh lớn hơn,nhỏ hơn trong ASM
Collapse
X
-
Nguyên văn bởi thaithanhtam Xem bài viếtcó bác nào biết cách viết asm để so sánh lớn hơn hay nhỏ hơn giá trị định sẵn không?làm ơn cho mình xin code.CÁM ƠN NHIỀU !!!!!!!!
nguong equ 100 ; dat nguong theo yeu cau
mov A,giatricansosanh
cjne A,#nguong,khac_nguong
khac_nguong:
;if A < nguong thi C=1
JC nho_hon
;A>=nguong
; Place your code here for >= nguong
sjmp end_sosanh
nho_hon:
; Place your code here for < nguong
end_sosanh:
email:mahaco@fpt.vn
-
Nguyên văn bởi thaithanhtam Xem bài viếtcó bác nào biết cách viết asm để so sánh lớn hơn hay nhỏ hơn giá trị định sẵn không?làm ơn cho mình xin code.CÁM ƠN NHIỀU !!!!!!!!
Ví dụ cho "nhảy nếu A lớn hơn"
Code:;định nghĩa Macro %*DEFINE (JGT(VALUE, LABEL)) ( CJNE A, #%VALUE+1, $+3 JNC %LABEL ) ;Xong, giời thì sử dụng, so sánh A, và 1 số %JGT(55H, LON_HON) ;Chỗ này dành cho chương trình nếu A nhỏ hơn ;.... LON_HON: ;Chỗ này dành cho chương trình nếu lớn hơn ...
Diễn đàn Vi điều khiển:
Comment
-
Nguyên văn bởi thaithanhtam Xem bài viếtnhưng giá trị a của mình luôn biến thiên các bạn ơi,giúp mình nhe!!!!!
mov A,giatricansosanh
giatricansosanh luôn biến thiên theo ý bạn mà, nó là 1 biến chiếm 1 ô nhớ 1 byte trong RAM.
Bạn hãy học ASM hơn nữa nhé, kiến thức của bạn thấy không ổn!
email:mahaco@fpt.vn
Comment
-
Nguyên văn bởi hoctro89xxx Xem bài viếtMẫu đây bạn ạ:
nguong equ 100 ; dat nguong theo yeu cau
mov A,giatricansosanh
cjne A,#nguong,khac_nguong ;(Cái này là so sánh với 100 chứ không phải so sánh với giá trị chứa trong ô nhớ địa chỉ 100)
khac_nguong:
;if A < nguong thi C=1
JC nho_hon
;A>=nguong
; Place your code here for >= nguong
sjmp end_sosanh
nho_hon:
; Place your code here for < nguong
end_sosanh:
nguong equ 100 ; dat nguong theo yeu cau(hằng số so sanh sẽ chứa trong ô nhớ 100
giatricansosanh equ 20h; them như vấy cho bạn ấy dể hiểu(biến để so sánh chứa trong ô nhớ 20h)
mov A,giatricansosanh
cjne A,nguong,khac_nguong
khac_nguong:
;if A < nguong thi C=1
JC nho_hon
;A>=nguong
; Place your code here for >= nguong
sjmp end_sosanh
nho_hon:
; Place your code here for < nguong
end_sosanh:Last edited by phienbinh; 09-06-2008, 14:23.
- 1 like
Comment
-
Nguyên văn bởi thaithanhtam Xem bài viếtcám ơn hai bạn,nhưng mình không biết c,mình muốn hỏi code viết bằng asm.các bạn có thì cho mình xin nhe,cám ơn nhiều lắm.
Comment
-
Nguyên văn bởi thaithanhtam Xem bài viếtcó bác nào biết cách viết asm để so sánh lớn hơn hay nhỏ hơn giá trị định sẵn không?làm ơn cho mình xin code.CÁM ƠN NHIỀU !!!!!!!!
nguong equ r1
giatricanss equ r2
..............................
mov a,nguong
sub a,giatricanss
jc nhohon ;kiểm tra co c để biết giá trị lớn hơn, bằng, hay nhỏ hơn
jz bang ; kiểm tra co z de biet gia tri co bang hay khong
;nếu giatricanss lon hon nguong làm lệnh kế
Ở đây mình dùng lệnh SUB(trừ), lấy giá trị cần so sánh trừ cho ngưỡng, nếu kết quả lớn hơn hoặc bằng thì cờ c = 0, nếu kết quả nhỏ hơn thì cờ c = 1. Như vậy chúng ta đi kiểm tra cờ c thì sẽ biết kết quả lớn hơn hoặc bằng hay nhỏ hơn. Để biết kết quả có bằng không thì ta kiểm tra cờ z, nếu bằng thì cờ z = 1.
Comment
-
hi.. chắc bạn mới đụng vào 89, mà bạn có tài liệu nào về tập lệnh của 89 ko, của thầy tống văn on hoặc các tài liệu trong các trường đại học chẳng hạn.
bạn coi kĩ chỗ giải thích cho lệnh CJNE ở trang 278 trong sách của thầy tống văn on.
cjne x,y,nhãn
x khác y thì nhảy đến nhãn
x=y thì thực hiện lệnh kế.
đồng thời:
c=1 nếu x<y
c=0 nếu x>=y
trong đó
x là a,Rn hoặc @Ri
y là data,Rn...
nhãn: là tên nhãn bạn đặt ở đâu mà muốn chương trình nhảy tới.
và giá trị so sánh ở đây là giá trị nguyên không dấu 8 bit (0-255)
Comment
-
Ngoài chống nhiễu ở phần cứng, thì ở phần mềm bạn viết đoạn code kiểm tra tồn tại của tín hiệu tại cổng nhận sau 1 thời gian nhất định (thường nhiễu có biên độ cao nhưng thời gian tồn tại ngắn), trong thời gian kiểm tra nếu vẫn tồn tại liên tục thì nhận nó là tín hiệu, ngược lại thì coi là nhiểu.
Thí dụ, sau khi vào ngắt ( chân INT0, active logic = 0):
push r0
move r0 # 50
loop1: jb INT0, loop2 ; if INT0=1 > nhiểu, nhảy đến loop2 (bỏ qua).
djnz r0, loop1
------ ; tín hiệu thật vào xử lý
------
loop2: pop r0
reti
Bạn thử xem.
Comment
-
CÁM ƠN CÁC BẠN,BÀI TOÁN CHỐNG NHIỂU CHO NGẮT MÌNH ĐÃ GIẢI QUYẾT XONG RỒI.
Mình chọn ngắt theo mức & cho kiểm tra khi chân ngắt về lại mức 1 mình cho delay khoảng 50ms xong mới thực hiện lệnh trong ngắt,hết nhiểu các bạn ạ.Last edited by thaithanhtam; 23-06-2008, 22:49.
Comment
Bài viết mới nhất
Collapse
-
bởi bqvietBộ pin tự chế trộm vía vẫn ổn, dù thụt vài % mỗi năm nhưng không đòi hỏi gì hơn ở cell cũ. Việc bộ pin sụt áp khi tải nặng 14 - 21A là chuyện bình thuờng. Nhất là khi BMS thực ra cũng không đo đúng ở đầu cực, cũng không đo theo phương...
-
Channel: Điện tử dành cho người mới bắt đầu
hôm nay, 01:20 -
-
Trả lời cho Dùng biến áp tự ngẫu 110V có tốn điện không?bởi nhathung1101"Tốn nhiều" hay ít là do quan điểm mỗi người.
Có khi cả tháng chẳng bằng ly ca fé lại bảo tốn nhiều, hoặc 1 ngày bằng cả tháng lương thì lại thấy ít.
Nhưng những thiết bị dùng mạch điện tử thì cứ để...-
Channel: Điện tử gia dụng
Hôm qua, 21:14 -
-
Trả lời cho Dùng biến áp tự ngẫu 110V có tốn điện không?bởi mèomướpDạ
1.ko
2.có để tránh cháy nổ
3.ko
4.có. thiết bị điện tử ảnh hưởng chút ít còn biến áp thì hông sao đâu ạ...-
Channel: Điện tử gia dụng
Hôm qua, 15:27 -
-
bởi afrendlyChào mọi người. Mình dùng đồ Nhật cũ dùng điện 100V và họ bán kèm theo biến áp STD-VIET 100V. Mọi người có kinh nghiệm, hiểu biết cho mình hỏi:
1. Dùng biến áp như vậy thì tốn điện nhiều không?
2. Khi không dùng thiết bị trong...-
Channel: Điện tử gia dụng
Hôm qua, 09:42 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi viettinhTả thực, dễ nghe, dễ hiểu rất hay và cảm xúc
Để làm con vé số, trúng số là em đập luôn con Sony mua con tầu về chơi ...-
Channel: Điện thanh
12-01-2025, 09:17 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi viettinhEm gỡ mác con Sony gắn cho con tầu, con tầu gắn cho sony. Mở con Sony để dìm hàng bọn tầu ...
-
Channel: Điện thanh
12-01-2025, 09:11 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi nhathung1101Vừa thử lại, con loa kẹo kéo Tầu giá 1tr2 và loa Pionner.
Thử đọc chứ chưa hát:
- Ủa ái ni thì loa tàu ra đúng.
- Ủa ái ni trên con Pionner thành Ùa ái ni. Mà từ "ái" lại rõ to.
Thử "chèm...-
Channel: Điện thanh
12-01-2025, 00:23 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi nhathung1101Nhưng anh em nào còn đam mê sửa nguồn thì cứ cố gắng.
Tiền số đang có giá, mà nguồn cho bọn "trâu cày" toàn vài Kw.
Làm được vẫn sống tốt. Tôi thì nghỉ hưu rồi.
Hôm trước có ku em năn nỉ tôi sửa cho nó cái nguồn 12V/170Amp. Tôi bảo đi mua cái mới.
-
Channel: Điện tử công suất
12-01-2025, 00:02 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi nhathung1101Ngày xưa, còn làm với bên viễn thông (giờ chẳng thèm làm vì công bèo).
Tôi sửa nguồn, tối thiểu phải đủ công cụ:
- Osciloscope.
- Logic Analyzer (để làm với chuẩn truyền thông)
- Đồng hồ đo dòng. Đồng hồ đo áp. Đồng...-
Channel: Điện tử công suất
11-01-2025, 23:43 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi nhathung1101Thì không cấp nguồn là an toàn nhất rồi còn gì? Lo gì cháy nổ.
Còn đo đạc thì kiểm tra huyết áp hay nhịp tim ở cô hàng xóm vậy.
Còn Mèo thì toàn xúi thâm, thằng nào nghe cứ lãnh đủ. Chuyên lừa chuột non....-
Channel: Điện tử công suất
11-01-2025, 23:32 -
Comment