若内部RAM (20H)等于5EH
来源:学生作业帮助网 编辑:作业帮 时间:2024/08/20 02:18:15
MOVDPTR,#2000HMOV20H,#0;先用0当做最大数(求最小数时,用255)MOVR2,#16LOOP:MOVXA,@DPTRCJNEA,20H,TTT;(A)-(20H)TTT:JCNE
MOVA,30HMOVB,31HMULABMOVR2,BMOVR3,AEND
;MOV32H,30HMOVA,30HCLRCSUBBA,31H;(30H)-(31H)JNBACC.7,ZZZ;差为正数则转移JBOV,_END;负、且溢出转至结尾SJMPXXX;否则去存31HZZ
我按照你的要求给你写了一段程序,加了标注,你分析一下吧movr0,#30H;数据地址movr5,#0FH;数据个数movr7,#00h;比较缓存LOOP:movr2,@r0;取出数据存入r2cjner
movsi,30h;数据区首地址装入源变址寄存器SIlodsb;把第一个数读入AL,作为最大数movcx,9;循环比较9次Compare:;开始逐个比较cmpal,byteptr[si];把当前最大数
程序如下:MOVR0,#20HMOVDPTR,#1000HLOOP:MOVA,@R0MOVX@DPTR,AMOV@R0,#0INCDPTRINCR0CJNER0,#31H,LOOPSJMP$END
MOVR1,#50HMOVDPTR,#20HL1:CLRAMOVCA,@A+DPTRMOVR2,AMOVA,#DPTRMOVR0,AMOVA,R2MOVX@R0,AINCDPTRDJNZR1,L1再问
;MOVR0,#30HMOVR1,#40HMOVR2,#4CLRCLOOP:MOVA,@R0SUBBA,@R1MOV@R0,AINCR0INCR1DJNZR2,LOOPCLRASUBBA,#0MOV@
PUSH20HPUSH21HPOP20HPOP21H
(SP)=0BH(0AH)=67H(0BH)=45H
movdi,31hss:cmpax,[di]jzddmovax,[di]dd:incdiloopssmov[40h],ax
空1处:MOVR7,#08H空2处:CLRCSUBBA,2AH
MOVA,20H;A=5EH,(20H)=5EH=01011110B,所以(04H)位单元=1,位3单元也等于1MOVC,04H;C=1MOVAcc.0,C;A的最低位等于1,所以A=5FH了MOVC
:ORG0000HMOVR0,#20HMOVR7,#3LOOP:MOVA,@R0;取数.JNBACC.7,L2CPLAINCAORLA,#80HMOV@R0,A;存回去.L2:INCR0DJNZR7,
MOV2FH,20HMOV2EH,21HMOV2DH,22H只用这三条指令即可.
典型的51单片机内部RAM是256B,8根地址线(8位),这256B共分为高128位和低128位,用户使用的区域是低128位(即00H~7FH),通过程序计数器PC寻址.51单片机的外部RAM可扩展到
CLRC;C=0CLR08H;21H.0=0CPL09H;21H.1=0->1SETBC;C=1SETB0FH;21H.7=1CPLC;C=1->0;21H=0F2HC=0再问:请问,08H,09H和
MCS-51系列单片机片内RAM共有128字节,地址范围为00H~7FH.在这128字节中,全部都可以按照字节地址进行操作(读、写或运算),直接或间接寻址方式皆可.在这128字节中,按照使用特点,可以
嘿嘿还是俺来帮你吧1JBACC.7,IERO;小于0转IERO2JNBACC.7,POSITIVE;大于0转POSITIVE呵呵满意就选满意回答吧再问:谢谢谢谢啊不好意思题目抄错了第一句判断是否等于0
movdptr,#20hmovxa,@dptrmovb,aincdptrmovxa,@dptrmulabincdptrmovx@dptr,amova,bincdptrmovx@dptr,a