0% found this document useful (0 votes)
43 views20 pages

Codes of Coal

is intrinspring

Uploaded by

ali yousaf
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views20 pages

Codes of Coal

is intrinspring

Uploaded by

ali yousaf
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 20

Add four word of data

.MODEL SMALL
.STACK 64
.DATA
D1 DW 234DH,1DE6H,3BC7H,566AH
SUM DW ?

.CODE
MAIN PROC FAR
MOV AX,@DATA
MOV DS,AX
MOV CX,04
MOV DI,OFFSET (D1)
MOV BX,00

AGAIN: ADD BX,[DI]


INC DI
INC DI
DEC CX
JNZ AGAIN
MOV SI,OFFSET(SUM)
MOV SI,[BX]

MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN

//Average Temperature
.MODEL SMALL

.STACK 64

.DATA

D1 DB +13,-10,+19,+14,-18,-9,+12,-19,+16

AVG DW ?

REM DW ?

.CODE

MAIN PROC

MOV AX,@DATA

MOV DS,AX

MOV CX,09
SUB BX,BX

MOV AX,00

MOV SI,OFFSET(D1)

BACK: MOV AL,[SI]

CBW

ADD BX,AX

INC SI

;DEC CX

LOOP BACK

MOV AL,9

CBW

MOV CX,AX

MOV AX,BX

CWD

IDIV CX

MOV AVG,AX

MOV REM,DX

MOV AH,4CH

INT 21H

MAIN ENDP

END MAIN

//UPPER TO LOWER

.MODEL SMALL

.STACK 64

.DATA

D1 DB 'mY NAME is jOe'

COUNT EQU 14

RESULT DB ?
.CODE

MAIN PROC

MOV AX,@DATA

MOV DS,AX

MOV SI,OFFSET (D1)

MOV BX,OFFSET (RESULT)

mov cx,count

SUB AX,AX

AGAIN: MOV AL,[SI]

CMP AL,61H

JB NEXT

OR AL,11011111B

NEXT: MOV [BX],AL

INC SI

INC BX

DEC CX

JNZ AGAIN

MOV AH,4CH

INT 21H

MAIN ENDP

END MAIN
//LOWER TO UPPER
.MODEL SMALL

.STACK 64

.DATA

D1 DB 'mY NAME is jOe'

COUNT EQU 14

RESULT DB ?

.CODE

MAIN PROC

MOV AX,@DATA

MOV DS,AX

MOV SI,OFFSET (D1)

MOV BX,OFFSET (RESULT)

mov cx,count

SUB AX,AX

AGAIN: MOV AL,[SI]

CMP AL,61H

JB NEXT

AND AL,11011111B

NEXT: MOV [BX],AL

INC SI

INC BX

DEC CX

JNZ AGAIN
MOV AH,4CH

INT 21H

MAIN ENDP

END MAIN

//No. of 1 in byte 16
org 100h

.MODEL SMALL

.STACK 64

DATA1 DB 77h

RESULT DB ?

.CODE

MAIN PROC

MOV AX,@DATA

MOV DS,AX

MOV AL,DATA1

MOV CX,8

MOV BL,00

AGAIN:

SHR AL,1

JNC NOADD

INC BL

NOADD:

LOOP AGAIN

MOV RESULT,BL

MOV AH,4CH

INT 21H

MAIN ENDP

END MAIN
;ASCII TO BCD UNPACKED 8 bit
.MODEL SMALL

.STACK 64

.DATA

DATA1 DB '123456'

RESULT DB ?

.CODE

MAIN PROC

MOV AX,@DATA

MOV DS,AX

MOV CX,6

MOV SI,OFFSET(DATA1)

MOV DI,OFFSET(RESULT)

LOOP:MOV AL,[SI]

AND AL,0FH

MOV [DI],AL

INC SI

INC DI

DEC CX

JNZ LOOP

MOV AH,4CH

INT 21H

MAIN ENDP

END MAIN

;ASCII TO BCD UNPACKED


.MODEL SMALL

.STACK 64

.DATA

DATA1 DB '123456'

RESULT DB ?

.CODE

MAIN PROC

MOV AX,@DATA

MOV DS,AX

MOV CX,3

MOV SI,OFFSET(DATA1)

MOV DI,OFFSET(RESULT)

LOOP:MOV AX,[SI]

AND AX,0F0FH

MOV [DI],AX

INC SI

INC SI

INC DI

INC DI

DEC CX

JNZ LOOP

MOV AH,4CH

INT 21H

MAIN ENDP

END MAIN

DAA
ORG 100H

.MODEL SMALL

.STACK 64H

.DATA

DATA1 DB 47H

DATA2 DB 25H

DATA3 DB ?

.CODE

MAIN PROC

MOV AX,@DATA

MOV DS,AX

MOV AL,DATA1

MOV BL,DATA2

ADD AL,BL

DAA

MOV DATA3,AL

MOV AH,4CH

INT 21H

MAIN ENDP

END MAIN

;PACKED BCD TO ASCII


.MODEL SMALL
.STACK 64

.DATA

DATA1 DB 29H

RESULT DW ?

.CODE

MAIN PROC

MOV AX,@DATA

MOV DS,AX

MOV AX,00

MOV AL,DATA1

MOV AH,AL

AND AX,0F00FH

MOV CL,4

SHR AH,CL

OR AX,3030H

XCHG AH,AL

MOV RESULT,AX

MOV AH,4CH

INT 21H

MAIN ENDP
END MAIn

;ASCII ADDITION AAA


org 100h

.MODEL SMALL

.STACK 64

.DATA

DATA1 DB '7'

DATA2 DB '5'

