全球旧事资料 分类
为0方法1:利用ANL指令判断正负、奇偶
ORG0030H
MOVANLJNZMOVANLJZ
AXA80HNEGAXA01HEVEN1
判断X正负若X为负,转NEG
X为正判断X奇偶若X为偶数,转EVEN1
MOVAXADDAY
若X为正奇数,Z=X+Y
SJMPRESULT
EVEN1
MOVAXORLAY
若X为正偶数,Z=X∨Y
NEG
SJMPMOVANLJZ
RESULTAXA01HEVEN2
X为负判断X奇偶若X为偶数,转EVEN2
MOVAXANLAY
若X为负奇数,Z=X∧Y
EVEN2
SJMPRESULTMOVAX
若X为负偶数,Z=XY
XRLAY
RESULTMOVZA
方法2:RL指令将符号位移入CY判断正负,RR指令将最低位移入CY判断奇偶
MOVAX
CLRC
RLCA
JC
NEG
X为负,转至NEG
RRCA
RRCJNC
AEVEN1
X为偶数,转至EVEN1
MOVAXADDAY
X为正奇数,Z=X+Y
SJMPRETULT
EVEN1MOVAXORLAY
X为正偶数,Z=X∨Y
SJMPRETULT
NEG
RRCA
RRCA
JNCEVEN2
MOVAXANLAY
X为负奇数,Z=X∧Y
SJMPRETULT
EVEN2MOVAXXRLAY
X为负偶数,Z=XY
RETULTMOVZA
END
4把一个8位二进制数的各位用ASCII码表示之(例如,为0的位用30H表示,为1的位用31H表示等)。该数存放在内部RAM的byte单元中。变换后得到的8个ASCII码存放在外部RAM以buf开始的存储单元中,试编程实现。ORG0030HMOVDPTRbufMOVR0byteMOVR708HMOVAR0
6
fCLRC
LOOP1RRCA
MOVR6A
JC
ONE
MOVA30H
SJMPLOOP2
ONE
MOVA31H
LOOP2MOVXDPTRA
INCDPTR
MOVAR6
DJNZR7LOOP1
5编程实现运算式ca2b2。假定a、b、c3个数分别存放于内部RAM的DA、DB、DC单元中,另有平方运算子程
序SQR供调用。ORG0030HMOVADAPUSHACCACALLSQRPOPACCMOVDCAMOVADBPUSHACCACALLSQRPOPACCADDADCMOVDCA
SQRPOPACCMOVBAMULABPUSHACCRETEND
6试编程实现两个ASCII码字符串是否相等。字符串的长度在内部RAM41H单元中,第1个字符串的首地址为42H,第2个字符串的首地址为52H。如果两个字符串相等,则置内部RAM40H单元为00H;否则置40H单元为FFH。ORG0030HMOVR042HMOVR152HMOVR741HLOOPMOVAR0MOV30HR1CJNEA30HLKINCR0INCR1DJNZR7LOOPMOV40H00HSJMPDDLKMOV40H0FFHDDSJMPDD
7在外部RAM首地址为table的数据表中,有10字节数据。试编程实现将每个字节的最高位无条件置1。
ORG
0030H
MOV
DPTRtable
MOV
R610
LOOPMOVX
ADPTR
SETB
ACC7
MOVX
DPTRA
INC
DPTR
DJNZ
R6LOOP
7
f第6章80C51单片机的中断与定时(一)填空题
1中断技术是解决资源竞争的有效方法,因此,可以说中断技术实质上是一种资源(共享)技术。2上电复位后,各中断优先级从高到低的次序为(外部中断0)、(定时器计数器0中断)、(r
好听全球资料 返回顶部