Assembly 1
Assembly 1
Assembly 1
.MODEL SMALL
.STACK 100H
.DATA
PROMPT_1 DB 'Enter the string : $'
PROMPT_2 DB 0DH,0AH,'The string in reverse order is : $'
.CODE
MAIN PROC
MOV AX, @DATA ; initialize DS
MOV DS, AX
…………………………………………………………………………………………
1)
MY_DATA SEGMENT
NUM1 DB'1234'
NUM2 DB'1235'
UNPK_NUM1 DW ?
UNPK_NUM2 DW ?
MAX_NUM DW ?
MY_DATA ENDS
MY_CODE SEGMENT
ASSUME CS:MY_CODE, DS:MY_DATA
START: MOV AX,MY_DATA
MOV DS, AX
LEA SI, NUM1
MOV AH,[SI]
INC SI
MOV AL,[SI]
AND AH, 0FH
ROL AH, 0FH
ROL AH, 04H
OR AH, AL
INC SI
MOV BH, [SI]
INC SI
MOV BL, [SI]
AND BH, 0FH
AND BL, 04H
ROL BH, 04H
OR BH, BHL
MOV AL, BH
MOV UNPK_NUM1, AX
LEA SI, NUM2
MOV AH, [SI]
AND AH, 0FH
AND AL, 0FH
AND AH, 04H
ROL AH, 04H
OR AH, 04H
INC SI
MOV BH, [SI]
INC SI
MOV BL, [SI]
AND BH, 0FH
AND BL, 0FH
ROL BH, 04H
OR BH, 04H
MOV AL, BH
MOV UNPK_NUM2, AX
CMP AX, BX
JA LI
MOV MAX_NUM, BX
JMP L2
L1: MOV MAX_NUM, AX
L2: INT 21H
MY_CODE ENDS
END START
…………………………………………………….
3)
MY DATA SEGMENT
BLANK_MEMORY_BLOCK DB 2501H DUP(?)
DIVIDEND DW 105H; 16 BIT NUMBER STORED ON 2501H AND 2502
DIVISOR DB 10H ; 8 BITDIVISOR ON 2503H
QUOTIENT DB ? ; 8 BIT QUOTIENT ON 2504H
REMEAINDER DB ?
MY_DATA ENDS
MY_CODE SEGMENT
ASSUME CS: MY_CODE, DS: MY_DATA
START: MOV AX, MY_DATA
MOV DS, AX
MOV AX, DIVIDENT
MOV BL, DIVISOR
DIV BL
MOV QUOTIENT, AL
MOV REMAINDER, AH
INT 21H
MY_CODE ENDS
END START
…………………………………………………………………………..
4)
MY_DATA SEGMENT
X DW 2H
FLAG DB 0
RESULT DW?
MY_DATA ENDS
MY_CODE SEGMENT
ASSUME CS: MY_CODE, DS: MY_DATA
START: MOV AX, MY_DATA
MOV DS, AX
MOV BX, AX
MOV CL, 5
MOV AX, X
MUL CL
ADD AX, 9
ADC AX, BX
JMP L2
L1: MOV AX, X
MUL AX
MOV BL, 4MUL BL
ADD AX, 7
L2: MOV RESULT, AX
INT 21H
MY_CODE ENDS
END START
……………………………………………………………………………….
1)
1)
;to view the bcd click on the view and file variables that display
;if you change the string then three different location you change it
org 100h
jmp start
include 'emu8086.inc'
string db '1284' ; if changes then 3 location change
string1 db '1235' ; if changes then 3 location change
packed_bcd dw ?
packed_bcds dw ?
start:
lea bx, string
lea di, packed_bcd
call pack_to_bcd_and_binary
lea bx, string1
lea di, packed_bcds
call pack_to_bcd_and_binary
xchg al, ah