假设片内RAM德30H~3FH单元中保存的都是8位无符号的整数,找出最大值
来源:学生作业帮助网 编辑:作业帮 时间:2024/05/25 20:32:28
LOOP2:MOVR0,30HMOVA,@R0INCR0MOV60H,@R0CLRCCJNEA,60H,LOOPLOOP:JCQDMOV20H,60HQD:MOV20H,ADJNZ#16H,LOOP2
51内部RAM,分为直接寻址空间和间接寻址空间两个部分;MOV10H,A;直接寻址访问MOVR0,#10H;间接寻址MOV@R0,A其中,两者寻址范围都有0~255,只不过前面的128字节(0~127
MOVDPTR,#2000HMOV20H,#0;先用0当做最大数(求最小数时,用255)MOVR2,#16LOOP:MOVXA,@DPTRCJNEA,20H,TTT;(A)-(20H)TTT:JCNE
;MOVB,#0MOVDPTR,#1000HMOVR2,#100LOP:MOVXA,@DPTRCJNEA,B,$+3JCNEXTMOVB,ANEXT:INCDPTRDJNZR2,LOPMOVDPTR,
;MOVTPTR,#2000HMOVR2,#100MOVR3,#0MOVR4,#0MOVR5,#0LOOP:MOVA,@DPTRJZZZZJBACC.7,FUINCR3;正数个数JMPNEXTFU:I
对片内可以直接寻址和间接寻址,对片外的只能间接寻址
;MOV32H,30HMOVA,30HCLRCSUBBA,31H;(30H)-(31H)JNBACC.7,ZZZ;差为正数则转移JBOV,_END;负、且溢出转至结尾SJMPXXX;否则去存31HZZ
连接DF在菱形ABCD中,AB=AD,角BAF=角DAF,AF=AF,所以三角形ABF全等于三角形ADF,所以角ABF=角ADF,BF=DF因为角ABC=角ADC所以角CBH=角CDF因为BF=DE所
连DF∵ABCD是菱形∴AD∥BC∴∠1=∠2易证△BCF≌△DCF∴∠1=∠3,BF=DF∵DE=BF∴DE=DF∴∠2=∠3∴∠3=∠4∴DH=FH
这个程序很简单,很多教材上都有的,movr3,#16movr0,#20hmovr1,#28hloop:mova,@r0mov@r1,aincr0incr1djnzr3,loop看懂了,再稍微修改一下,
我按照你的要求给你写了一段程序,加了标注,你分析一下吧movr0,#30H;数据地址movr5,#0FH;数据个数movr7,#00h;比较缓存LOOP:movr2,@r0;取出数据存入r2cjner
MOVDPTR,#1000HMOVA,@DPTRMOVDPTR,#4000HMOV@DPTR,A
movsi,30h;数据区首地址装入源变址寄存器SIlodsb;把第一个数读入AL,作为最大数movcx,9;循环比较9次Compare:;开始逐个比较cmpal,byteptr[si];把当前最大数
程序如下:MOVR0,#20HMOVDPTR,#1000HLOOP:MOVA,@R0MOVX@DPTR,AMOV@R0,#0INCDPTRINCR0CJNER0,#31H,LOOPSJMP$END
PUSH20HPUSH21HPOP20HPOP21H
MOVA,20H;A=5EH,(20H)=5EH=01011110B,所以(04H)位单元=1,位3单元也等于1MOVC,04H;C=1MOVAcc.0,C;A的最低位等于1,所以A=5FH了MOVC
MOV2FH,20HMOV2EH,21HMOV2DH,22H只用这三条指令即可.
一般都是8位的,也就是一个字节.你可以下载其资料看看,每个型号都明明白白写着勒!
ORG0000HMOV30H,#10MOV31H,#9MOV32H,#8MOV33H,#7MOV34H,#6MOV35H,#5MOV36H,#4MOV37H,#3MOV38H,#2MOV39H,#1L
ORG0000HAJMPMAINORG0040HMAIN:MOVR3,#0;R3用来统计内容为‘1’的个数,初始为0MOVR0,#10H;用R0作间接寻址的指针MOVR2,#100;R2控制循环次数S