Assembler







.
,
. ,
.
.
 

8088,
.


ADD ,
.
, .
.
. ,
 
ADD AX,BX
 
BX AX,
AX. ,
, , ,
.
 
. 4.8 ADD.
, 8= 16=.
.
, .
(, CH)
, BYTE.
,
=, .

.
. . 4.9
.
 
ADC - ADD,
, .
ADD ADC.
Ŀ Ŀ Ŀ
AX AX AX
BX BX BX
CX CX > CX
DX DX DX

Ŀ + Ŀ Ŀ
SI SI SI
DI DI DI
BP BP > BP
SP SP SP

Ŀ

()

Ŀ
-


 
Ŀ Ŀ Ŀ
AH AH AH
AL AL AL
BH BH BH
BL BL BL
CH CH CH
CL + CL CL
DH DH DH
DL DL DL

Ŀ Ŀ
>
() ()

Ŀ
-


 
. 4.8
 
, ADD, ADC,
1 ,
. ADD ,
, ADC .
0,
ADD. 1, 1
ADD. ,
.
Microsoft (R) Macro Assembler Version 5.00 1/1/80 04:00:49
. 4.9 Page 1-1
 
 
PAGE ,132
TITLE . 4.9
0000 CODE SEGMENT
ASSUME CS:CODE,DS:CODE
0000 EXBYTE LABEL BYTE
0000 EXWORD LABEL WORD
 
0000 03 1E 0000 R ADD BX,EXWORD ; BX <- BX + [EXWORD]
0004 29 0E 0000 R SUB EXWORD,CX ; [EXWORD] <- [EXWORD] - CX
0008 12 3E 0000 R ADC BH,EXBYTE ; BH <- BH + [EXBYTE] + Carry
000C 18 0E 0000 R SBB EXBYTE,CL ; [EXBYTE] <- [EXBYTE] - CL - Carry
0010 F7 1E 0000 R NEG EXWORD ; [EXWORD] <- -[EXWORD]
0014 FE 06 0000 R INC EXBYTE ; [EXBYTE] <- [EXBYTE] + 1
0018 4E DEC SI ; SI <- SI - 1
 
0019 81 C7 00C8 ADD DI,200 ; DI <- DI + 200
001D 83 EC 64 SUB SP,100 ; SP <- SP - 100
0020 83 D1 0A ADC CX,10 ; CX <- CX + 10 + Carry
0023 83 1E 0000 R 14 SBB EXWORD,20 ; [EXWORD] <- [EXWORD] - 20 - Carry
 
0028 3B C3 CMP AX,BX ; AX - BX
002A 81 FE 01F4 CMP SI,500 ; SI - 500
 
002E F6 26 0000 R MUL EXBYTE ; AX <- AL * [EXBYTE]
0032 F7 EB IMUL BX ; DX:AX <- AX * BX
0034 F7 36 0000 R DIV EXWORD ; AX <- DX:AX / [EXWORD]
0038 F6 FD IDIV CH ; AL <- AX / CH
 
003A 27 DAA ;
003B 2F DAS ;
003C 37 AAA ; ASCII
003D 3F AAS ; ASCII
003E D4 0A AAM ; ASCII
0040 D5 0A AAD ; ASCII
0042 98 CBW ; AX <- AL
0043 99 CWD ; DX:AX <- AX
 
0044 CODE ENDS
END
 
. 4.9
Microsoft (R) Macro Assembler Version 5.00 1/1/80 04:00:54
. 4.10 Page 1-1
 
 
PAGE ,132
TITLE . 4.10
0000 CODE SEGMENT
ASSUME CS:CODE,DS:CODE
 
0000 ???????? VALUE1 DD ? ; 32
0004 ???????? VALUE2 DD ?
 
;----- 32-
 
0008 A1 0000 R MOV AX,WORD PTR VALUE1
000B 01 06 0004 R ADD WORD PTR VALUE2,AX ; 16
000F A1 0002 R MOV AX,WORD PTR VALUE1+2
0012 11 06 0006 R ADC WORD PTR VALUE2+2,AX ; 16
;----- 32-
 
0016 A1 0000 R MOV AX,WORD PTR VALUE1
0019 29 06 0004 R SUB WORD PTR VALUE2,AX ;
001D A1 0002 R MOV AX,WORD PTR VALUE1+2
0020 19 06 0006 R SBB WORD PTR VALUE2+2,AX ;
 
0024 CODE ENDS
END
 
. 4.10
 
. 4.10 32= ;
32= VALUE1 VALUE2,
VALUE2. ,
.
ADD,
.
. 4.10
ADC, , .
, MOV
. MOV ,
.