RESULT DW ?

.CODE

MAIN PROC

MOV AX,@DATA

MOV DS,AX

MOV AL,DATA1

MOV BL,DATA2

ADD AL,BL

AAA

OR AX,3030H

MOV RESULT,AX

MOV AH,4CH

INT 21H

MAIN ENDP
END MAIN

Ret

; ASCII TO BCD PACKED


.MODEL SMALL

.STACK 64

.DATA

DATA1 DB '39'

RESULT DB ?

.CODE

MAIN PROC

MOV AX,@DATA

MOV DS,AX

MOV SI,OFFSET(DATA1)

MOV AX,[SI]

AND AX,0F0FH

XCHG AH,AL

MOV CL,4

SHL AH,CL

OR AL,AH

MOV RESULT,AL

MOV AH,4CH

INT 21H

MAIN ENDP

END MAIN

;PACKED BCD TO ASCII


.MODEL SMALL
.STACK 64

.DATA

DATA1 DB 29H

RESULT DW ?

.CODE

MAIN PROC

MOV AX,@DATA

MOV DS,AX

MOV AX,00

MOV AL,DATA1

MOV AH,AL

AND AX,0F00FH

MOV CL,4

SHR AH,CL

OR AX,3030H

XCHG AH,AL

MOV RESULT,AX

MOV AH,4CH

INT 21H

MAIN ENDP

END MAIN

Highest Temp
; You may customize this and other start-up templates;

; The location of this template is c:\emu8086\inc\0_com_template.txt

org 100h

.MODEL SMALL

.STACK 64

.DATA

DATA1 DB +13,-10,+19,+14,-18,-9,+12,-19,+16

LOWEST DB ?

.CODE

MAIN PROC

MOV AX,@DATA

MOV DS,AX

MOV CX,8

MOV SI,OFFSET(DATA1)

MOV AL,[SI]

BACK: INC SI

CMP AL,[SI]

JG LABEL

MOV AL,[SI]

LABEL: LOOP BACK

MOV LOWEST,AL

MOV AH,4CH

INT 21H

MAIN ENDP

END MAIN

Ret
Lowest temp
; You may customize this and other start-up templates;

; The location of this template is c:\emu8086\inc\0_com_template.txt

org 100h

.MODEL SMALL

.STACK 64

.DATA

DATA1 DB +13,-10,+19,+14,-18,-9,+12,-19,+16

LOWEST DB ?

.CODE

MAIN PROC

MOV AX,@DATA

MOV DS,AX

MOV CX,8

MOV SI,OFFSET(DATA1)

MOV AL,[SI]

BACK: INC SI

CMP AL,[SI]

JLE LABEL

MOV AL,[SI]

LABEL: LOOP BACK

MOV LOWEST,AL

MOV AH,4CH

INT 21H

MAIN ENDP

END MAIN ret

Display String
; You may customize this and other start-up templates;
; The location of this template is c:\emu8086\inc\0_com_template.txt

org 100h

.MODEL SMALL

.STACK 64

.DATA

DATA1 DB 'TEST CODE','$'

.CODE

MAIN PROC

MOV AX,@DATA

MOV DS,AX

CALL CLEAR

CALL CURSOR

CALL DISPLAY

MOV AH,4CH

INT 21H

MAIN ENDP

CLEAR PROC

MOV AX,0600H

MOV BH,07

MOV CX,0000

MOV DX,2479

INT 21H

CLEAR ENDP

CURSOR PROC

MOV AH,02

MOV BH,00

MOV DH,12

MOV DL,39

INT 10H
CURSOR ENDP

DISPLAY PROC

MOV AH,09

MOV DX,OFFSET(DATA1)

INT 21H

END MAIN

Ret

Stop Bell Centre


; You may customize this and other start-up templates;

; The location of this template is c:\emu8086\inc\0_com_template.txt

org 100h

.MODEL SMALL

.STACK 64

.DATA

DATA1 DB 'TO STOP THE BELL SOUND PRESS ANY KEY','$'

.CODE

MAIN PROC

MOV AX,@DATA

MOV DS,AX

MOV AH,02

MOV BH,00

MOV DH,12

MOV DL,39

INT 10H

MOV AH,09

MOV DX,OFFSET(DATA1)

INT 21H

AGAIN: MOV AH,02


MOV DL,07

INT 21H

MOV AH,01

INT 16H

JZ AGAIN

MOV AH,4CH

INT 21H

MAIN ENDP

END MAIn

Ret

Stop The Bell


; You may customize this and other start-up templates;

; The location of this template is c:\emu8086\inc\0_com_template.txt

org 100h

.MODEL SMALL

.STACK 64

.DATA

DATA1 DB 'TO STOP THE BELL SOUND PRESS ANY KEY','$'

.CODE

MAIN PROC

MOV AX,@DATA

MOV DS,AX

MOV AH,09

MOV DX,OFFSET(DATA1)

INT 21H
AGAIN: MOV AH,02

MOV DL,07

INT 21H

MOV AH,01

INT 16H

JZ AGAIN

MOV AH,4CH

INT 21H

MAIN ENDP

END MAIN

ret

;ASCII ADDITION AAA


org 100h

.MODEL SMALL

.STACK 64

.DATA

DATA1 DB '7'

DATA2 DB '5'

RESULT DW ?

.CODE

MAIN PROC

MOV AX,@DATA

MOV DS,AX

MOV AL,DATA1

MOV BL,DATA2
ADD AL,BL

AAA

OR AX,3030H

MOV RESULT,AX

MOV AH,4CH

INT 21H

MAIN ENDP

END MAIn

ret

You might also like