Sunteți pe pagina 1din 4

Adunare pe 16 biti

.MODEL TINY
.CODE
MOV BX,1234h
MOV CX,7698h
MOV AL,BL
ADD AL,CL
DAA
MOV DL,AL
MOV AL,BL
ADC AL,CH
DAA
MOV DH,AL
MOV AH,4Ch
INT 21h
END

Scadere pe 16 biti
.MODEL TINY
.CODE
MOV BX,1234h
MOV CX,7698h
MOV AL,BL
SUB AL,CL
DAS
MOV DL,AL
MOV AL,BL
SBB AL,CH
DAS
MOV DH,AL
MOV AH,4Ch
INT 21h
END
16 bit Multiplication/Division
.MODEL TINY
.CODE
MOV AX,1234h
MOV BX,7698h
ADD AL,31h ; for Division replace with
MUL BX ; DIV BX
MOV AH,4Ch
INT 21h
END

16-bit signed Multiplication


.MODEL TINY
.CODE
MOV AX,-1234h
MOV CX,-0ABCAh
IMUL CX
MOV BX, AX
MOV AH, 4Ch
INT 21h
END
String reverse
.MODEL SMALL
.DATA
String DB 'BMSCE$'
Length EQU ($-String)
Rvrs DB Length DUP (0)
.CODE
MOV AX,@DATA
MOV DS, AX
MOV ES, AX
MOV CX, Length
LEA SI, String+Length-1
LEA DI, Rvrs
REPEAT: MOV AL, [SI]
MOV [DI], AL
DEC SI
INC DI
LOOP REPEAT
MOV AH, 4Ch
INT 21h
END
Scrieţi un program în limbajul de asamblare pentru microprocesorul I8086 care să realizeze
urmatoarele:
- se vor defini trei variabile pe 8 biţi şi se vor iniţializa cu valorile a=2, b=5, c=3
- se va calcula a-b+c şi se va afişa rezultatul pe ecran.

S-ar putea să vă placă și