All language subtitles for 51.srt

af Afrikaans
ak Akan
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bem Bemba
bn Bengali
bh Bihari
bs Bosnian
br Breton
bg Bulgarian
km Cambodian
ca Catalan
ceb Cebuano
chr Cherokee
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
ee Ewe
fo Faroese
tl Filipino
fi Finnish
fr French
fy Frisian
gaa Ga
gl Galician
ka Georgian
de German
el Greek
gn Guarani
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ia Interlingua
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
rw Kinyarwanda
rn Kirundi
kg Kongo
ko Korean
kri Krio (Sierra Leone)
ku Kurdish
ckb Kurdish (Soranî)
ky Kyrgyz
lo Laothian
la Latin
lv Latvian
ln Lingala
lt Lithuanian
loz Lozi
lg Luganda
ach Luo
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mfe Mauritian Creole
mo Moldavian
mn Mongolian
my Myanmar (Burmese)
sr-ME Montenegrin
ne Nepali
pcm Nigerian Pidgin
nso Northern Sotho
no Norwegian
nn Norwegian (Nynorsk)
oc Occitan
or Oriya
om Oromo
ps Pashto
fa Persian
pl Polish
pt-BR Portuguese (Brazil)
pt Portuguese (Portugal)
pa Punjabi Download
qu Quechua
ro Romanian
rm Romansh
nyn Runyakitara
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
sh Serbo-Croatian
st Sesotho
tn Setswana
crs Seychellois Creole
sn Shona
sd Sindhi
si Sinhalese
sk Slovak
sl Slovenian
so Somali
es Spanish
es-419 Spanish (Latin American)
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
tt Tatar
te Telugu
th Thai
ti Tigrinya
to Tonga
lua Tshiluba
tum Tumbuka
tr Turkish
tk Turkmen
tw Twi
ug Uighur
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
wo Wolof
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 00:00:07,161 --> 00:00:11,501 Hello everyone, today we are going to study the instruction 2 00:00:11,501 --> 00:00:15,821 set of eight zero eight six oblique eightzero8eight micro 3 00:00:15,821 --> 00:00:21,341 processor. Earlier in a topic on how 8088 works the 4 00:00:21,341 --> 00:00:24,861 functioning and working mechanism of 8088 micro 5 00:00:24,861 --> 00:00:29,981 processor was discussed. The instruction set of 8086 and 8 6 00:00:29,981 --> 00:00:34,461 08 8 both are similar is discussed in this text. The 7 00:00:34,461 --> 00:00:38,461 eight zero 86 micro processor is a single chip central 8 00:00:38,461 --> 00:00:43,801 pausing unit CPU short is a short form of central pausing 9 00:00:43,801 --> 00:00:48,601 unit was designed by Intel Corporation in eighties. The 10 00:00:48,601 --> 00:00:52,521 micro processor is one of the oldest one. For better 11 00:00:52,521 --> 00:00:55,321 understanding the Intel architecture from the software 12 00:00:55,321 --> 00:00:59,601 perspective it is still taught in many Indian and foreign 13 00:00:59,601 --> 00:01:04,521 universities. In other ways it if one is conceptually clear 14 00:01:04,521 --> 00:01:09,481 about the 8086 obligation micro processor it is not very 15 00:01:09,481 --> 00:01:13,401 difficult to understand the architecture of micro processor 16 00:01:13,401 --> 00:01:18,401 used in a modern desktop like or any other micro person. 17 00:01:18,401 --> 00:01:22,481 Further the purpose and the objective of today's topic is 18 00:01:22,481 --> 00:01:26,721 to understand the various instructions of 8086 19 00:01:26,721 --> 00:01:29,921 instruction set. Which helps the assembly language 20 00:01:29,921 --> 00:01:34,801 programmer to develop programs on the micro processor. Also it 21 00:01:34,801 --> 00:01:38,801 gives the clarity to the viewer understand the operation of the 22 00:01:38,801 --> 00:01:43,121 micro processor system from the software point of view. That 23 00:01:43,121 --> 00:01:46,561 means we need not know the function of signals at various 24 00:01:46,561 --> 00:01:50,161 pins, their electrical connections or other hardware 25 00:01:50,161 --> 00:01:54,881 details rather the aspect of the study is that how the 26 00:01:54,881 --> 00:02:00,721 instructions of the 808-68088 work using various registers. 27 00:02:00,721 --> 00:02:05,361 The details of the various registers also were explained 28 00:02:05,361 --> 00:02:10,161 in an earlier topic on how 8088 micro processor works. So we 29 00:02:10,161 --> 00:02:14,961 start with the instruction set of 8086 micro processor. The 30 00:02:14,961 --> 00:02:18,721 instruction set of a micro processor defines the basic 31 00:02:18,721 --> 00:02:23,341 operations that a programmer can use and design programs 32 00:02:23,341 --> 00:02:28,021 using these instructions. The eight zero 8 6 micro processor 33 00:02:28,021 --> 00:02:33,381 provides powerful instructions set containing 117 basic 34 00:02:33,381 --> 00:02:38,061 instructions. The basic instructions has a wide range 35 00:02:38,061 --> 00:02:42,221 of uprights and addressing modes available so that the 36 00:02:42,221 --> 00:02:46,661 basic instruction exploits into many more instructions 37 00:02:46,661 --> 00:02:52,161 executable at a machine level. For example, the basic move 38 00:02:52,161 --> 00:02:57,921 instruction has 28 variants in the form of 28 different more 39 00:02:57,921 --> 00:03:01,441 operations with each move operation supporting our 40 00:03:01,441 --> 00:03:05,521 friends and addressing modes. We divide the instruction set 41 00:03:05,521 --> 00:03:10,241 of eight zero eight six in five different categories. The first 42 00:03:10,241 --> 00:03:13,681 category is data transfer instructions. The second 43 00:03:13,681 --> 00:03:17,121 category is arithmatic instructions. The third 44 00:03:17,121 --> 00:03:21,361 category is logic instructions. The fourth category of eight 45 00:03:21,361 --> 00:03:24,641 zero eight six micro processor instruction set is shift 46 00:03:24,641 --> 00:03:30,221 instruction the fifth category is rotate instruction. The 47 00:03:30,221 --> 00:03:33,541 first group of instructions called data transfer 48 00:03:33,541 --> 00:03:38,301 instructions is used for transferring data from our one 49 00:03:38,301 --> 00:03:42,621 internal register to another or provides data transfer between 50 00:03:42,621 --> 00:03:46,781 internal registers and the memory locations. The group 51 00:03:46,781 --> 00:03:49,901 further divides the data transfer instructions in six 52 00:03:49,901 --> 00:03:56,161 categories like first is move, second is exchange, third is 53 00:03:56,161 --> 00:04:00,321 translate called accelate in short. Fourth is LEA which is 54 00:04:00,321 --> 00:04:06,561 load effective address. Fifth is load data source and sixth 55 00:04:06,561 --> 00:04:13,521 is LES. The instruction more is used to transfer a bite R word 56 00:04:13,521 --> 00:04:17,761 between registered to register or registered to accumulator or 57 00:04:17,761 --> 00:04:23,361 register to mobile location pair. The table below shows the 58 00:04:23,361 --> 00:04:30,141 valid source and destination upright variations. The 59 00:04:30,141 --> 00:04:33,661 important thing to note about the move instruction is that 60 00:04:33,661 --> 00:04:37,301 the data cannot be transferred directly between two memory 61 00:04:37,301 --> 00:04:41,981 locations designated as source and destination. The reason is 62 00:04:41,981 --> 00:04:45,741 that the address mechanism required to address source and 63 00:04:45,741 --> 00:04:49,901 destination may occupy more bites increasing the size of 64 00:04:49,901 --> 00:04:53,341 the instruction. Instead the more instructions are available 65 00:04:53,341 --> 00:04:57,341 to transfer the data from memory to internal registers 66 00:04:57,341 --> 00:05:02,141 and move them to the desired mobile location. So as memory 67 00:05:02,141 --> 00:05:06,941 memory operation is dealt with the help of two instructions 68 00:05:06,941 --> 00:05:12,941 the instruction for example Moo AL comma BL performs the data 69 00:05:12,941 --> 00:05:16,861 transfer from the contents of the register BL to the register 70 00:05:16,861 --> 00:05:21,901 AL since the operants are 8 bits the move operation is 71 00:05:21,901 --> 00:05:26,861 called eight bit data transfer operation the instruction move 72 00:05:26,861 --> 00:05:32,301 DX comma CX performs a 16 bit data transfer and transfers the 73 00:05:32,301 --> 00:05:35,741 contents of register code segment which is 16 bit to 74 00:05:35,741 --> 00:05:40,061 another registered DX which is all 16 bits. So it is called a 75 00:05:40,061 --> 00:05:43,901 sixteen bit data transfer operation. Now another category 76 00:05:43,901 --> 00:05:49,821 of moo instruction is register memory operation. In all memory 77 00:05:49,821 --> 00:05:53,421 reference moo instruction the effective address of the memory 78 00:05:53,421 --> 00:05:58,221 location is computed as the offset specified in the 79 00:05:58,221 --> 00:06:01,821 instruction added with the contents of data segment 80 00:06:01,821 --> 00:06:06,221 register which is shifted left by four bits to make it a 20 81 00:06:06,221 --> 00:06:11,861 bit register. Take exam example of say instruction is move sum 82 00:06:11,861 --> 00:06:16,581 comma X. In this instruction the memory location identified 83 00:06:16,581 --> 00:06:20,781 by the variable sum is specified using direct 84 00:06:20,781 --> 00:06:25,141 addressing. Let us assume that the contents of the data 85 00:06:25,141 --> 00:06:30,341 segment register is equal to 200 hexa decimal and the sum 86 00:06:30,341 --> 00:06:35,621 corresponds to the displacement of 1212 hex. Then the physical 87 00:06:35,621 --> 00:06:42,981 address of sum will be computed as 0200 with zero offended that 88 00:06:42,981 --> 00:06:48,741 means it becomes a 2000 hex plus 1212 is added that makes 89 00:06:48,741 --> 00:06:52,901 the address as 3212, hex a decimal is completed the 90 00:06:52,901 --> 00:06:57,621 contents of mammal location 3212 H are then used to store 91 00:06:57,621 --> 00:07:02,501 the contents of L the contents of H which is the higher eight 92 00:07:02,501 --> 00:07:05,941 bits of the register AX are then stored in the next mammal 93 00:07:05,941 --> 00:07:11,121 location 3 2 1 3 X. Thus the effect of the instruction can 94 00:07:11,121 --> 00:07:15,041 be explained as L is transferred to the mammal 95 00:07:15,041 --> 00:07:20,721 location 3212 H is transfer to the mammal location 3213, which 96 00:07:20,721 --> 00:07:24,321 is the next mammal location after three2one two. The next 97 00:07:24,321 --> 00:07:29,121 category of move is exchange instruction. In a exchange 98 00:07:29,121 --> 00:07:34,081 instruction the short form of exchange is XCSG. The contents 99 00:07:34,081 --> 00:07:38,661 of the specified operate pairs are interchange. And in X 100 00:07:38,661 --> 00:07:41,541 exchange operation can be performed between a pair of 101 00:07:41,541 --> 00:07:46,341 upper ends using multiple move instructions however certain 102 00:07:46,341 --> 00:07:51,621 application requires this task to perform efficiently the 103 00:07:51,621 --> 00:07:56,021 exchange instruction called XCAG in short performs the 104 00:07:56,021 --> 00:07:59,221 exchange between a pair of upper ends. The upper ends 105 00:07:59,221 --> 00:08:03,061 could be registered to register or memory to register or 106 00:08:03,061 --> 00:08:08,721 accumulated to register. For example exchange BA's perform 107 00:08:08,721 --> 00:08:12,961 the exchange operation if the contents of the register before 108 00:08:12,961 --> 00:08:17,121 the execution of the instruction were 1212 H and 109 00:08:17,121 --> 00:08:22,161 3434X respectively after the execution of the exchange 110 00:08:22,161 --> 00:08:27,601 instruction the contents of the X and BX respectively will be 111 00:08:27,601 --> 00:08:33,681 3434 X and 1212X the next category of the data transfer 112 00:08:33,681 --> 00:08:38,061 instruction is excellent instruction the X instruction 113 00:08:38,061 --> 00:08:44,621 has been provided in 808-6808 8 instruction set to simplify the 114 00:08:44,621 --> 00:08:50,061 implementation of look up table operation when using excel the 115 00:08:50,061 --> 00:08:53,901 contents of the register BX represent the upset of the 116 00:08:53,901 --> 00:08:57,581 starting address of the look up table from the beginning of the 117 00:08:57,581 --> 00:09:02,221 current data segment the eight bit register AL represent the 118 00:09:02,221 --> 00:09:06,621 upset of the element to be access from the beginning of 119 00:09:06,621 --> 00:09:12,281 the table. The ad bit address specified in the ale restricts 120 00:09:12,281 --> 00:09:17,881 the size of the look up table to 256 bytes only. The value in 121 00:09:17,881 --> 00:09:22,361 both BX and ale must be appropriately initialized 122 00:09:22,361 --> 00:09:28,361 before the execution of X rate instruction. The X rate when it 123 00:09:28,361 --> 00:09:33,801 is executed replaces the contents of ale by the contents 124 00:09:33,801 --> 00:09:37,561 of the memorial location specified by the following 125 00:09:37,561 --> 00:09:41,961 address competition as explained earlier again four 126 00:09:41,961 --> 00:09:45,321 bits are upended to the data segment register making it a 20 127 00:09:45,321 --> 00:09:49,161 bit address this 20 bit address is then added to the register 128 00:09:49,161 --> 00:09:54,441 16 bit BX followed by addition of AL the contents of that 129 00:09:54,441 --> 00:10:00,041 mobile location are replaced in the AL the example of use of 130 00:10:00,041 --> 00:10:05,001 this instruction is in software code conversion from S key to 131 00:10:05,001 --> 00:10:11,221 Abject are absorb format to SQ format the storage format of in 132 00:10:11,221 --> 00:10:15,421 desktop or uniques computer system is in SQ format. 133 00:10:15,421 --> 00:10:19,861 However, the storage format on the IBM mainframe is in 134 00:10:19,861 --> 00:10:24,981 abstract format. A file stored in the SQ format must first be 135 00:10:24,981 --> 00:10:29,221 converted into abstick format before being used in a main 136 00:10:29,221 --> 00:10:34,141 frame system. To achieve the data transfer, a table of 137 00:10:34,141 --> 00:10:38,341 characters stored in the memory. The individual abstract 138 00:10:38,341 --> 00:10:43,921 codes are located in the table at L displacement equal to 139 00:10:43,921 --> 00:10:48,921 their equivalent SQ character values. That means the code 140 00:10:48,921 --> 00:10:57,001 Cone H for letter A would be stored at displacement 41 H, 141 00:10:57,001 --> 00:11:03,201 which equals the SQ character of character A from the start 142 00:11:03,201 --> 00:11:07,841 of the table. The XLED instruction converts the value 143 00:11:07,841 --> 00:11:11,681 stored in AL into its corresponding entry in the look 144 00:11:11,681 --> 00:11:15,841 up table using XLED does a character stored in the S key 145 00:11:15,841 --> 00:11:20,641 format may be converted to abstick format. Another data 146 00:11:20,641 --> 00:11:25,841 transfer instruction is load effective address. That is 147 00:11:25,841 --> 00:11:33,361 called LEA insured is used as LEA SI which stands for source 148 00:11:33,361 --> 00:11:37,641 index register comma input. When this instruction is 149 00:11:37,641 --> 00:11:42,881 executed, it's loads the SI register with an offset address 150 00:11:42,881 --> 00:11:48,721 value derived from the label input. The value of the is 151 00:11:48,721 --> 00:11:53,681 represented by the value input as shown in instruction. The 152 00:11:53,681 --> 00:11:59,281 other two instructions LDS and LES are similar to LEA except 153 00:11:59,281 --> 00:12:05,281 that they load the specified register as well as the DSRES 154 00:12:05,281 --> 00:12:12,241 segment register. For example, consider the instruction LDS SI 155 00:12:12,241 --> 00:12:18,081 in brackets 200. The execution of the instruction loads the SI 156 00:12:18,081 --> 00:12:23,201 register from the location in the memory whose offset address 157 00:12:23,201 --> 00:12:29,521 with respect to the current data segment is 200 hex if the 158 00:12:29,521 --> 00:12:33,921 contents of the data segment register are 1200 hex then the 159 00:12:33,921 --> 00:12:38,161 physical address will be computed as 1200 again zero 160 00:12:38,161 --> 00:12:42,401 will be appended making it 12, 000 hex and this will be added 161 00:12:42,401 --> 00:12:45,881 to the input which is designated as the 200 address 162 00:12:45,881 --> 00:12:52,641 overall when two are added the effective address is 12200 hex 163 00:12:52,641 --> 00:12:57,041 the content of the 12, 200 hacks will be transferred to 164 00:12:57,041 --> 00:13:01,681 lower bits of SI register and the contents of memory location 165 00:13:01,681 --> 00:13:07,601 12, 201 hacks will be transferred to upper bits of SI 166 00:13:07,601 --> 00:13:13,361 register. So this is how the instruction LDS works. Next we 167 00:13:13,361 --> 00:13:17,521 talk about the arithmetic instructions of 8zero8 6 168 00:13:17,521 --> 00:13:22,481 oblique 8088 micro processor. These instructions are used to 169 00:13:22,481 --> 00:13:26,661 perform operations like addition, subtraction, 170 00:13:26,661 --> 00:13:30,941 multiplication and division operations. These operations 171 00:13:30,941 --> 00:13:35,101 are available on upfronts in which the numbers are stored in 172 00:13:35,101 --> 00:13:40,061 a variety of different data formats. The data format can be 173 00:13:40,061 --> 00:13:45,101 unsigned or signed binary numbers. BCD format are the 174 00:13:45,101 --> 00:13:48,941 number represented as the sequence of characters in SQ 175 00:13:48,941 --> 00:13:54,301 format. In BCD format the two digits are packed in one bite. 176 00:13:54,301 --> 00:14:00,861 Whereas esky format one digit is stored in one bite in its SQ 177 00:14:00,861 --> 00:14:04,141 code. The result of an arithmetic operation is 178 00:14:04,141 --> 00:14:09,261 generally stored in the accumulator register. However, 179 00:14:09,261 --> 00:14:14,461 it also affects the status flags. That means the execution 180 00:14:14,461 --> 00:14:18,941 of an arithmetic operation affects the status flax. The 181 00:14:18,941 --> 00:14:23,021 flags that are affected by the arithmetic instructions are 182 00:14:23,021 --> 00:14:28,721 carry flag called CF inch auxiliary flag called AF in 183 00:14:28,721 --> 00:14:34,321 short, sine flag called SF in short, zero flag called in 184 00:14:34,321 --> 00:14:39,201 short, parity flag which is PF in short and overflow flag 185 00:14:39,201 --> 00:14:44,761 which is OF in short. There are five different addition 186 00:14:44,761 --> 00:14:50,161 instructions. The first add instruction has a format at D 187 00:14:50,161 --> 00:14:55,921 comma S. Which performs the operation S plus D that means 188 00:14:55,921 --> 00:15:00,961 it adds the destination in the source and stores the result in 189 00:15:00,961 --> 00:15:05,681 D. The D is either a sixteen bit accumulator register called 190 00:15:05,681 --> 00:15:12,161 X or an eight bit accumulator register called L. This L which 191 00:15:12,161 --> 00:15:16,001 eight bit accumulator register is a part of the bigger sixteen 192 00:15:16,001 --> 00:15:19,601 bit X register. Both the arithmetic operation whether 193 00:15:19,601 --> 00:15:23,041 eight bit operation or 16 bit operation affect B status 194 00:15:23,041 --> 00:15:29,201 flags. The carry flag which is called CF in short is set to 195 00:15:29,201 --> 00:15:34,161 one if carry is generated out of the result. The auxiliary 196 00:15:34,161 --> 00:15:38,961 flag is set to one if the carry is generated from fourth bit to 197 00:15:38,961 --> 00:15:43,401 fifth bit in case of an eight bit addition and eighth B to 198 00:15:43,401 --> 00:15:48,681 nine bit in case of a sixteen bit addition operation. The 199 00:15:48,681 --> 00:15:52,601 most significant bit of the result is copied into a sign 200 00:15:52,601 --> 00:15:56,761 bit. And therefore the sign flag is affected as per the 201 00:15:56,761 --> 00:16:01,401 status of the most significant bit. The zero flag is set to 202 00:16:01,401 --> 00:16:06,041 one if the result of the addition operation is zero. The 203 00:16:06,041 --> 00:16:11,561 S in the instruction add the comma as could be one of the 204 00:16:11,561 --> 00:16:16,001 data registers or a constant number specified along with the 205 00:16:16,001 --> 00:16:22,401 instruction. A variant of the ad instruction is ADC D comma S 206 00:16:22,401 --> 00:16:29,041 which performs S plus D plus carry operation. That means 207 00:16:29,041 --> 00:16:32,641 along with the two operants specified in the ad the carry 208 00:16:32,641 --> 00:16:38,321 is also added into the result. And accordingly the result of S 209 00:16:38,321 --> 00:16:44,221 plus D plus C Y flax are affected. Insure the addition 210 00:16:44,221 --> 00:16:49,021 of the two numbers is added to the carry flag in the ADC 211 00:16:49,021 --> 00:16:54,301 instruction. The next instruction INCD increments the 212 00:16:54,301 --> 00:16:58,861 specified opera by one and accordingly affects all the 213 00:16:58,861 --> 00:17:03,421 flags. Similar to the addition operation are add with the 214 00:17:03,421 --> 00:17:09,261 carry operation. For example, INCAL increments eight bit 215 00:17:09,261 --> 00:17:14,941 register AL by one. Similarly, INCA's increments the sixteen 216 00:17:14,941 --> 00:17:19,441 bit register by one. If this sixteen bit register reaches 217 00:17:19,441 --> 00:17:25,281 its maximum value increment by one initialises the AX back to 218 00:17:25,281 --> 00:17:29,521 zero. That means the zero flag will be set to one if the 219 00:17:29,521 --> 00:17:34,081 result of the increment AX operation is zero. The next 220 00:17:34,081 --> 00:17:38,761 important arithmatic instruction is TAA which 221 00:17:38,761 --> 00:17:44,321 specifies decimal adjust for addition. The instruction is 222 00:17:44,321 --> 00:17:49,681 useful when the number is represented in BCD format and 223 00:17:49,681 --> 00:17:54,321 the expected result of the addition of 2 BCD number should 224 00:17:54,321 --> 00:18:00,001 also be in the BCD format. Take example of two decimal numbers 225 00:18:00,001 --> 00:18:06,561 85 and 45. These numbers will be represented in the BCD 226 00:18:06,561 --> 00:18:13,041 format as 85 hacks and 45 hacks. As we know in BCD 227 00:18:13,041 --> 00:18:17,201 formats, four bits are allocated to every digits. So, 228 00:18:17,201 --> 00:18:22,481 four bits in binary are needed to represent a digit. That 229 00:18:22,481 --> 00:18:27,181 means it number 85 will be stored as 85 hacks the number 230 00:18:27,181 --> 00:18:32,701 45 will be stored as 45 hacks in the BCD format when the 231 00:18:32,701 --> 00:18:37,501 addition of these numbers is perform using ad instruction 232 00:18:37,501 --> 00:18:45,741 the result is CA hacks when the DAA instruction is executed 233 00:18:45,741 --> 00:18:51,341 after the ad instruction it adjust the results and brings 234 00:18:51,341 --> 00:18:56,601 the result in BCD format the operation found by the DA is 235 00:18:56,601 --> 00:19:00,921 that it checks if the four least significant bids of the 236 00:19:00,921 --> 00:19:06,521 result is greater than 9 or the auxiliary bit is set six is 237 00:19:06,521 --> 00:19:11,721 added to the first four least significant bids similarly the 238 00:19:11,721 --> 00:19:16,041 four most significant bids of the result are checked to find 239 00:19:16,041 --> 00:19:20,601 if these bids are greater than nine or the carry flag is set 240 00:19:20,601 --> 00:19:26,581 during the previous ad or ADC operation six is added to the 241 00:19:26,581 --> 00:19:30,701 most significant bits. As a result when DAA instruction 242 00:19:30,701 --> 00:19:36,621 executes over the addition of edify and fortify the result 243 00:19:36,621 --> 00:19:42,421 CAH is converted into 20 hack certicimal with a carry which 244 00:19:42,421 --> 00:19:46,661 is in turn the result of the addition of two numbers edify 245 00:19:46,661 --> 00:19:52,661 and fortify H in BCD format. Therefore, the DAA instruction 246 00:19:52,661 --> 00:19:58,181 is useful to make the BCD arithmetic efficient and saves 247 00:19:58,181 --> 00:20:02,821 a number of instructions other wise required to achieve the 248 00:20:02,821 --> 00:20:06,261 same result. The next arithmetic operation are the 249 00:20:06,261 --> 00:20:10,021 instruction available in the 8086 micro processor 250 00:20:10,021 --> 00:20:16,501 instruction set is AAA which implies S key adjust for 251 00:20:16,501 --> 00:20:21,541 addition. The instruction is useful for adding two numbers 252 00:20:21,541 --> 00:20:26,341 when every digit of the number is expressed in S key format. 253 00:20:26,341 --> 00:20:31,461 For example, a number two, three, four, three, if stored 254 00:20:31,461 --> 00:20:34,821 in the S key format will require four bites of storage 255 00:20:34,821 --> 00:20:40,341 because every digit requires one bite and that bite 256 00:20:40,341 --> 00:20:44,741 represents the X key equivalent of that digit. Every bite 257 00:20:44,741 --> 00:20:49,301 contains the S key equivalent of four digits. In the example 258 00:20:49,301 --> 00:20:55,621 of a 4 digit number, the four bites contain values 32 hex, 259 00:20:55,621 --> 00:21:01,141 3-3 hex, 3-4 hex, 33 hex which are nothing but the SQ 260 00:21:01,141 --> 00:21:06,461 equivalents of two, three, four, three. The instruction 261 00:21:06,461 --> 00:21:12,661 operates and adjust only on the register AL and therefore it is 262 00:21:12,661 --> 00:21:18,141 mandatory that the result must be brought in the register AL. 263 00:21:18,141 --> 00:21:23,621 Assume you have to add two digits two and four stored in 264 00:21:23,621 --> 00:21:29,221 registers AL and BL in SQ format as 32 and thirtyfour. 265 00:21:29,221 --> 00:21:34,421 First and operation add ale come of BL is perform. The 266 00:21:34,421 --> 00:21:40,261 result 66 H is stored in the ale. When triple A instruction 267 00:21:40,261 --> 00:21:46,021 is executed, it subtracts sixty hexa decimal from the ale. If 268 00:21:46,021 --> 00:21:50,581 the result is greater than nine, further a number 10 is 269 00:21:50,581 --> 00:21:56,501 subtracted from ale and H is incremented by one. Else, the 270 00:21:56,501 --> 00:22:01,461 number L contains the result of addition of two numbers. In the 271 00:22:01,461 --> 00:22:08,641 example, it contains 06 in AL and zerozero in AH. If we add 272 00:22:08,641 --> 00:22:13,921 two numbers 36 XL decimal and 37 XL decimal the register AL 273 00:22:13,921 --> 00:22:19,121 will contain three and register AH will contain one after the 274 00:22:19,121 --> 00:22:23,761 execution of the instruction at followed by triple A 275 00:22:23,761 --> 00:22:28,161 instruction which stands for S key adjust for addition. So 276 00:22:28,161 --> 00:22:33,021 what we have learnt today are the various of eight zero eight 277 00:22:33,021 --> 00:22:37,901 six, how they are executed, the instructions related to data 278 00:22:37,901 --> 00:22:41,981 transfer and arithmatic instructions like ad were 279 00:22:41,981 --> 00:22:47,181 covered in detail. Thank you. 25747

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.