A51 MACRO ASSEMBLER LR1 03/05/2011 17:10:43 PAGE 1 MACRO ASSEMBLER A51 V8.00d OBJECT MODULE PLACED IN lr1.OBJ ASSEMBLER INVOKED BY: C:\Keil\C51.BAK001\BIN\A51.EXE lr1.a SET(SMALL) DEBUG EP LOC OBJ LINE SOURCE ---- 1 cseg at 0 ; абсолютный сегмент кода размещается с адреса 0 2 ; в программной памяти 0000 E590 3 mov a,P1 ; ввод байта данных с порта Р1 в аккумулятор 0002 54F0 4 anl a,#0f0h ; выделение старшей тетрады А1 0004 C4 5 swap a ; тетрада перемещается в младшие разряды 0005 75F00A 6 mov b,#10 ; 10 в регистре множителя 0008 A4 7 mul ab ; a=A1*10, b=0 0009 F5F0 8 mov b,a ; сохранить младшие разряды произведения 000B E590 9 mov a,P1 ; ввод байта данных с порта Р1 в аккумулятор 000D 540F 10 anl a,#0fh ; выделение младшей тетрады А0 000F 25F0 11 add a,b ; a=(A1*(10)2 + A0)2 0011 F5A0 12 mov P2,a ; вывод результата в порт Р2 13 end ; псевдокоманда ассемблера- завершение текста A51 MACRO ASSEMBLER LR1 03/05/2011 17:10:43 PAGE 2 SYMBOL TABLE LISTING ------ ----- ------- N A M E T Y P E V A L U E ATTRIBUTES B. . . . . . . . . D ADDR 00F0H A P1 . . . . . . . . D ADDR 0090H A P2 . . . . . . . . D ADDR 00A0H A REGISTER BANK(S) USED: 0 ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)