Showing posts with label 8086. Show all posts
Showing posts with label 8086. Show all posts

Sunday, August 4, 2013

88. ADDRESS TRANSLATION OF 80386 IN PROTECTED MODE IN JAVA

import java.util.*;
class addrxlation
{
                public static void main(String args[])
                {
                                Scanner read = new Scanner(System.in);
                String GDT[][]={{"0000000000000000","00000000000000000000000000001111"},{"0000000000000001","00000000000000000000000011111111"},
{"0000000000000010","00000000000000000000111111111111"}};
                String PD[][]={{"00000000000000000000000000000000","00000000000000000001000000000000"},{"00000000000000000000000000000001","00000000000000000010000000000000"},
{"00000000000000000000000000000001","00000000000000000011000000000000"}};

87. BRANCH PREDICTION LOGIC IN JAVA

import java.io.*;
import java.util.*;
class bpl
{/*Status taken
3:Strongly Taken
2:Weakly Taken
1:Weakly Not Taken
0:Strongly Not Taken*/
                static String btb[][];
public static void main(String args[])throws IOException
{

86. FLOATING POINT ADDER IN JAVA

import java.io.*;
import java.util.*;
class FloatingPointAdder
{          int exp;
            Scanner s=new Scanner(System.in);
            float n1,n2;
            String temp1="",temp2="";
            int exp1,exp2;
            String tmp1="",tmp2="";
            char cry='0';    
            char s1='0',s2='0';
            String e1,e2;
            String m1="", m2="";
            int cmn_expo;
            void input()
            {

Friday, August 24, 2012

78. BLOCK INTERCHANGE IN 8086


DATA SEGMENT
X DB 01H,02H,03H,04H,05H
Y DB 11H,12H,13H,14H,15H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV CX,05H
LEA SI,X 
LEA DI,Y 
UP: MOV BL,[SI] 
MOV AL,[DI]
MOV [SI],AL 
MOV [DI],BL 
INC SI 
INC DI
DEC CX 
JNZ UP
MOV AH,4CH
INT 21H
CODE ENDS
END START

77. BLOCK TRANSFER IN 8086



DATA SEGMENT
X DB 01H,02H,03H,04H,05H
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA 
MOV DS,AX
MOV CX,05H 
LEA SI,X+04 
LEA DI,X+04+03
UP: MOV BL,[SI] 
MOV [DI],BL 
DEC SI 
DEC DI
DEC CX 
JNZ UP
MOV AH,4CH
INT 21H
CODE ENDS
END START

Saturday, June 30, 2012

62. CODE CONVERSION IN 8086


ASCII ADJUSTMENT INSTRUCTIONS


CODE SEGMENT
ASSUME CS:CODE
START: MOV AX,31H 
ADD AX,39H 
AAA
ADD AX,3030H 
MOV BL,9
MOV AX,0702H 
AAD 

Thursday, June 28, 2012

61. 16-BIT DIVISION IN 8086


16-BIT DIVISION FOR SIGNED NUMBERS


DATA SEGMENT
NUM1 DW 4567H,2345H
NUM2 DW 4111H
QUO DW 2 DUP(0)
REM DW 1 DUP(0)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA

60. 8-BIT DIVISION IN 8086


8-BIT DIVISION FOR UNSIGNED NUMBERS


DATA SEGMENT
NUM1 DB 72H,
NUM2 DB 02H
QUO DB 1 DUP(0)
REM DB 1 DUP(0)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AL,NUM1 

Tuesday, June 26, 2012

51. 16 & 32-BIT ADDITIONS IN 8086


16-BIT ADDITION


DATA SEGMENT
NUM DW 1234H, 0F234H
SUM DW 2 DUP(0)
DATA ENDS
CODE SEGMENT
ASSUME CS: CODE, DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV AX,NUM 

50. 16-BIT MULTIPLICATION IN 8086



16-BIT MULTIPLICATION FOR UNSIGNED NUMBERS


DATA SEGMENT
NUM DW 1234H,1234H
PROD DW 2 DUP(0)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
LEA SI,NUM
MOV AX,[SI] 
MOV BX,[SI+2]

49. 16 & 32-BIT SUBTRACTIONS IN 8086



16-BIT SUBTRACTION

DATA SEGMENT
NUM DW 4567H,2345H
DIF DW 1 DUP(0)
DATA ENDS
CODE SEGMENT
ASSUME
CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
CLC

48. MATRIX MULIPLICATION

MOV SI,1000
       MOV BP,1020
       MOV DI,1050
L2:  MOV CX,00
L1:  MOV AL,[SI]
       MOV BL,[BP]
       MUL BL
       ADD CX,AX
       ADD BP,03
       INC SI

47. SEPARATING +VE & -VE NUMBERS

MOV SI,1100
      MOV CX,0A
      MOV AL,00
L2: MOV BX,[SI]
      ADD BX,00H
      JS L1
      INC SI
      INC AL