20个有符号数存放到单片机内部RAM从40H开始的单元中
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/18 14:34:14
DATASEGMENTARYDW025AH,1357H,9706H,0040H,05C3H,86D0H,720FH,082AH,019DH,0124HORG0050HMAXDW0DATAENDSCOD
MOVA,30HMOVB,31HMULABMOVR2,BMOVR3,AEND
movax,34hax
最近,编程的题目,答案往往都被屏蔽了.MOV2FH,#0MOVR0,#40HMOVR2,20HLOOP:MOVA,@R0CLRCSUBBA,2FHJNCNEXTMOV2FH,@R0NEXT:INCR0
;CLRAMOVR1,AMOV30H,AMOVR0,#30HMOVR2,#64LOOP:MOVXA,@R0ADDA,R1MOVR1,AJNCNEXTINC30HNEXTlINCR0DJNZR2,LOO
DATASEGMENTBLOCKDB48H,6AH,35H,0C9H,12H,93HCONEQU$-BLOCKMAXDBDATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA
;MOVTPTR,#2000HMOVR2,#100MOVR3,#0MOVR4,#0MOVR5,#0LOOP:MOVA,@DPTRJZZZZJBACC.7,FUINCR3;正数个数JMPNEXTFU:I
比如这个数的值是125,那么它的二进制值是1111101,执行RLC(左移指令)后它的值就是11111010,转换成十进制就是250.你可以试验一下,所有数据左移一位不是*2,左移两位就是*4,左移三
第一个问的答案ORG0000HSJMPMAINORG0030HMAIN:MOVR0,#DATA1MOVR1,#DATA2MOVDPTR,#DATA3MOVR2,#13D0:MOVA,@R0MOVB,#
我按照你的要求给你写了一段程序,加了标注,你分析一下吧movr0,#30H;数据地址movr5,#0FH;数据个数movr7,#00h;比较缓存LOOP:movr2,@r0;取出数据存入r2cjner
MOVR1,#50HMOVDPTR,#20HL1:CLRAMOVCA,@A+DPTRMOVR2,AMOVA,#DPTRMOVR0,AMOVA,R2MOVX@R0,AINCDPTRDJNZR1,L1再问
有可以设置用或不用如A口DDRA==0XFF;PORTA=0XFF//A口全部使用上拉DDRA==0XFF;PORTA=0X00//A口全部接地DDRA=0X00;//A口全部不用上拉(高阻态)再问:
汇编语言DSEGSEGMENTSAVEDB3DUP(?)NUMDW100DUP(?)DSEGENDSCSEGSEGMENTASSUMECS:CSEG,DS:DSEGSTART:MOVAX,DSEGMO
汇编程序如下:ZeroEQU42H;零的统计NegetiveEQU41H;负数的统计PositiveEQU40H;正数的统计CountEQU100;比较个数ORG0000HLJMPMAINORG004
movdi,31hss:cmpax,[di]jzddmovax,[di]dd:incdiloopssmov[40h],ax
只有加减运行.
空1处:MOVR7,#08H空2处:CLRCSUBBA,2AH
是什么类型的如果int的signedint*a;a=2000h;然后用a[i]来判断就行了
嘿嘿还是俺来帮你吧1JBACC.7,IERO;小于0转IERO2JNBACC.7,POSITIVE;大于0转POSITIVE呵呵满意就选满意回答吧再问:谢谢谢谢啊不好意思题目抄错了第一句判断是否等于0
程序如下:MOVR2,#0;个数MOVR0,#30H;数据的起始地址S_LOOP:MOVA,@R0CJNEA,#0DH,NEXT;不等于0D转移RET;相等即结束搜索NEXT:INCR2INCR0SJ