Ⅰ 匯編語言中ORL如何用,什麼叫做置位
匯編語言中,ORL是「按位或」操作指令,常用來測試兩個操作數是否同時為0,或者用來置位某些位,置位就是將一個位數據設置為1。
例如:
ORL A,R1;對A和R1進行或操作
JZ MAX;如果結果為0則跳轉到XAX繼續執行程序
ORL B,#0FH;將B寄存器的第4位置位
KEY4EQU30H
KEY2EQU31H
ORG0000H
LJMPMAIN
ORG0030H
MAIN:
CLREA
MOVSP,#5FH
MOVKEY2,#0
MOVKEY4,#0
LOOP:
JBP1.0,LOOP
MOVR7,#10
LCALLDELAY
JBP1.0,LOOP
JNBP1.0,$
MOVP3,#0C0H
LOOP0:
LCALLKEYDEAL
MOVA,KEY4
JNZLOOP41
MOVA,P3
ANLA,#0F0H
ORLA,#0EH
MOVP3,A
SJMPLOOP21
LOOP41:
DECA
JNZLOOP42
MOVA,P3
ANLA,#0F0H
ORLA,#0DH
MOVP3,A
SJMPLOOP21
LOOP42:
DECA
JNZLOOP43
MOVA,P3
ANLA,#0F0H
ORLA,#0BH
MOVP3,A
SJMPLOOP21
LOOP43:
DECA
JNZLOOP21
MOVA,P3
ANLA,#0F0H
ORLA,#07H
MOVP3,A
LOOP21:
MOVA,KEY2
JNZLOOP22
MOVA,P3
ANLA,#0FH
ORLA,#20H
MOVP3,A
SJMPLOOP3
LOOP22:
DECA
JNZLOOP3
MOVA,P3
ANLA,#0FH
ORLA,#10H
MOVP3,A
LOOP3:
LJMPLOOP0
;----------------------------
DELAY:
MOVR2,#2
DLY1:
MOVR3,#250
DJNZR3,$
DJNZR2,DLY1
DJNZR7,DELAY
RET
;-----------------------------
KEYDEAL:
JBP1.1,KEYEN1
MOVR7,#10
LCALLDELAY
JBP1.1,KEYEN1
JNBP1.1,$
INCKEY4
MOVA,KEY4
ANLA,#03H
MOVKEY4,A
KEYEN1:
JBP1.2,KEYEN2
MOVR7,#10
LCALLDELAY
JBP1.2,KEYEN2
JNBP1.2,$
INCKEY2
MOVA,KEY2
ANLA,#01H
MOVKEY2,A
KEYEN2:
RET
;-----------------------------
Ⅲ 編程實現下列邏輯功能
這個邏輯表達式,可以化簡,就是:Q = XYZ + XYF + XZF
假設,各個變數對應的引腳如下:
X:P1.0
Y:P1.1
Z:P1.2
F:P1.3
Q:P1.7
程序如下:
MOV C,P1.0
ANL C,P1.1
ANL C,P1.2
MOV F0,C
MOV C,P1.0
ANL C,P1.1
ANL C,P1.3
ORL C,F0
MOV F0,C
MOV C,P1.0
ANL C,P1.2
ANL C,P1.3
ORL C,F0
MOV P1.7,C
END
Ⅳ 單片機 編程
1\
mov c,p2.0
orl c,b.0
anl c,acc.0
orl c,p3.0
mov p1.7,c
如果B.0和P2.0都是1時兩者之和是1
Ⅳ 兩道單片機編程題目,用匯編語言
第一題:
ASC:
PUSH ACC
ANL A,#0FH
ADD A,#30H
MOV R2,A
POP ACC
ANL A,#0F0H
SWAP A
ADD A,#30H
MOV R3,A
RET
第二題:
BCDZH:
MOV R0,#20H
MOV R1,#30H
MOV R2,#16
LOOP:
MOV A,@R0
MOV B,A
INC R0
MOV A,@R0
SWAP A
ORL A,B
MOV @R1,A
INC R0
INC R1
DJNZ R2,LOOP
RET
Ⅵ 單片機編程題 急!!!高手進,小弟送分!!!
1。編程將外部數據存儲器2100H單元中的高4位置「1」,其餘位清「0」
MOV DPTR, #2100H ;設定地址
MOV A, #11110000B ;准備數字
MOVX @DPTR, A ;送到外部數據存儲器2100H單元中
2。編程將內部數據存儲器40H單元的第0位和第7位置「1」,其餘位取反。
MOV A, 40H
ORL A, #10000001B ;或,即是按照「位」相加
XRL A, #01111110B ;用1異或,相當與取反
MOV 40H, A
完
Ⅶ 匯編語言的編程方法
題目:a=1+2
mov a,#01h
add a,#02h
hehe!
能看懂嗎?
Ⅷ 用ANL和ORL指令編程將P1口的P1.0置低,P1.1置高,其餘位不變。(使用匯編語言)
MOV A,P1
ANL A,#0FCH
ORL A,#02H
MOV P1,A
Ⅸ 急求!!!哪位朋友指點下單片機程序題。。
ANL A, #17H; (A)=多少A是怎麼算出來的求解
Ⅹ 單片機匯編語言編程。在線等!!!!求大哥們幫下忙
;採納答案是錯誤的。
;按照他的程序,30H 單元並沒有任何變化。
;另外,他的程序,還用了許多非法指令。
;正確程序如下:
ANL 30H, #11111001B ;先將片內RAM 30H單元1、2位清0
ORL 30H, #00011000B ;3、4位置1
XRL 30H, #01100000B ;5、6位取反
;然後交換高低四位,存入片外RAM 3000H單元
MOV A, 30H
SWAP A
MOV DPTR, #3000H
MOVX @DPTR, A
END