20
COMPUTER ARCHITECTURE BCD Arithmetic &ASCII Arithmetic

Bcd&ascii

Embed Size (px)

DESCRIPTION

programming COA

Citation preview

Page 1: Bcd&ascii

COMPUTER ARCHITECTURE

BCD Arithmetic

&ASCII

Arithmetic៣ក្�មទី�៣

Page 2: Bcd&ascii

គោ�លបំ�ណង

ការប្រើ���ស់� DAA Instruction

ការប្រើ���ស់� DAS Instruction

ការប្រើ���ស់� AAA Instruction

Page 3: Bcd&ascii

DAA Instruction(Decimal Adjust after Addition)

DAA Instruction គឺជា Instructionបំ�សម្�បំ�គោ���ការគឺណនាបំ�មាណវិ���បំ�កBCD

ពី�រ គោ��ម្��ទទ�លបានន�វិលទ!ផលBCD Number និនិនិនិនិនិនិនិនិនិនិនិនិនិបា#�ក�ន$ងត្�ម្ត្�វិ។

Page 4: Bcd&ascii

─ប្រើ��តម�Low Order ឬLow Nibble(LN)>9 ឬ Auxilary Carry Flag (AF)=1ប្រើ��នInstruction+6(06)ប្រើ�ប្រើ��Low Orderប្រើ��។─ប្រើ��តម�High Order ឬUpper Nibble(UN)>9 ឬ Carry Flag (CF)=1ប្រើ��នInstruction+6(60)ប្រើ�ប្រើ��High Orderប្រើ��។

Instruction works as follows:

Page 5: Bcd&ascii

��ហាត���រ �

រក្�ទី�ផ�នៃនCode ខាងក្�ម៖

1.MOV AL,39H2.MOV CL,12H3.ADD AL,CL4.DAA

Page 6: Bcd&ascii

1.AL=39H=0011 1001B2.CL=12H=0001 0010B3.AL=4BH=0100 1011B4.ADD 0110 ព្�LN=1011>9ប្រើ#�ង�ន$AL=0100 1011+0000 0110 =0101 0001B =51H

ស់%#

Page 7: Bcd&ascii
Page 8: Bcd&ascii

DAS Instruction(Decimal Adjust after Subttacion)

DAS Instruction គឺជា Instructionបំ�សម្�បំ�គោ���ការគឺណនាបំ�មាណវិ����កBCDពី�រគោ��ម្��ទទ�លបានន�វិលទ!ផលBCD Number និនិនិនិនិនិនិនិនិនិនិនិនិនិបា#�ក�ន$ងត្�ម្ត្�វិ។

Page 9: Bcd&ascii

─ប្រើ��តម�Low Order ឬLow Nibble(LN)>9 ឬ Auxilary Carry Flag (AF)=1ប្រើ��នInstruction-6(06)ប្រើ�ប្រើ��Low Orderប្រើ��។─ប្រើ��តម�High Order ឬUpper Nibble(UN)>9 ឬ Carry Flag (CF)=1ប្រើ��នInstruction-6(60)ប្រើ�ប្រើ��High Orderប្រើ��។

Instruction works as follows:

Page 10: Bcd&ascii

��ហាត���រ �

រក្�ទី�ផ�នៃនCode ខាងប្រើកាម៖

1.MOV AL,72H2.MOV CL,18H3.SUB AL,CL4.DAS

Page 11: Bcd&ascii

1.AL=72H=0111 0010B2.CL=18H=0001 1000B3.AL=1BH=0101 1010B4.Sub 0110 ព្�LN=1010>9ប្រើ#�ង�ន$AL=0101 1010-0000 0110 =0100 0100B =44H

ស់%#

Page 12: Bcd&ascii
Page 13: Bcd&ascii

ASCII Number មានល�ដាបំ�ត្ម្�ពី�30Hគោ(39Hគឺចាបំ�ពី�គោលខ0 -> 9។គោ+ក,-ងASCII មានInstruction��ចជា/AAA Instruction, AAS Instruction, AAD Instruction……..។

ASCII ARITHMETIC

Page 14: Bcd&ascii

AAA Instruction �&ជាពាក្)�ញ្ជា+ដែ-�ប្រើ�����. ��ព្���%ណវិ1ធី���ក្ASCIIព្�រ។វា�ន�ម�ង�ទី�ផ�រ�ស់�ADD ប្រើ�ជាUnpacked BCD ប្រើ4�#-�ប្រើណ� រការរ�ស់�វា�&

អាស់�#ប្រើ��តម�Low Order ឬLow Nibble(LN) នៃន AL។

AAA INSTRUCTION(ASCII ADJUST AFTER ADDITION)

Page 15: Bcd&ascii

●ប្រើ��តម�Low Order ឬLow Nibble(LN)>9 ឬ Auxilary Carry Flag (AF)=1៖─ ប្រើ#�ងត�វិដែត#ក្AL+06 ប្រើ4�#�6� តម� High Order ឬUpper Nibble(UN)រ�ស់�AL─��. ��មក្#ក្AH+01─ចំ�ប្រើពា�AF=1,CF=1។

Instruction works as follows:

Page 16: Bcd&ascii

●ប្រើ��តម�Low Order ឬLow Nibble(LN)ខុ6ស់ព្�ប្រើន��&៖AF=0,CF=0។● ប្រើ��ចំង��ម�ងព្�Unpacked BCD

ប្រើ�ជា ACSII វិ1ញ�&ត�វិ#ក្�ទី�ផ�ប្រើ�OR Instruction ន:ង30H(OR AX,3030H ឬ OR AL,30H)។

Page 17: Bcd&ascii

រក្�ទី�ផ�នៃនCode ខាងក្�ម៖1.MOV AX,3435H(ASCII)2.MOV DL,37H(ASCII)3.ADD AL,DL4.AAA5.OR AX,3030H

��ហាត���រ �

Page 18: Bcd&ascii

ស់ម�#

1.AX=3435H <=> AH=34H,AL=35H2.DL=37H3.AL=35H+37H=6CH4. ប្រើ;# LN= C>9 ─AL= AL+06H= 6CH+06H=72H─�6�ផ�ក្UNរ�ស់�AL =>AL=02H (Unpacked BCD Values) ─AH=34H=04H(ASCII->BCD) <=>AH=AH+01H=04H+01H=05H-�ចំប្រើន�AX=0502H(BCD Values)។

Page 19: Bcd&ascii

5.AX=0502H OR 3030H =0000 0101 0000 0010

OR 0011 0000 0011 0000 =0011 0101 0011 0010

=3532H-�ចំប្រើន�AX=3532H(ASCII Values)។

Page 20: Bcd&ascii