תוכנה: |
|
תוכנה |
הוראות חשבוניות
תיאור |
CYCLES |
BYTES |
MNEMONIC |
חבר ל - A נתון מיידי |
1 |
2 |
ADD A,#DATA |
חבר ל A בית ישיר |
1 |
2 |
ADD A,DIRECT |
חבר ל A בית עקיף |
1 |
1 |
ADD A,@R0 |
1 |
1 |
ADD A,@R1 |
|
חבר ל A תוכן אוגר |
1 |
1 |
ADD A,Rn |
חבר ל A נשא ונתון מיידי |
1 |
2 |
ADDC A,#DATA |
חבר ל A נשא ובית ישיר |
1 |
2 |
ADDC A,DIRECT |
חבר ל A נשא ובית עקיף |
1 |
1 |
ADDC A,@R0 |
1 |
1 |
ADDC A,@R1 |
|
חבר ל - A נשא ותוכן אוגר |
1 |
1 |
ADDC A,Rn |
חסר מ - A נשא ונתון מיידי |
1 |
2 |
SUBB A,#DATA |
חסר מ - A נשא ובית ישיר |
1 |
2 |
SUBB A,DIRECT |
חסר מ - A נשא ובית עקיף |
1 |
1 |
SUBB A,@R0 |
1 |
1 |
SUBB A,@R1 |
|
חסר מ - A נשא ותוכן אוגר |
1 |
1 |
SUBB A,Rn |
הכפל A ב - B ; MSD ל - B ; LSD ל - A |
4 |
1 |
MUL AB |
חלק A ב - B; מנה ל - A ; שארית ל - B |
4 |
1 |
DIV AB |
הגדל A ב - 1 |
1 |
1 |
INC A |
הגדל בית ישיר ב - 1 |
1 |
2 |
INC DIRECT |
הגדל בית עקיף ב - 1 |
1 |
1 |
INC @R0 |
1 |
1 |
INC @R1 |
|
הגדל תוכן אוגר ב - 1 |
1 |
1 |
INC Rn |
הגדל DPTR ב - 1 |
2 |
1 |
INC DPTR |
הקטן A ב - 1 |
1 |
1 |
DEC A |
הקטן בית ישיר ב - 1 |
1 |
2 |
DEC DIRECT |
הקטן בית עקיף ב - 1 |
1 |
1 |
DEC @R0 |
1 |
1 |
DEC @R1 |
|
הקטן תוכן אוגר ב - 1 |
1 |
1 |
DEC Rn |
המר תוכן A לצופן BCD |
1 |
1 |
DA A |
הוראות לוגיות
תאור |
CYCLES | BYTES |
MNEMONIC |
חבר ל -A בית מיידי | 1 |
2 |
ADD A,#DATA |
חבר ל - A בית ישיר | 1 |
2 |
ADD A,DIRECT |
חבר ל - A בית עקיף | 1 |
1 |
ADD A,@R0 |
1 |
1 |
ADD A,@R1 |
|
חבר ל - A תוכן אוגר | 1 |
1 |
ADD A,Rn |
חבר ל - A נשא ונתון מיידי | 1 |
2 |
ADDC A,#DATA |
חבר ל - A נשא ובית ישיר | 1 |
2 |
ADDC A,DIRECT |
חבר ל - A נשא ובית עקיף | 1 |
1 |
ADDC A,@R0 |
1 |
1 |
ADDC A,@R1 |
|
חבר ל - A נשא ותוכן אוגר |
1 |
1 |
ADDC A,Rn |
חסר מ - A נשא ונתון מיידי |
1 |
2 |
SUBB A,#DATA |
חסר מ - A נשא ובית ישיר |
1 |
2 |
SUBB A,DIRECT |
חסר מ - A נשא ובית עקיף |
1 |
1 |
SUBB A,@R0 |
1 |
1 |
SUBB A,@R1 |
|
חסר מ - A נשא ותוכן אוגר |
1 |
1 |
SUBB A,Rn |
הכפל A ב - B ; MSD ל - B ; LSD ל - A |
4 |
1 |
MUL AB |
חלק A ב - B; מנה ל - A ; שארית ל - B |
4 |
1 |
DIV AB |
הגדל A ב - 1 |
1 |
1 |
INC A |
הגדל בית ישיר ב - 1 |
1 |
2 |
INC DIRECT |
הגדל בית עקיף ב - 1 |
1 |
1 |
INC @R0 |
1 |
1 |
INC @R1 |
|
הגדל תוכן אוגר ב - 1 |
1 |
1 |
INC Rn |
הגדל DPTR ב - 1 |
2 |
1 |
INC DPTR |
העברת נתונים
בית עקיף הוא בית ב - RAM פנימי במיעון עקיף . בית ש - R0 או R1 מצביעים עליו .
תיאור |
CYCLES |
BYTES |
MNEMONIC |
העבר נתון מיידי ל - A |
1 |
2 |
MOV A,#DATA |
העבר בית ישיר ל - A |
1 |
2 |
MOV A,DIRECT |
העבר בית עקיף ל - A |
1 |
1 |
MOV A,@R0 |
1 |
1 |
MOV A,@R1 |
|
העבר תוכן אוגר ל - A |
1 |
1 |
MOV A, Rn |
העבר תוכן A לאוגר |
1 |
1 |
MOV Rn,A |
העבר תוכן מיידי לאוגר |
1 |
2 |
MOV Rn,#DATA |
העבר בית ישיר ל - Rn |
2 |
2 |
MOV Rn,DIRECT |
העבר תוכן A לבית ישיר |
1 |
2 |
MOV DIRECT,A |
העבר נתון מיידי לבית ישיר |
2 |
3 |
MOV DIRECT,@DATA |
העבר בית ישיר לבית ישיר |
2 |
3 |
MOV DIRECT,DIRECT |
העבר בית עקיף לבית ישיר |
2 |
2 |
MOV DIRECT,@R0 |
2 |
2 |
MOV DIRECT,R1 |
|
העבר תוכן האוגר לבית ישיר |
2 |
2 |
MOV DIRECT,Rn |
העבר תוכן A לבית עקיף |
1 |
1 |
MOV @R0,A |
1 |
1 |
MOV @R1,A |
|
העבר נתון מיידי לבית עקיף |
1 |
2 |
MOV @R0,#DATA |
1 |
2 |
MOV @R1,#DATA |
|
העבר בית ישיר לבית עקיף |
2 |
2 |
MOV @R0,DIRECT |
2 |
2 |
MOV @R1,DIRECT |
|
העבר נתון מיידי בן 16 סיביות ל - DPTR |
2 |
3 |
MOV DPTR,#DATA16 |
העבר בית ל - A מאזור PROGRAM מהכתובת A+DPTR |
2 |
1 |
MOVC A,@A+DPTR |
העבר בית ל - A מאזור PROGRAM מהכתובת A+PC |
2 |
1 |
MOVC A,@A+PC |
העבר בית ל - A מ - RAM חיצוני מהכתובת DPTR |
2 |
1 |
MOVX A,@DPTR |
העבר בית ל - A מ - RAM חיצוני מהכתובת 0R |
2 |
1 |
MOVX A,@R0 |
העבר בית ל - A מ - RAM חיצוני מהכתובת R1 |
2 |
1 |
MOVX A,@R1 |
העבר תוכןA לבית ב - RAM החיצוני בכתובת DPTR |
2 |
1 |
MOVX @DPTR,A |
העבר תוכןA לבית ב - RAM החיצוני בכתובת R0 |
2 |
1 |
MOVX @R0,A |
העבר תוכןA לבית ב - RAM החיצוני בכתובת R1 |
2 |
1 |
MOVX @R1,A |
החלף תוכן A עם בית ישיר |
1 |
2 |
XCH A,DIRECT |
החלף תוכן A עם בית עקיף |
1 |
1 |
XCH A,@R0 |
1 |
1 |
XCH A,@R1 |
|
החלף תוכן A עם תוכן האוגר |
1 |
1 |
XCH A,Rn |
החלף 4 סיביות LSB בבית עקיף |
1 |
1 |
XCHD A,@R0 |
עם 4 סיביות LSB ב - A |
1 |
1 |
XCHD A,@R1 |
דחוף בית ישיר למחסנית |
2 |
2 |
PUSH DIRECT |
משוך בית ישיר מהמחסנית |
2 |
2 |
POP DIRECT |
אלגברה בוליאנית
אפס נשא |
2 |
1 |
CLR C |
אפס סיבית ישירה |
1 |
2 |
CLR BIT |
קבע 1 בנשא |
1 |
1 |
SETB C |
קבע 1 בסיבית ישירה |
1 |
2 |
SETB BIT |
בצע משלים לנשא |
1 |
1 |
CPL C |
בצע משלים לסיבית ישירה |
1 |
2 |
CPL BIT |
AND בין סיבית ישירה |
2 |
2 |
ANL C,BIT |
AND בין משלים לסיבית ישירה |
2 |
2 |
ANL C,/BIT |
OR בין סיבית ישירה לנשא |
2 |
2 |
ORL C,BIT |
OR בין משלים לסיבית ישירה לנשא |
2 |
2 |
ORL C,/BIT |
העבר סיבית ישירה לנושא |
1 |
2 |
MOV C,BIT |
העבר נשא לסיבית ישירה |
2 |
2 |
MOV BIT,C |
דלג אם סיבית ישירה ב - 1 ואפס אותה |
2 |
3 |
JBC BIT,REL |
דלג אם סיבית ישירה ב - 1 |
2 |
3 |
JB BIT,REL |
דלג אם סיבית ישירה ב - 0 |
2 |
3 |
JNB BIT,REL |
דלג אם נשא ב - 1 |
2 |
2 |
JC REL |
דלג אם נשא ב - 0 |
2 |
2 |
JNL REL |
הוראות הסתעפות
קרא לתוכנית משנה עם כתובת חלקית |
2 |
2 |
ACALL ADDR11 |
קרא לתוכנית משנה רחוקה |
2 |
3 |
LCALL ADDR16 |
חזור מתוכנית משנה |
2 |
1 |
RET |
חזור מפסיקה |
2 |
1 |
RETI |
דלג עם כתובת חלקית |
2 |
2 |
AJMP ADDR11 |
דלג רחוק |
2 |
3 |
LJMP ADDR16 |
דלג קרוב בהסט |
2 |
2 |
SJMP REL |
דלג לכתובת ( DPTR +A ) |
2 |
1 |
JMP @A+DPTR |
דלג אם 0 = A |
2 |
2 |
JZ REL |
דלג אם 0 = A |
2 |
2 |
JNZ REL |
השווה בין A לנתון מיידי ודלג אם אינם שווים |
2 |
3 |
CJNE A,#DATA,REL |
השווה בין A לבית ישיר ודלג אם אינם שווים |
2 |
3 |
CJNE A,DIRECT,REL |
השווה בין A לבית עקיף ודלג אם אינם שווים |
2 |
3 |
CJNE @R0,#DATA,REL |
2 |
3 |
CJNE @R1,#DATA,REL |
|
השווה בין A לאוגר ודלג אם אינם שווים |
2 |
3 |
CJNE Rn,#DATA,REL |
חסר 1 מבית ישיר ודלג אם שונה מ - 0 |
2 |
3 |
DJNZ DIRECT,REL |
חסר 1 מאוגר ודלג אם שונה מ - 0 |
2 |
3 |
DJNZ Rn,REL |
אין פעולה |
1 |
1 |
NOP |
דגלים
רק חלק קטן מההוראות משפיע על דגלים . בטבלה הבאה רשומות הוראות המשפיעות על
דגלים . X בטבלה מציין שהדגל יונף הוא יורד בהתאם לתוצאת הפעולה . 0 מציין שהדגל
יתאפס עם ביצוע ההוראה . 1 מציין שהדגל יונף עם ביצוע ההוראה .
הוראות
CY
OV
AC
ADD
x
x
x
ADDC
x
x
x
SUBB
x
x
x
MUL
0
x
DIV
0
x
DA
x
RRC
x
RLC
x
SETB C
1
CLR C
0
CPL C
x
ANL C,BIT
x
ANL C,/BIT
x
ORL C,BIT
x
ORL C,/BIT
x
MOV C,BIT
x
CJNE
x