LINGUAGEM ASSEMBLY
52 pág.

LINGUAGEM ASSEMBLY


DisciplinaTecnologias Web3.423 materiais10.149 seguidores
Pré-visualização11 páginas
BX,DX 3 
 ADC DH,AL 
ADC r,m ADC BL,[456] 9+EA 
(r) \u2190(r) + (m) + (CF) ADC CX,word ptr [300H] 
ADC m,r ADC byte ptr [300],DL 16+EA 
(m) \u2190(m) + (r) + (CF) ADC word ptr [SI],BX 
ADC r,d ADC CL,24 4 
(r) \u2190 (r) + d + (CF) ADC BX,50 
ADC m,d ADC byte ptr [DI],54 17+EA 
(m) \u2190 (m) + d + (CF) ADC word ptr [BX+4],4FFH 
INC r INC AX 2 
(r) \u2190(r) + 1 INC CL 3 
INC m 15+EA 
(m) \u2190(m) + 1 INC word ptr [BX+100H] 
 
3.4.5.2 Subtração 
SUB r1,r2 SUB AX,SI 3 
 SUB CL,DH 
SUB r,m SUB DL,[300] 9+EA 
(r) \u2190 (r) - (m) SUB CX,[BX+1234H] 
SUB m,r SUB byte ptr [300],DL 16+EA 
(m) \u2190 (m) - (r) SUB word ptr [SI+BX+2],AX 
SUB r,d SUB AL,4 4 4 
(r) \u2190 (r) - d SUB AX,50 
SUB m,d SUB byte ptr [DI],54 17+EA 
(m) \u2190 (m) - d SUB word ptr [BX+4],4FFH 
SBB r1,r2 SBB BX,DX 3 
(r1) \u2190(r1) - (r2) - (CF) SBB DH,AL 
 
 Linguagem Assembly Família Intel 
 
 
última revisão Ago/2007 19 
SBB r,m SBB BL,[456] 9+EA 
 SBB CX,word ptr [300H] 
SBB m,r SBB byte ptr [300],DL 16+EA 
(m) \u2190(m) - (r) - (CF) SBB word ptr [SI],BX 
SBB r,d SBB CL,24 4 
(r) \u2190(r) - d - (CF) SBB BX,50 
SBB m,d SBB byte ptr [DI],54 17+EA 
(m) \u2190 (m) - d - (CF) SBB word ptr [BX+4],4FFH 
DEC r DEC AX 2 
(r) \u2190(r) - 1 DEC Cl 3 
DEC m DEC byte ptr [SI] 15+EA 
 DEC word ptr [BX+100H] 
NEG r NEG BX 3 
 NEG AL 
NEG m NEG byte ptr [BX+DI] 16+EA 
(m) \u21900 - (m) NEG MULTIPLICADOR 
CMP r1,r2 CMP BX,CX 3 
 CMP AL.BL 
CMP r,m CMP DH, byte ptr ALPHA 9+EA 
(r) - (m) CMP CH,[SI+BX+10] 
CMP m,r CMP [BP+2],SI 9+EA 
(m) - (r) CMP [SI],AX 
CMP r,d CMP BL,02H 4 
(r) - d CMP DL,85H 
CMP m,d CMP RADAR[DI],3420H 10+EA 
(m) - d 
 
 
 Linguagem Assembly Família Intel 
 
 
última revisão Ago/2007 20 
3.4.5.3 Multiplicação 
MUL r MUL BL 70-77 
 MUL CX 118-133 
 
 
MUL m MUL byte ptr MES[SI] (76-83)+EA
(AX) \u2190 (AL) * (m8) MUL word ptr DIA[SI] (124-139)+EA 
(DX:AX) \u2190 (AX) * (m16) MUL BAUD_RATE 
(sem sinal) 
IMUL r IMUL BL 80-98 
(AX) \u2190 (AL) * (r8) IMUL CX 128-154 
(DX:AX) \u2190 (AX) * r16) 
(com sinal) 
IMUL m IMUL byte ptr MES[SI] (86-104)+EA
(AX) \u2190 (AL) * (m8) IMUL word ptr DIA[SI] (134-160)+EA 
(DX:AX) \u2190 (AX) * (m16) 
(com sinal) 
3.4.5.4 Divisão 
DIV r8 DIV CL 80-90 
 
 
 
