Привет Samodelkin!
19 Oct 03 14:52, Samodelkin писал All:
S> сложение двух двухбайтных чисел 2341 +2341 ,мне надо их расположить во S> внутренней или внешней памяти начиная с определенного адреса.Как это S> сделать?
Во внутреннюю память данные помещают с помощью mov, во внешнюю - с помощью movx.
S> mov dptr,#2341 S> mov r2,dph S> mov r3,dpl S> mov dptr,#2341 S> mov r4,dph S> mov r5,dpl S> mov a,r2 S> add a,r4 S> mov r6,a S> mov a,#0 S> mov a,r3 S> add a,r5 S> mov r7,a
Ты бы это, систему команд получше изучил, да книжки какие-нибудь по программированию с примерами почитал, для mcs51 их много разных. Сложение ты написал вдвое длиннее чем можно было бы, да еще и выдает оно неправильный результат. Типичное сложение обычно выглядит так:
mov a, arg1 add a, arg2 mov res, a mov a, arg1 + 1 adc a, arg2 + 1 mov res + 1, a
А еще было бы неплохо задавать вопросы более понятно. Может быть для "расположения чисел в памяти" тебе нужны вовсе не команды процессора, а хороший линкер. Кстати, рекомендую ассемблер с линкером из комплекта SDCC (sdcc.sourceforge.net кажется), заодно там и неплохой компилятор С...
Всего наилучшего, [Team PCAD 2000] Алексей М. ... Смотрю куда глаза глядят...