MP Codes
MP Codes
.8086
.MODEL SMALL
.DATA
num1 DW 1234H
num2 DW 1234H
result DW ?
carry DB 0
.CODE
START:
MOV DS, AX
LABEL1:
MOV result, AX
MOV carry, CL
INT 21H
END START
16 bit subtract
.8086
.MODEL SMALL
.DATA
num1 DW 1234H
num2 DW 0ABC2H
.CODE
START:
MOV DS, AX
SUB AX, BX ; AX = AX - BX
INT 21H
END START
8 bit add
.8086
.MODEL SMALL
.DATA
num1 DB 22H
num2 DB 33H
result DB ?
.CODE
START:
MOV DS, AX
ADD AL, BL
MOV result, AL
INT 21H
END START
8 bit subtract
.8086
.MODEL SMALL
.DATA
num1 DB 33H
num2 DB 22H
result DB ?
.CODE
START:
MOV DS, AX
SUB AL, BL
MOV result, AL
INT 21H
END START
Block transfer
.8086
.model small
.data
a db 01H,02H,03H,04H,05H,06H,07H,08H,09H,0AH
b db 10
.code
mov ds,ax
mov es,ax
lea si,a
lea di,b
rep movsb
mov ah,4ch
int 21h
end start
.8086
.model small
.data
a db 01H,02H,03H,04H,05H,06H,07H,08H,09H,0AH
.code
mov ds,ax
mov es,ax
mov bx,0000H
lea si,a
ror al,01H
jc odd
inc bl
jmp next
odd: inc bh
loop check
mov ah,4ch
int 21h
end start
Descending
.8086
.MODEL SMALL
.DATA
.CODE
START:
MOV DS, AX
OUTER_LOOP:
MOV BL, CL
MOV DI, SI
INNER_LOOP:
XCHG AL, DL
MOV [DI], AL
MOV [DI+1], DL
SKIP:
INC DI
DEC BL
JNZ INNER_LOOP
DEC CL
JNZ OUTER_LOOP
INT 21H
END START
Ascending
.MODEL SMALL
.DATA
.CODE
Start:
MOV DS, AX
MOV BL, CL
MOV DI, SI
INC SI
Down:
DEC BL
JNC Vp
INT 21H
END Start
.MODEL SMALL
.DATA
even_count DB 0
odd_count DB 0
.CODE
START:
CHECK:
JMP NEXT
EVEN:
NEXT:
INT 21H
END START