DIV r16 DIV DX 144-162 
 
 
(sem sinal) 
 
 
 
 Linguagem Assembly Família Intel 
 
 
última revisão Ago/2007 21 
DIV m8 DIV byte ptr [SI] (88-96)+EA
 
 
(sem sinal) 
DIV m16 DIV word ptr [BX] (150-168)+EA 
(AX)\u2190(DX:AX)/(m16) 
(DX)\u2190(DX:AX)mod(m16) 
(sem sinal) 
IDIV r8 IDIV CL 101-112 
(AL)\u2190(AX)/(r8) 
(AH)\u2190(AX) mod (r8) 
(com sinal) 
IDIV r16 IDIV DX 165-184 
(AX)\u2190(DX:AX)/(r16) 
(DX)\u2190(DX:AX) mod (r16) 
(com sinal) 
IDIV m8 IDIV byte ptr [SI] (107-118)+EA 
(AL)\u2190(AX)/(m8) 
(AH)\u2190(AX) mod (m8) 
(com sinal) 
IDIV m16 IDIV word ptr [BX] (171-190)+EA 
(AX)\u2190(DX:AX)/(m16) 
(DX)\u2190(DX:AX)mod(m16) 
(com sinal) 
CBW CBW 2 
Se (AL)<0, 
então (AH) \u21900FF 
 
caso contrário, (AH) \u219000 
 Linguagem Assembly Família Intel 
 
 
última revisão Ago/2007 22 
CWD CWD 5 
Se (AX)<0, então (DX) \u2190 FFFFH 
caso contrário, (DX) \u2190 0 
3.4.5.5 nstruções de Ajuste 
 Estas instruções são utilizadas quando os dados manipulados pelo programa 
estão em formato ASCII ou BCD. Tendo em vista que estas são instruções de uso 
infreqüente, este trabalho limita-se a mencioná-las. São elas: 
 
AAA AAA 4 
DAA DAA 4 
AAS AAS 4 
DAS DAS 4 
AAM AAM 83 
AAD AAD 60 
 
3.4.6 Instruções Lógicas 
3.4.6.1 E 
AND r1,r2 AND AL,BL 3 
 AND CL,AH 
AND r,m AND DL,[SI+5] 9+EA 
 AND CX,FLAG_WORD 
AND m,r AND ASCII[DI],DL 16+EA 
(m) \u2190 (m) \u2022 (r) AND word ptr [SI+BX+2],AX 
AND r,d AND AX,7F7FH 4 
(r) \u2190 (r) \u2022 d AND CX,0F0H 
AND m,d AND BETA,01H 17+EA 
(m) \u2190 (m) \u2022 d AND byte ptr [BX],6 
TEST r1,r2 TEST SI,DI 3 
 TEST CX,DX 
 Linguagem Assembly Família Intel 
 
 
última revisão Ago/2007 23 
TEST r,m TEST SI,END_COUNT 9+EA 
 (r) \u2022 (m) TEST CX,[SI] 
TEST r,d TEST BX,0CC4H 4/5 
 (r) \u2022 d TEST AL,8 
TEST m,d TEST RETURN_CODE,01H 11+EA 
 (m) \u2022 d TEST byte ptr [DI],3 
 
3.4.6.2 OU 
OR r1,r2 OR AL,BL 3 
 OR CL,AH 
OR r,m OR DL,[SI+5] 9+EA 
 OR CX,FLAG_WORD 
OR m,r OR ASCII[DI],DL 16+EA 
(m) \u2190 (m) + (r) OR word ptr [SI+BX+2],AX 
OR r,d OR AX,7F7FH 4 
(r) \u2190 (r) + d OR CX,0F0H 
OR m,d OR BETA,01H 17+EA 
(m) \u2190 (m) + d OR byte ptr [BX],6 
3.4.6.3 OU exclusivo 
XOR r1,r2 XOR AL,BL 3 
 XOR CL,AH 
