Dseg at 8 ;сегмент данных в Data X: ds 1 Xseg at 0 ;сегмент данных в Xdata Yy: ds 8 ;char xdata yy[8]; //результат преобразования во внешней памяти Cseg at 0 ;начало программного сегмента, после сброса или включения питания Jmp start ;подразумевается команда старта на начало программы Y: db "123" ;текстовая константа в ASCII-коде ;for (i=0; i<3; i++) - комментарии из программы на С start: clr a ;подготовка параметров цикла Mov x,a Mov r0,#3 Mov DPL,#yy ;ограничимся младшим байтом адреса - старший DPH=0 Cikl: ; x=x*10+(y[i]&0x0f); Mov a,x Mov b,#10 Mul ab Mov b,a Clr a movc a,@a+dptr Inc dptr Anl a,#0x0f Add a,b Mov x,a Djnz r0,cikl Mov r0,#8 Cikl2: ;yy[i]= (x&0x01) ? '1' : '0'; Mov dpl,r0 Mov a,x Anl a,#01 Orl a,#0x30 Movx @dptr,a ;x>>1 Mov a,x ; x=x>>1; Rr a Mov x,a Djnz r0,cikl2 Nop end