Home PageInfo About .Bmp & .Rle Graphics FilesInfo About .Ico & .Cur Graphics FilesInfo About Anti-VirusNetworking InfoDownload Executable Codes

8086 Executable Codes

Hey Do You Want To Develop Your Own Compiler??? Here Are Some Assembly And Equivalent 8086 Executable Codes For You!!! Information About 8086 Jump Instructions And 8086 Addressing Will Be Available Soon...
To Move Constant Value's Into Registers[16-Bit]
Assembly CodeExecutable Code 8086[Hex]
MOV AX,2B8 02 00
MOV BX,1234BB D2 04
MOV CX,4B9 04 00
MOV DX,5BA 05 00
In The Above Exe Code B8,BB,B9 And BA Represent Registers AX,BX,CX And DX Respectively. Next Two Bytes Represents The 16-Bit Value To Be Moved In To Register. Since AX,BX,CX And DX Are 16-Bit In Length, Constants To Be Moved Into Registers Will Be 16-Bit In Length.
To Move Constant Value's Into Registers[8-Bit]
Assembly CodeExecutable Code 8086[Hex]
MOV AH,6B4 06
MOV BH,3B7 03
MOV CH,4B5 04
MOV DH,5B6 05
MOV AL,6B0 06
MOV BL,3B3 03
MOV CL,4B1 04
MOV DL,5B2 05
In The Above Exe Code B4,B7,B5,B6,B0,B3,B1 And B2 Represent Registers AH,BH,CH,DH,AL,BL,CL And DL Respectively. Next One Byte Represents The 8-Bit Value To Be Moved In To Register. Since AH,BH,CH, DH,AL,BL,CL And DL Are 8-Bit In Length, Constants To Be Moved Into Registers Will Be 8-Bit In Length.
Pushing Register Values In To Stack
Assembly CodeExecutable Code 8086[Hex]
PUSH AX50
PUSH BX53
PUSH CX51
PUSH DX52
PUSH DS1E
PUSH ES06
PUSH SI56
PUSH DI57
PUSH BP55
Poping Back Values From Stack To Register
Assembly CodeExecutable Code 8086[Hex]
POP AX58
POP BX5B
POP CX59
POP DX5A
POP DS1F
POP ES07
POP SI5E
POP DI5F
POP BP5D
Moving Values From One Register[16-Bit] To Another
Assembly CodeExecutable Code 8086[Hex]
MOV AX,BX8B C3
MOV AX,CX8B C1
MOV AX,DX8B C2
MOV BX,AX8B D8
MOV BX,CX8B D9
MOV BX,DX8B DA
MOV CX,AX8B C8
MOV CX,BX8B CB
MOV CX,DX8B CA
MOV DX,AX8B D0
MOV DX,BX8B D3
MOV DX,CX8B D1
Moving Values From One Register[8-Bit] To Another
Assembly CodeExecutable Code 8086[Hex]
MOV AH,BH8A E7
MOV AH,CH8A E5
MOV AH,DH8A E6
MOV AH,AL8A E0
MOV AH,BL8A E3
MOV AH,CL8A E1
MOV AH,DL8A E2
MOV BH,AH8A FC
MOV BH,CH8A FD
MOV BH,DH8A FE
MOV BH,AL8A F8
MOV BH,BL8A FB
MOV BH,CL8A F9
MOV BH,DL8A FA
MOV CH,AH8A EC
MOV CH,BH8A EF
MOV CH,DH8A EE
MOV CH,AL8A E8
MOV CH,BL8A EB
MOV CH,CL8A E9
MOV CH,DL8A EA
MOV DH,AH8A F4
MOV DH,BH8A F7
MOV DH,CH8A F5
MOV DH,AL8A F0
MOV DH,BL8A F3
MOV DH,CL8A F1
MOV DH,DL8A F2
MOV AL,AH8A C7
MOV AL,BH8A C7
MOV AL,CH8A C5
MOV AL,DH8A C6
MOV AL,BL8A C3
MOV AL,CL8A C1
MOV AL,DL8A C2
MOV BL,AH8A DC
MOV BL,BH8A DF
MOV BL,CH8A DD
MOV BL,DH8A DE
MOV BL,AL8A D8
MOV BL,CL8A D9
MOV BL,DL8A DA
MOV CL,AH8A CC
MOV CL,BH8A CF
MOV CL,CH8A CD
MOV CL,DH8A CE
MOV CL,AL8A C8
MOV CL,BL8A CB
MOV CL,DL8A CA
MOV DL,AH8A D4
MOV DL,BH8A D7
MOV DL,CH8A D5
MOV DL,DH8A D6
MOV DL,AL8A D0
MOV DL,BL8A D3
MOV DL,CL8A D1
Generrating Interrupt
Assembly CodeExecutable Code 8086[Hex]
INT 21HCD 21
INT 10HCD 10
INT 1AHCD 1A
In The Above Exe Code CD Instruct's The Processor To Gennerate The Interrupt. And The Interrupt Number Is Picked From The Next One Byte Information. Interrput Number Can Vary From 0-255. For More Information About Interrupt Routine Refer The Bible Of DOS Programming : Ray Duncan's Advanced MS-DOS Programming.
Sample .Com(MS-DOS) File
Test01.com(Size Of Test01.com Is 10 Bytes)
B4 02 B2 42 CD 21 B4 4C CD 21
Try Running This Program In Dos Mode. This Simple Instuction Prints "B" At Cursor Position Using Universal Interrupt(0x21) Function 0x02. And Control Is Transfered To MS-DOS Using Universal Interrupt(0x21) Function 0x4C.
After Decoding The Above Test01.com We Get The Following Test01.Asm
Test01.Asm
.
.
.
MOV AH,02; Function Number To Print A Character At Cursor Position
MOV DL,'B'; Character To Output
INT 21H; Gennerate Interrupt 0x21
MOV AH,4CH; Function Number To Quit A Program
INT 21H; Gennerate Interrupt 0x21
.
.
.