XOR r,m XOR DL,[SI+5] 9+EA 
 XOR CX,FLAG_WORD 
XOR m,r XOR ASCII[DI],DL 16+EA 
(m) \u2190 (m) \u2295 (r) XOR word ptr [SI+BX+2],AX 
XOR r,d XOR AX,7F7FH 4 
(r) \u2190 (r) \u2295 d XOR CX,0F0H 
 
 Linguagem Assembly Família Intel 
 
 
última revisão Ago/2007 24 
XOR m,d XOR BETA,01H 17+EA 
(m) \u2190 (m) \u2295 d XOR byte ptr [BX],6 
3.4.6.4 Complemento 
NOT r NOT AX 3 
 NOT CL 
NOT m NOT byte ptr [BX] 16+EA 
(m)\u2190 not (m) NOT word ptr [BX+SI] 
3.4.6.5 Deslocamento 
SAL/SHL r,1 SAL AL,1 2 
SAL/SHL r,CL SHL DX,CL 8+4*(CL) 
SAL/SHL m,1 SAL word ptr [BX+2],1 15+EA 
SAL/SHL m,CL SHL STORE_COUNT,CL 20+EA+4*(CL)
 CF 
 
 
tantas vezes quantas forem definidas pelo 
segundo operando 
 
SHR r,1 SHR AL,1 2 
SHR r,CL SHR DX,CL 8+4*(CL) 
SHR m,1 SHR word ptr [BX+2],1 15+EA 
SHR m,CL SHR STORE_COUNT,CL 0+EA+4*(CL
) 
 CF 
 
 
tantas vezes quantas forem definidas pelo 
segundo operando 
 
 
 Linguagem Assembly Família Intel 
 
 
última revisão Ago/2007 25 
 
SAR r,1 SAR AL,1 2 
SAR r,CL SAR DX,CL 8+4*(CL) 
SAR m,1 SAR word ptr [BX+2],1 15+EA 
SAR m,CL SAR STORE_COUNT,CL 20+EA+4*(CL)
 CF 
 
 
 
3.4.6.6 Rotação 
ROL r,1 ROL AL,1 2 
ROL r,CL ROL DX,CL 8+4*(CL) 
ROL m,1 ROL word ptr [BX+2],1 15+EA 
ROL m,CL ROL STORE_COUNT,CL 0+EA+4*(CL
) 
 CF 
 
 
tantas vezes quantas forem definidas pelo 
segundo operando 
 
ROR r,1 ROR AL,1 2 
ROR r,CL ROR DX,CL 8+4*(CL) 
ROR m,1 ROR word ptr [BX+2],1 15+EA 
ROR m,CL ROR STORE_COUNT,CL 20+EA+4*(CL)
 CF 
 
 
tantas vezes quantas forem definidas pelo 
segundo operando 
 
 
 Linguagem Assembly Família Intel 
 
 
última revisão Ago/2007 26 
 
RCL r,1 RCL AL,1 2 
RCL r,CL RCL DX,CL 8+4*(CL) 
RCL m,1 RCL word ptr [BX+2],1 15+EA 
RCL m,CL RCL STORE_COUNT,CL 20+EA+4*(CL)
 CF 
 
 
tantas vezes quantas forem definidas pelo 
segundo operando 
 
RCR r,1 RCR AL,1 2 
RCR r,CL RCR DX,CL 8+4*(CL) 
RCR m,1 RCR word ptr [BX+2],1 15+EA 
RCR m,CL RCR STORE_COUNT,CL 20+EA+4*(CL)
 CF 
 
 
tantas vezes quantas forem definidas pelo 
segundo operando 
 
3.4.7 Instruções de Desvio 
3.4.7.1 Desvio incondicional 
 JMP CX 
(CS:IP) \u2190 \u2018alvo\u2019 JMP dword ptr [SI] 
 CALL CX 
(CS:IP) \u2190 \u2018alvo\u2019. 
O endereço de retorno é 
armazenado na pilha. 
CALL dword ptr [SI] 
 RET 
(CS:IP)\u2190valor armazenado 
no topo da pilha 
 
 
 Linguagem Assembly Família Intel 
 
 
última revisão Ago/2007