单片机求30H~40H中最小的偶数的程序怎么写(用汇编语言)

如题所述

第1个回答  2014-12-25
;如下即可:

MOV B, #0FEH
MOV R0, #30H
LOOP:
MOV A, @R0
JB ACC.0, NEXT ;为奇数转移
CLR C
SUBB A, B ;相减
JNC NEXT ;大,则转
MOV B, @R0 ;保存较小的数
NEXT:
INC R0
CJNE R0, #41H, LOOP

SJMP $

END
第2个回答  2014-12-25
简单写一下,自己调吧

mov r7, #0FFh ;// 最小的数,初值是最大可能的值
mov r6, #1 ; // 一个偶数也没有的标志
mov r0, #30h
loop:
mov a, @R0
inc r0
jb acc.0, skip ; // 判断奇数,跳过
mov r6, #0 ; // 有至少一个偶数
; 以下的语句功能是 if ( a < R7 ) R7 = a
clr c
subb a, r7
jnc skip
mov r7, a

skip:
cjne R0, #40H, loop
ret ;// 结果在R6/R7中本回答被网友采纳
第3个回答  2014-12-24
用冒泡法,先排一下,排的时候,在判的时候去掉奇数.追问

具体的程序能否给一下

第4个回答  2014-12-24
可以定做。
相似回答