SlideShare a Scribd company logo
1 of 329
:
Personal Computers
Intel.
Assembly
Language Programming and Organization of The
IBM PC
:
_____________________________________________________________________
__________________________________________________________________
SUST2
Background
.
Structured Programming Language
.
.
.
:
_____________________________________________________________________
__________________________________________________________________
SUST3
.
.
.
.
.:
:
Intel
8088
.
:
:
_____________________________________________________________________
__________________________________________________________________
SUST4
.
.
:Flag
Register
.
:
High Level
Language
.
:
.
.
:
_____________________________________________________________________
__________________________________________________________________
SUST5
:
Stack
:
.
.
:
.
:
Strings.
:
.
:
_____________________________________________________________________
__________________________________________________________________
SUST6
Low_Level
.
Systems Programming.
:
IBM
Intel.
8086
8086
:
_____________________________________________________________________
__________________________________________________________________
SUST7
Segments.
8086Intel
IBM
Intel80868088
802868038680486Pentium
8088
IBM PC80286
XT ( eXtended Technology )
AT ( Advanced Technology )
80386.
ISA (Industry Standard Arch.)EISA
( Extended ISA )80386
80486.
Pentium
:
_____________________________________________________________________
__________________________________________________________________
SUST8
Local Bus SystemsPCIVESA
.
Intel
Software Compatibility
.
Word Length
.
80868088
Intel19788086
16-bits)
16-bit.(1979
80888086
:
_____________________________________________________________________
__________________________________________________________________
SUST9
8-bits8086
)
MHz.(
IBM8088
IBM PC
808616-bit
16-bit.
80868088
80868088
.
:
_____________________________________________________________________
__________________________________________________________________
SUST10
8018680188
8018680188
80868088
Support Chips.
Extended
Instruction.
80286.
80286:
802861982
16 Bits
808612.5 MHZ
:
_____________________________________________________________________
__________________________________________________________________
SUST11
10 MHZ8086.
80286:
1Two Modes Of Operations
80286
Real ModeProtected
Mode.
80286
8086
8086
.
Multi_Tasking
.
2:
:
_____________________________________________________________________
__________________________________________________________________
SUST12
80286
16 MByte)
1 MBYTE8086. (
3:
1 GBYTE
)16 MBYTE
(
.
80386:
1985
32 BITS80386
80286
)16_BIT32_BIT(
40
MHZ
80286.
:
_____________________________________________________________________
__________________________________________________________________
SUST13
80386
8038680286.
8086)VIRTUAL 8086 MODE(
8086.
80386
4 Gbytes
64 T BYTES.
80386SX
8038616
BITS.
80486:
198980486
80386
80386
:
_____________________________________________________________________
__________________________________________________________________
SUST14
80387
80386
80387
Math. Co_Processor
80386
Cache Memory)
(8 Kbytes.
8048680386
.
80486
)(100 M Hz.
80486SX80486
.
80486
.
:
_____________________________________________________________________
__________________________________________________________________
SUST15
Pentium
PentiumIntel
64 Bits
80486
Cache Memory.
Pentium
MMX
.
80888086
.
Pentium.
:
_____________________________________________________________________
__________________________________________________________________
SUST16
.
14
.
DX,CX,BX,AX
.
)(
.
.
16-BITS
:
_____________________________________________________________________
__________________________________________________________________
SUST17
8-BITSHIGH
LOWAX
16-BITS)H IGH
AH(8-BITSAL
(LOW).8-BITS
D,C,B88-
BITS16-BITS.
GENERAL PURPOSE REGISTERS
:
1( Accumulator )AX
AX
.
.
:
_____________________________________________________________________
__________________________________________________________________
SUST18
.AX
.
2BX(Base Register )
BX
.
3(Count Register) CX
CX
.
.
4(Data Register )DX
.
CS, DS, SS, ES
:
_____________________________________________________________________
__________________________________________________________________
SUST19
.
.
808820)
Address Bus20(
220 = 1,048,5761
Mbytes.
5:
00000 h = 0000 0000 0000 0000
0000
00001 h = 0000 0000 0000 0000
0001
00002 h = 0000 0000 0000 0000
0010
00003 h = 0000 0000 0000 0000
0011
00004 h = 0000 0000 0000 0000
0100
00000hFFFFFh.
:
_____________________________________________________________________
__________________________________________________________________
SUST20
20
16
)
64 Kbytes(
Segments64 K Bytes
.
216 = 64 Kbytes
Segment Number0000h
FFFFh.
Offset
16 Bytes
0000hFFFFh.
:
_____________________________________________________________________
__________________________________________________________________
SUST21
:
Segment : Offset
Logical Address
AABB:55665566
AABB.
16)
(
AABB:5566
A ABB0
+ 5566
= B 1116 (
20 )
=*16+
:
_____________________________________________________________________
__________________________________________________________________
SUST22
LOCATIONS OF SEGMENTS
0000:000000000
0000:FFFF0FFFF
0001:0000
000100001:FFFF
1000F.
.)1(
451001F2
……..
451000F1
……..
350FFFF0
……..
:
_____________________________________________________________________
__________________________________________________________________
SUST23
29000202
76000101
54000000
)1(
)1(16
.16
Paragraph.
10hParagraph Boundaries.
.:
:
1256A:
12561240
:
:
_____________________________________________________________________
__________________________________________________________________
SUST24
:=*16+
X
X+10h*1256=1256A
X+12560=1256A
X=000A
1256:000A
–
X
X+10h*1240=1256A
X+12400=1256A
X=016A
1240:016A
:
_____________________________________________________________________
__________________________________________________________________
SUST25
1256A = 1256:000A = 1240:016A
:
80FD2h
8FD2h
:=*16+
80FD2h=*10h+
BFD2h
=7500h
Stack
.
Code Segment
Data Segment
:
_____________________________________________________________________
__________________________________________________________________
SUST26
Stack Segment
Extra Segment.
)CS(Code Segment Register
Code
Segment Address
Code Segment
Register (CS)
Instruction Pointer
.
)DS(Data segment Register
Data
Segment Address
)(
DS.
:
_____________________________________________________________________
__________________________________________________________________
SUST27
.
)SS(Stack Segment Register
(Last In First Out
)LIFO(
Stack Pointer (SP).
)ES(Extra Segment Register
)
ES(
Index and Pointer
)SP, BP, SI, DI(Registers
:
_____________________________________________________________________
__________________________________________________________________
SUST28
.
)SP(Stack Pointer
.
)BP(Base Pointer
.
)SI(Source Index
)(
:
_____________________________________________________________________
__________________________________________________________________
SUST29
.
)DI(Destination Index
SI
ES
.
)IP(Instruction Pointer
.
.
Instruction Pointer (IP)
Code Segment
CS:IP.
:
_____________________________________________________________________
__________________________________________________________________
SUST30
.
Flags Register
)(
:.
)
(
.
Interrupt Flag
:
_____________________________________________________________________
__________________________________________________________________
SUST31
)
(
.
Memory
Organization
80881Mbyte.
1KByte
Interrupt Vector Table
BIOS
ROM(READ ONLY
MEMORY)
.
)VIDEO DISPLAY MEMORY.(
O PORTS/I
:
_____________________________________________________________________
__________________________________________________________________
SUST32
808864KB
.
.
1802868088
2
3DX,CX,BX,AX.
4
0A51:CD90
54A37B:
40FF.
123B.
6
:
_____________________________________________________________________
__________________________________________________________________
SUST33
8088
.
.
.
.
.
:
Assembler
:
_____________________________________________________________________
__________________________________________________________________
SUST34
Assembler
.
.
Instructions
AssemblerAssembler-
DirectivesAssembler
.
NAME OPERATION OPERAND(S)
COMMENT
TAB
(SPACE)
.
NAME
)(
.
Operation.
:
_____________________________________________________________________
__________________________________________________________________
SUST35
Operation(s)
) .
.(
Comments
.
Srart:MOVCX , 5 ;
initialize counter
StartMOV
CX55
CX5
.
MainProc
)(Main.
:
Name Field
:
_____________________________________________________________________
__________________________________________________________________
SUST36
.
31
“.”
.
:
start – counter - @character – sum_of_digits
- $1000 – done? - .test
:
two words
2abc
a45.ab
(.)
)(Operation Field
OpCode
Assembler
:
_____________________________________________________________________
__________________________________________________________________
SUST37
SubAddMov
.
Pseudo-Op
Assembler
Proc
Procedure
Operand Field
)
(
NOP
INC CXCX
ADD
Word1 , 2
Word1
2
:
_____________________________________________________________________
__________________________________________________________________
SUST38
destination Operand
)
(
Source Operand
.
.
Comment Field
.
";"
.
:
_____________________________________________________________________
__________________________________________________________________
SUST39
.:
MOV CX , 0; move 0 to CX
:
MOV CX , 0; CX counts
terms, initialized to 0
:
;
; Initialize Registers
MOV CX,0
MOV BX, 0
Program Data
.
Numbers
:
_____________________________________________________________________
__________________________________________________________________
SUST40
01
BbBinary
01010111B11100011b

Dd
Decimal12341345d–234D.

Hh
Hexadecimal0abh56H) .
0
ab
ab.(
10011
10011
b
6455
-456h
:
_____________________________________________________________________
__________________________________________________________________
SUST41
FFFF
h
)(
1,234)
(
0ab)hH(
Characters
‘A’‘SUDAN’
ASCII
Assembler
‘A’41h)
A(
.
VARIABLES
High
Level Programming Languages
.
:
_____________________________________________________________________
__________________________________________________________________
SUST42
.
.
DB (Define
Byte)
DW (Define
Word )
DD (Define
Double Word)
DQ (Define
Quad Word)
DT (Define Ten
Bytes)
DB
DW.
Byte Variables:
:
_____________________________________________________________________
__________________________________________________________________
SUST43
:
Name DB Initial_Value
Alpha DB 4
Alpha
4.
)(
.
:Byte DB ?
0255
Unsigned Numbers128
127+
Signed Numbers.
Word Variables
Word
Two Bytes
name DW initial_value
:
_____________________________________________________________________
__________________________________________________________________
SUST44
WRDDW-2
WRD
)–2(
.
word
065535)216 –1(
)(Unsigned Numbers
–32768)-215(
32767)215 - 1(
)(Signed Numbers.
Arrays
.
3Bytes10h
20h30h:
:
_____________________________________________________________________
__________________________________________________________________
SUST45
B_ARRAYDB10h, 20h, 30h
B_ARRAY
)10h(B_ARRAY + 1
B_ARRAY + 2
.
0200hB_ARRAY
:
)
Symbol(
10h200h0B_ARRAY
20h0201hB_ARRAY + 1
30h0202hB_ARRAY + 2
W_ARRAY DW 1000h,
2000h, 3000h
1000h2000h3000h.
( 1000h )W_ARRAY
W_ARRAY +2
W_ARRAY + 4.
:
_____________________________________________________________________
__________________________________________________________________
SUST46
300h
:
)
Symbol(
1000h0300hW_ARRAY
2000h0302hW_ARRAY +
2
3000h0304hW_ARRAY +
4
Low
ByteHigh
Byte.
:Word1 DW 1234h
34h)(
word112h)
(word1 + 1.
Character Strings
:
_____________________________________________________________________
__________________________________________________________________
SUST47
ASCII Table
Letters
‘ABC”
1 - Letters db ‘ABC’
2 – Letters db 41h, 42h,43h
msgdb 0dh,0ah,’Sudan$’
Capital
LettersSmall Letters.
.EQU
(EQUate ):
name EQU Constant
:
_____________________________________________________________________
__________________________________________________________________
SUST48
name.
LF0Ah
LFEQU0Ah
LF0Ah
MOV AL , LFMOV
AL,0Ah.Assembler
LF0Ah.
Prompt EQU ‘Type your
Name’
Msg DB prompt
EQU
.
Byte1Byte2
Word1Word2
1–MOV
:
_____________________________________________________________________
__________________________________________________________________
SUST49
MOV
)(
.
MOVDestination , Source
Source
Destination
MOVAX , Word1
)(Word1
AX.AX
.
MOVAL, ‘A’
041h)A
ASCII(AL.
MOV
:
_____________________________________________________________________
__________________________________________________________________
SUST50
)
(
)
(
2XCHG)Exchange(
XCHG
).(:
:
_____________________________________________________________________
__________________________________________________________________
SUST51
XCHG Destination, Source
:
XCHG AH, BL
AH, BL)AH
BLBLAH.(
:
AX
WORD1
XCHG AX, WORD1
XCHG
3ADD, SUB, INC, DEC, NEG:
ADDSUB
:
_____________________________________________________________________
__________________________________________________________________
SUST52
:
ADDDestination, Source
SUB Destination,
Source
ADD WORD1, AX
AX
WORD1WORD1)
AX(
SUB AX, DX
DXAX
AX)
DX(
ADD
SUB
:
_____________________________________________________________________
__________________________________________________________________
SUST53
ADD BYTE1, BYTE2
:
MOVAL, BYTE2 ;
ADDBYTE1, AL
ADD BL,55
BLBL.
:
_____________________________________________________________________
__________________________________________________________________
SUST54
MOV AX ,BYTE1
BYTE
AX2-BYTE) .
)((
ASEMBLER
MOV AH, ‘A’)AH
(
41hAH
MOV AX ,’A’)AX
(
0041h
AX.
, NEG)Decrement(, DEC)Increment(INC
INC ,DEC
1
:
INC Destination ; Destination =
Destination +1
:
_____________________________________________________________________
__________________________________________________________________
SUST55
DEC Destination ; Destination =
Destination - 1
INC WORD11
WORD1
DEC WORD21
WORD2.
NEG(Negate)
Complement2’S
:
NEG Destination
:
NEG BX ; BX = -BX
NEG BYTE ; BYTE = -
BYTE .
:
:
_____________________________________________________________________
__________________________________________________________________
SUST56
High Level Programming Languages
.
AB
WORD.
B=A
AAXB
MOV AX , A
MOV B , AX
A=5-A
5AXMOV AX ,
5
AX5-ASUB AX ,
A
AMOV
A , AX
NEG A
ADD A,5
:
_____________________________________________________________________
__________________________________________________________________
SUST57
A=B-2*A
MOV AX,B
SUB AX,A
SUB AX, A
MOV A,AX
:
CODE
SEGMENT
DATA
SEGMENT
STACK SEGMENT
ASSEMBLER
.
MEMORY MODELS:
:
_____________________________________________________________________
__________________________________________________________________
SUST58
.
.MODEL:
.MODEL
MEMORY_MODEL
SMALL
.
:.MODELSMALL
MODEL
SMALL
MEDIUM
COMPACT
:
_____________________________________________________________________
__________________________________________________________________
SUST59
LARGE
64k BYTE
HUGE
64k BYTE
DATA SEGMENT:
.
.DATA
.DATA
WORD1 DW 2
WORD2 DW 5
MSG DB ‘THIS IS A
MESSAGE’
:
_____________________________________________________________________
__________________________________________________________________
SUST60
MASK EQU 10011001B
Stack Segment:
.
)
.(
:
.Stack Size
size
bytes.
100h
.Stack 100h
1KB
Assembler.
Code Segment:
:
.Code Name
Name.
Small)
:
_____________________________________________________________________
__________________________________________________________________
SUST61
(Assembly
.
)(Procedure
Name Proc
;
Name ENDP
NameProcEndp
Pseudo_Ops
.CODE
MAIN PROC
;
MAIN ENDP
;
small.:
.MODEL SMALL
.STACK 100H
:
_____________________________________________________________________
__________________________________________________________________
SUST62
.DATA
;
.CODE
MAIN PROC
;
MAIN ENDP
;
END MAIN
END.
INPUT &OUTPUT
INSTRUCTIONS
IN
OUT
.
:
_____________________________________________________________________
__________________________________________________________________
SUST63
SERVICE ROUTINES
.
BIOS (BASIC INPUT
/OUTPUT SYSTEM )
DOS.BIOS
)ROM(
DOS
BIOS
/.
BIOSDOS
INT (INTERRUPT )
INT INTERRUPT_NUMBER
INT 16hBIOS
INT 21h
:
_____________________________________________________________________
__________________________________________________________________
SUST64
DOS
H21)H21INT(
DOS
AH
21H.
.
.
)(
:
_____________________________________________________________________
__________________________________________________________________
SUST65
1
2
9
1:
:1AH
:ALASCII
0
NON CHARACHTER KEY
)F1-F10.(
:
MOVAH,01
INT 21H
.
:
_____________________________________________________________________
__________________________________________________________________
SUST66
ASCII
AL
.
.
F1-F10AL
.INT 21h
AL.
22:
.
:02AH.
ASCII
DL.
:ASCII
AL.
:
MOV AH , 02H
MOV DL , ‘?’
INT 21H
:
_____________________________________________________________________
__________________________________________________________________
SUST67
)
.(
Control Character
(
ASCII
7BEL
(Beep)
8BS (Back
space)
Back
Space )(
9HT
(Tab)
Tab
ALF (Line
Feed)
DCR (Carriage
return)
ALASCII
:
:
_____________________________________________________________________
__________________________________________________________________
SUST68
.
:
1""
MOV AH,2
MOV DL,’?’
INT 21h
2
MOV AH,1
INT 21h
3BL
DL
AL
)2
DL
AL(
BL
MOV BL , AL
4
:
_____________________________________________________________________
__________________________________________________________________
SUST69
Carriage ReturnLine Feed
MOV AH,2
MOV DL,0dh ;
Carriage Return
INT 21h
MOV DL,0ah ; Line
Feed
INT 21h
5)
BL)3(
MOV DL , BL
INT 21h
6
4ChAH
21h.
MOV AH,4CH
INT 21h
:
TITLE FIRST : ECHO PROGRAM
.MODEL SMALL
.STACK 100H
.CODE
MAIN PROC
;
:
_____________________________________________________________________
__________________________________________________________________
SUST70
MOV AH,2 ;
MOV DL,’?’ ;
INT 21H
;
MOV AH,01 ;
INT 21H
MOV BL,AL ;
;
MOV AH,02
MOV DL,0DH ; carriage return
INT 21H
MOV DL,0AH ; line feed
INT 21H
;
MOV DL,BL ; ;
INT 21H
; DOS
MOV AH,4CH
INT 21H
:
_____________________________________________________________________
__________________________________________________________________
SUST71
MAIN ENDP
END MAIN
DOS
INT 21h4Ch
:
:
1Text Editor
) .(
2ASSEMBLER
OBJECT FILE.
3LINKER
OBJECT
EXECUTABLE FILE.
4.
:
:
_____________________________________________________________________
__________________________________________________________________
SUST72
1SOURCE FILE:
Editor
Text
EditorEDIT
ASM (Extention)
FIRST.ASM.
2ASSEMBLE THE PROGRAM:
AssemblerMASM(Microsoft Macro
Assembler)TASM(Turbo Assembler)
(OBJECT FILE).
(1)
.
TASMMASM
:
TASM FILENAME;
:
_____________________________________________________________________
__________________________________________________________________
SUST73
MASM FILENAME;
TASM
:
>TASM FIRST;
TURBO ASSEMBLER VERSION 3.1
COPYRGHT(C)1988,1992BRLAND
INTERNATIONAL
ASSEMBLING FILE : FIRST.SAM
ERROR MESSAGE : NONE
WARNING MESSAGE :NONE
PASSES: 1
ASSEMBLER
.
first.asm
first.obj.
3rogramLinking the p
:
_____________________________________________________________________
__________________________________________________________________
SUST74
Machine Language
:
.
.
Link Program
Object Files
. EXE
(Executable File):
> TLINK First;
Turbo Link Version 2.0 Copyright (c) 1987
Borland International .
4–Run The Program
:
_____________________________________________________________________
__________________________________________________________________
SUST75
DOS
C:ASM > first
?t
t
C:ASM >
""
.
.
Display String
1
21h
2
.
9
9:
:
_____________________________________________________________________
__________________________________________________________________
SUST76
:Offset
DX
)"$( "
"$".
Control
Character.
‘Hello!’.
msgdb ‘HELLO!$’
LEA
9INT 21h
DX
LEA ( Load Effective Address)
LEADestination , Source
).(
.
:
_____________________________________________________________________
__________________________________________________________________
SUST77
LEADX, MSG
msg
DX.
DS.
)Program Segment Prefix(PSP
256PSP.
PSP
.
DOS
DSES
DS
MOVAX,
@DATA
MOV DS, AX
:
_____________________________________________________________________
__________________________________________________________________
SUST78
@DATA
.DATA
ASSEMBLER@DATA
DSAX
DS.
‘HELLO!’
DX
921h.
TITLE SECOND: DISPLAY STRING
.MODEL SMALL
.STACK 100H
.DATA
MSG DB 'HELLO!$'
.CODE
MAIN PROC
; initialize DS
MOV AX,@DATA
MOV DS,AX
;display message
:
_____________________________________________________________________
__________________________________________________________________
SUST79
LEA DX,MSG ;
MOV AH,09H ;
INT 21H
;return to DOS
MOV AH,4CH
INT 21H ;
MAIN ENDP
END MAIN
A Case Conversion
Program:
lower-case letter
upper-case letter
Enter A Lower Case Letter : a
In Upper Case It Is : A
EQU
CR,LF
CR EQU 0DH
LF EQU 0AH
MSG1 DB ‘Enter A Lower Case Letter :$’
:
_____________________________________________________________________
__________________________________________________________________
SUST80
MSG2 DB CR,LF,’ In Upper Case It
Is : ‘
Char DB ? ,’$’
charMSG2
msg2
char)
Upper -case
20h(
CR,LFmsg2
.
msg2‘$’
char
)‘$’char
.(
msg1
LEADX ,msg1
MOV AH ,9
INT 21h
MOV AH ,1
INT 21h
:
_____________________________________________________________________
__________________________________________________________________
SUST81
upper-case
20h )
ASCII
20h 41h
61h (
char
SUB AL,20h ;
MOV char ,AL ;
msg2
char.
:
TITLE THIRD: CASE CONVERSION PROGRAM
.MODEL SMALL
.STACK 100H
.DATA
CR EQU 0DH
LF EQU 0AH
MSG1 DB 'ENTER A LOWER CASE
LETTER: $'
MSG2 DB CR,LF,'IN UPPER CASE IT IS :'
CHAR DB ?,'$'
.CODE
MAIN PROC
; initialize DS
:
_____________________________________________________________________
__________________________________________________________________
SUST82
MOV AX,@DATA
MOV DS,AX
;print user prompt
LEADX,MSG1
MOV AH,09H
INT 21H
;input character and convert to lower case
MOV AH,01H
INT 21H
SUB AL,20H
MOV CHAR,AL
;display on the next line
LEA DX,MSG2
MOV AH,09H
INT 21H
;return to DOS
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN
:
1
IBM PC...
1- two_words
2- ?1
3- tow words
:
_____________________________________________________________________
__________________________________________________________________
SUST83
4- t=
2.
.
1- 246 2- 246h 3- 1001 4-
1.101
5- 2EAH 6- FFEH 7-1011B
3)
(
wordA52.
wordword1
.
ByteB52.
ByteC
.
wordword2
65536.
Array1
Bell7.
msg‘This Is A
Message $’
:
_____________________________________________________________________
__________________________________________________________________
SUST84
4
0000h
A DB 7
B DW 1ABCH
C DB ‘HELLO’
A,B,C.
0002h.
0004h.
‘O’
‘HELLO’.
5
B1,B2Bytew1,w2
words.
1-MOV Ds,Ax 2-MOV
Ds,1000h
3- MOV CS,ES 4-MOV w1,DS
5-XCHG w1,w2 6-SUB 5,B1
7-ADD B1,B2 8-ADD
AL,256
9-MOV w1,B1
6MOV, ADD , SUB ,INC , DEC ,
NEG
:
:
_____________________________________________________________________
__________________________________________________________________
SUST85
1- A=B - A
2- A= -(A+1)
3- C= A + B
4- B= 3* B + 7
5- A= B - A- 1
7)(:
1
.
2Upper case letter
Lower case letter.
:
8:
1‘?’.
2
10
3
.
? 35
The sum of 3 and 5 is 8
:
_____________________________________________________________________
__________________________________________________________________
SUST86
9.
.
Enter Three Letters :
ABC
A
B
C
10
)A-F(
.
Enter A Hexadecimal Digit :
C
In Decimal It Is : 12
.8086
:
_____________________________________________________________________
__________________________________________________________________
SUST87
9Flags
.
Flag
Register
Control FlagsStatus Flags.
.
024
67118910
)
(
:
_____________________________________________________________________
__________________________________________________________________
SUST88
C
f
P
f
A
f
Z
f
S
f
T
f
IfD
f
O
f
Status Flags
SUB Ax,Bx
1.
Status Flags
Name
CF
Carry Flag0
PFParity Flag2
AFAuxiliary
Carry Flag
4
:
_____________________________________________________________________
__________________________________________________________________
SUST89
ZFZero Flag6
SFSign Flag7
OFOverflow
Flag
11
Control Flags
TFTrap Flag8
IFInterrupt
Flag
9
DFDirection
Flag
10
)CF(Carry Flag
‘1’)(
Most Significant Bit (MSB)
.
.
Shift
Rotate.
)PF(Parity Flag
:
_____________________________________________________________________
__________________________________________________________________
SUST90
‘1’
Low Byte
‘1’.
‘1’
.
FFFEhFEH
)11101111(
‘1’7)(
‘0’)PF = 0(
)AF(Auxiliary Carry Flag
‘1’
bit-3
Binary Coded Decimal
(BCD).
)ZF(Zero Flag
‘1’(ZF=1)
)SF(Sign Flag
‘1’
MSB‘1’
:
_____________________________________________________________________
__________________________________________________________________
SUST91
) .SF = 1MSB
=1SF= 0MSB= 0(
)OF(FlagOverflow
‘1’(OF=1)
Signed
Numbers.
.
Overflow
)
One Byte255(
.
)(Unsigned Numbers
Signed Numbers.
:
:
_____________________________________________________________________
__________________________________________________________________
SUST92
1
2
3
4
AXFFFFhBX
1ADD AX, BX
:
1111 1111 1111 1111
+ 0000 0000 0000 0001
= 1 0000 0000 0000
0000
1
65536
10000h
)
65535(1
0000hAX
.
:
_____________________________________________________________________
__________________________________________________________________
SUST93
2
FFFFh–11
0
)0(
.
AXBX7FFFh
ADD AX,BX:
0111 1111 1111 1111
+ 0111 1111 1111 1111
1111 1111 1111 1110
= FFFEh
7FFFh
0)MSB = 0(32767
(7FFFh)
65534
)-2(
:
_____________________________________________________________________
__________________________________________________________________
SUST94
OF=1
CF=1
.
.
.
CF
OF.
OF.
:
_____________________________________________________________________
__________________________________________________________________
SUST95
Unsigned overflow
MSB
)
FFFFh
16FFh
8.(
).(
Signed Overflow
.
:
_____________________________________________________________________
__________________________________________________________________
SUST96
A – ( - B ) = A + B , -A – ( +B ) = -A -B
A+-(B)
A-BAB
.
.
:
MSB
)
.(
)
.(
:
:
_____________________________________________________________________
__________________________________________________________________
SUST97
.
.
JUMP
INSTRUCTIONS
.
:
MOV /
XCHG
ADD /
SUB
INC /
DEC
)CF(
NEG)CF=1
00F=1
:
_____________________________________________________________________
__________________________________________________________________
SUST98
800HWORD80h
Byte(
operands
0f,sf,zf,pf,cf)AF
BCD.(
1:
ADD AX,BXAX
FFFFhBX
FFFFh
:
FFFFh
FFFFh+
1FFFEh
1111 1111 1111 1110(0FFFEh)
AX:
SF:1
MSB1.
PF:07
)(1
:
_____________________________________________________________________
__________________________________________________________________
SUST99
LOW BYTE.
ZF:0.
CF:1
MSB
.
OF:
)MSB
MSB.(
2:
ADD AL,BLAL
80hBL80h
:
80h
h+80
100h
AL00h
SF:SF=0MSB0
PF:PF=10
1
:
_____________________________________________________________________
__________________________________________________________________
SUST100
ZF:ZF=10
CF:CF=1
MSB
OF:OF=1
)
MSB.(
3:
SUB AX,BXAX
8000h
BX0001h
:
8000h
-0001h
7FFFh = 0111 1111 1111
1111
SF:SF=0MSB=0
PF:PF=1
8)("1"
ZF:ZF=00
CF:CF=0
:
_____________________________________________________________________
__________________________________________________________________
SUST101
OF:OF=1
.
.
). (
4:
INC ALALFFh
:
FFh
h1+
100h
100hAL.
:1)PF=1. (
SF:SF=0MSB=0
PF:PF=18
“1”
ZF:ZF=1
CF:INC
.
:
_____________________________________________________________________
__________________________________________________________________
SUST102
OF:OF=0
)
MSB.(
5:
MOV AX,-5
–5)FFFBh(AX
MOV.
6:
NEG AXAX
8000h
8000h = 1000 0000 0000 0000
COMPLEMENT = 1000 0000 0000 0000
0000000000001000
SF:SF=1
PF:PF=1
ZF:ZF=0
CF:CF=1
CF=1
.
:
_____________________________________________________________________
__________________________________________________________________
SUST103
OF:OF=1NEG
.
DEBUG:
DEBUG
_
DEBUG
EXCUTABLE FILE
C:DOSDEBUG TEST.EXE
""
:
1.R.
R
)R IP.(
2.T)TRACE(
.
:
_____________________________________________________________________
__________________________________________________________________
SUST104
3.G)GO(.
4.Q)QUIT(.
5.AASSEMBLE.
6.U.
7.DDUMB.
Debug:
MODEL SMALL
.STACK 100H
.CODE
MAIN PROC
MOV AX , 4000H ;ax =
4000h
ADD AX , AX ;ax = 8000h
SUB AX , 0FFFFH ;ax =
8001h
NEG AX ;ax = 7fffh
INC AX ;ax = 8000h
MOV AH , 4CH
INT 21H ;DOS exit
MAIN ENDP
END MAIN
:
_____________________________________________________________________
__________________________________________________________________
SUST105
test.asm
Executable file
Test.exeDebug
DOS:c:asm>
DEBUG TEST.EXE
""
.
R
:
)
CS:IP(Machine Code
B80040
.
- R
AX=0000 BX=0000 CX=001F DX=0000 SP=000A BP=0000 SI=0000 DI=0000
DS=0ED5 ES=0ED5 SS=0EE5 CS=EE6 IP=0000 NV UP DI PL NZ NA PO NC
0EE6:0000 B80040 MOV AX , 4000
:
_____________________________________________________________________
__________________________________________________________________
SUST106
.
8
NV UP DI PL NZ NA PO NC
:
SetClear
CF (CarryFlag)CY (CarrY)NC (No Carry)
PF (Parity Flag)PE (Parity
Even)
PO (Parity Odd)
AF (Auxiliary
Flag)
AC (Auxiliary
Carry)
NA (No
Auxiliary carry)
ZF (Zero Flag)ZR (ZeRo)NZ (NonZero)
SF (Sign Flag)NG (NeGative)PL (Plus)
OF (Overflow
Flag)
OV (OVerflow)NV (No
oVerflow)
Control Flags
DF (Direction
Flag)
DN (DowN)UP (UP)
IF ( Interrupt
Flag )
EI (Enable
Interrupt)
DI (Disable
Interrupt)
:
_____________________________________________________________________
__________________________________________________________________
SUST107
TTrace
:
)
:MOV AX , 4000h
4000hAX
AX4000H
ADD
AX,AX
- R
AX=0000 BX=0000 CX=001F DX=0000 SP=000A BP=0000 SI=0000 DI=0000
DS=0ED5 ES=0ED5 SS=0EE5 CS=EE6 IP=0000 NV UP DI PL NZ NA PO NC
0EE6:0000 B80040 MOV AX , 4000
- T
AX=4000 BX=0000 CX=001F DX=0000 SP=000A BP=0000 SI=0000 DI=0000
DS=0ED5 ES=0ED5 SS=0EE5 CS=EE6 IP=0003 NV UP DI PL NZ NA PO NC
0EE6:0003 03C0 ADD AX , AX
- T
AX=8000 BX=0000 CX=001F DX=0000 SP=000A BP=0000 SI=0000 DI=0000
DS=0ED5 ES=0ED5 SS=0EE5 CS=EE6 IP=0005 OV UP DI NG NZ NA PE NC
0EE6:0005 2DFFFF SUB AX , FFFF
:
_____________________________________________________________________
__________________________________________________________________
SUST108
AX8000H
AX)AL(
1.
SUB AX,FFFFh
- T
AX=8001 BX=0000 CX=001F DX=0000 SP=000A BP=0000 SI=0000 DI=0000
DS=0ED5 ES=0ED5 SS=0EE5 CS=EE6 IP=0008 NV UP DI NG NZ AC PO CY
0EE6:0008 F7D8 NEG AX
- T
AX=7FFF BX=0000 CX=001F DX=0000 SP=000A BP=0000 SI=0000 DI=0000
DS=0ED5 ES=0ED5 SS=0EE5 CS=EE6 IP=000A NV UP DI PL NZ AC PE CY
0EE6:000A 40 INC AX
-T
AX=8000 BX=0000 CX=001F DX=0000 SP=000A BP=0000 SI=0000 DI=0000
DS=0ED5 ES=0ED5 SS=0EE5 CS=EE6 IP=000B OV UP DI NG NZ AC PE CY
0EE6:000B B44C MOV AH , 4C
- G
PROGRAM TERMINATED NORMALLY
-Q
C:>
:
_____________________________________________________________________
__________________________________________________________________
SUST109
:
DESTINATION REG
.
1.ADD AX,BXAX
7FFFhBX0001h.
2.SUB AL,BAL=01hBL=FFh
3.DEC ALAL=00h
4.NEG ALAL=7F
5.XCHG AX,BXAX=1ABChBX=712h.
6.ADD AL,BLAL=80hBL=FFh.
7.SUB AX,BXAX=0000hBX=8000h.
8.NEG AXAX=0001h.
2BXAX
.ADD AX,BX
:
_____________________________________________________________________
__________________________________________________________________
SUST110
MSB
.
BXAX.
ADD AX,BX
MSB
.
3ADD AX,BX
AXBX
.AX
.
.512Ch.FE12h.E1E4h.7132h
.6389h
4185h+1ACBh+DAB3h+7000h+
1176h+
4SUB AX,BX
AXBX
.AX
.
:
_____________________________________________________________________
__________________________________________________________________
SUST111
.2143h.81Feh.19BCh.
0002h88CDh
-1986h-1986h-81Feh
FE0Fh71ABh
Flow Control
Instructions
Status Flags
.
HIGH
LEVEL LANGUAGE.
:
:
_____________________________________________________________________
__________________________________________________________________
SUST112
ASCII
Table.
.Model Small
.Stack 100h
.Code
MAINPROC
MOV AH , 2
MOV CX , 256
MOV DL , 0
Print_Loop:
INT 21h ;DL
INC DL ;
DEC CX ;
JNZPRINT_LOOP ;
; DOS_EXIT
MOV AH , 4Ch
INT 21h
MAINENDP
END MAIN
:
_____________________________________________________________________
__________________________________________________________________
SUST113
256IBM Character Set
.
2)(
2AH.DL
0
CX
256.
(Jump if Not Zero) JNZ
(Print-Loop)
CX
ZF.
(ZF= 0)
(ZF= 1)
4CH.
CONDITIONAL JUMP
JNZ.
Jxxx destination-Label
:
_____________________________________________________________________
__________________________________________________________________
SUST114
.
.
126127
.
.
.
IP
.
.
JNZ PRINT-LOOP
ZF= 0
PRINT-LOOP
:
_____________________________________________________________________
__________________________________________________________________
SUST115
.(ZF= 1 )
.
:
Signed Jumps
Singed
Numbers
Unsigned Jumps
Unsigned
Numbers.
Single Flag Jumps
.
.
JGJNLE
JG
.
.
:
_____________________________________________________________________
__________________________________________________________________
SUST116
1Signed Jumps
JG /
JNLE
)
(
ZF=0 &
SF=OF
JGE /
JNL
)(
SF=OF
JL /
JNGE
)
(
SF<>OF
JLE /
JNG
)(
ZF=1 OR
SF<>OF
2Unsigned Jumps
JA /
JNBE
)
(
CF=0 &
ZF=0
JAE /
JNB
)(
CF=0
JB /
JNAE
)
(
CF=1
:
_____________________________________________________________________
__________________________________________________________________
SUST117
JBE /
JNA
)(
CF=1 OR
ZF=1
3Single Flag Jumps
JE / JZZF=1
JNE /
JNZ
)
(
ZF=0
JCCarryCF=1
JNC
Carry
CF=0
JOOF=1
JNOOF=0
JSSF=1
JNSSF=0
JP / JPEPF=1
JNP /
JPO
PF=0
:
_____________________________________________________________________
__________________________________________________________________
SUST118
CMP
Compare(CMP)
:
CMP Destination , Source
sourcedestination
CMP
destination
.
CMPSUB
.
:
CMP Ax , Bx
JG Below
AX=777FhBX=0001hAx,Bx
CMP:
7FFFh - 0001h = 7FFEh
:
_____________________________________________________________________
__________________________________________________________________
SUST119
zf = sf = of =0
JG
Zf = 0Sf = Of
Below.
:
CMP AX,BX
JG Below
AX
BX
Below.
CMP
:
DECCX
JNZ loop
loop
CX.
:
_____________________________________________________________________
__________________________________________________________________
SUST120
:
JGJA
.
zf , sf , of
zf , cf
.
Ax
7fffhBx8000h
:
CMP AX,BX
JA Below
7EFF > 8000h
Below
7FFFh < 8000h
JA.
:
:
_____________________________________________________________________
__________________________________________________________________
SUST121
0
MSB
Extended ASCII Code
80h - FFh.
:
AXBX
CX.
MOV CX , AX
CMP BX , CX
JLE NEXT
MOV CX,BX
NEXT:
Unconditional Jump
JMP
:
Jmp Destination
:
_____________________________________________________________________
__________________________________________________________________
SUST122
.
.
TOP:
; Loop Body
Dec CX ;
JNZTOP ;
TOP)126(JNZ
JMP
TOP:
; Loop Body
DEC CX
JNZBOTTOM
JMP EXIT
BOTTOM:
JMP TOP
EXIT:
:
_____________________________________________________________________
__________________________________________________________________
SUST123
High Level Programming Languages.
.……Then..……IF
If..Then…
IF condition is True then
Execute True branch statements
End_IF
AX.
)(
.
IF AX < 0 then
Replace AX with –AX
:
_____________________________________________________________________
__________________________________________________________________
SUST124
End_IF
CMP AX , 0
JNL END_IF
; Then
NEG AX
END_IF:
2–IF…THEN…..ELSE…..ENDIF
IF Condition is True then
Execute True_Branch statements
ELSE
Execute False_Branch
statements
End_IF
:
BL,AL(ASCII CODE)
)(
:
_____________________________________________________________________
__________________________________________________________________
SUST125
IF AL < = BL THEN
DISPLAY AL
ELSE
DISPLAY BL
END_IF
)(:
MOVAH,2
CMP AL,BL
JNBE ELSE_
MOV DL,AL
JMP DISPLAY
ELSE_:
MOV DL,BL
DISPLAY:
INT 21H
3CASE
CASE
:
CASE EXPRESSION
VALUE_1 :
STATEMENT_1
VALUE_2 : STATEMENT_2
:
VALUE_N : STATEMENT_N
:
_____________________________________________________________________
__________________________________________________________________
SUST126
END_CASE
:
AX–1
BXAX0
BXAX
1BX.
:
CASE AX
< 0 : PUT –1 IN BX
= 0 : PUT 0 IN BX
> 0 : PUT 1 IN BX
END_CASE
:
CMP AX, 0 ; AX
JL NEGATIVE ; AX < 0
JE ZERO ; AX = 0
JG POSITIVE ; AX > 0
; Otherwise (Else) part will be here
NEGATIVE :
MOV BX,-1
JMP END_CASE
:
_____________________________________________________________________
__________________________________________________________________
SUST127
ZERO :
MOV BX,0
JMP END_CASE
POSITIVE :
MOV BX,1
END_CASE:
CMP
.
:AL1
3"0"
AL24‘E’.
:
CASE AL of
1,3:DISPLAY “0”
2,4:DISPLAY “E”
END_CASE
CMP AL , 1
JE ODD
CMP AL , 3
JE ODD
CMP AL , 2
JE EVEN
CMP AL , 4
:
_____________________________________________________________________
__________________________________________________________________
SUST128
JE EVEN
JMP END_CASE
ODD: MOV DL , ‘O’
JMP DISPLAY
EVEN: MOV DL , ‘E’
DISPLAY: MOV AH ,2
INT 21H
END_CASE:
Compound Conditions
IF condition1 AND condition2
IF condition1 OR condition2
""AND
""OR
""AND Condition
""
:
Capital Letter
:
Read a Character into AL
:
_____________________________________________________________________
__________________________________________________________________
SUST129
If ( ‘A’ <= character AND character <= ‘Z’)
then
Display character
End_IF
MOV AH , 1 ;
INT 21h
CMP AL , ‘A’
JNGE End_IF
CMP AL , ‘Z’
JNLE End_IF
MOV DL , AL
MOV AH , 2
INT 21h
End_IF:
""OR Condition
""
:‘y’‘Y’
‘y’‘Y’
Read character from keyboard into AL
IF ( character = ‘y’ OR character = ‘Y’ )
then
Display character
:
_____________________________________________________________________
__________________________________________________________________
SUST130
Else
Terminate the program
End_IF
MOV AH , 1 ;
INT 21h
CMP AL , ‘y’
JE then
CMP AL , ‘Y’
JE Then
JMP else_
Then: MOV DL,AL
MOV AH , 2
INT 21h
JMP End_if
else: MOV AH ,4ch
INT 21h
End_if:
.
.
:
_____________________________________________________________________
__________________________________________________________________
SUST131
for loop
For loop_count times do
statements
End_for
loop
loop destination_label
CX
)(loop
CX
CX=
destination_label)
126(
CX
.loop
; ( CX )
top:
;
loop top
:
80"*"
:
_____________________________________________________________________
__________________________________________________________________
SUST132
for 80 times do
display “*”
End_for
MOV CX , 80 ;
MOV AH , 2
MOV DL , ‘*’
Top: INT 21h
LOOP top
LOOP
CX
165535
65535(00FFFh)
.
CX
JCXZ
:
_____________________________________________________________________
__________________________________________________________________
SUST133
( Jump if CX is Zero )
JCXZ skip
Top:
;
looptop
skip:
WHILE
While Condition DO
Statements
End_while
.
.
:
_____________________________________________________________________
__________________________________________________________________
SUST134
)
(
:
INITIALIZE COUNT TO 0 ;
READ A CHARACTER ;
WHILE CHARACTER<>CARRIAGE-
RETURN DO
COUNT =COUNT+1
READ A CHARACTER
END-WHILE
:
MOV DX,0 ;
MOV AH , 1 ; 1)
(
INT 21h
WHILE:
CMP AL,0DH ;
JE END_WHILE;
:
_____________________________________________________________________
__________________________________________________________________
SUST135
INC DX ;
INT 21H ;
JMP WHILE.
END-WHILE :
REPEAT
.
REPEAT
STATEMENT(s) ;
UNTIL CONDITION
.
.
:
blank
MOV AH,1 ;
REPEAT:
INT 2!H
CMP AL ,‘ ‘;
JNE REPAET ;
:
_____________________________________________________________________
__________________________________________________________________
SUST136
WHILEREPEAT
WHILE
REPEAT
.
:
)
ASCII.(
(No
capital letters ).:
TYPE A LINE OF TEXT :
SUDAN UNIVERSITEY OF SCIENCE
AND TECHNOLOGY
:
_____________________________________________________________________
__________________________________________________________________
SUST137
FIRST CAPITAL = A LAST CAPITAL = Y
TOP - DOWN PROGRAM
DESIGN:
1.
2.
3.
.
1
MOV AH,9 ; 9
LEA DX ,PROMPT ;
INT 21H ;
PROMPT
PROMPT DB ‘ TYPE A LINE OF TEXT :
‘,0DH,0AH, ‘$’
:
_____________________________________________________________________
__________________________________________________________________
SUST138
CURSOR
2:
Read Character;
While Character Is Not a Carriage Return Do
IF Character Is A Capital Letter Then
IF Character Precedes First Capital
THEN
First Capital =CHARACTER
END_IF
IF Character Follows Last Capital THEN
Last Capital = Character
END_IF
END_IF
Read Character
END_WHILE
Character >=
‘A’ AND Character <=’Z’
MOV AH , 1
INT 21H
WHILE:
CMP AL,0DH
:
_____________________________________________________________________
__________________________________________________________________
SUST139
JE END_WHILE
CMP AL , ‘A’
JNGE END_IF
CMP AL , ‘Z’
JNLE END_IF
CMP AL,FIRST
JNL CHECK-LAST
MOV FIRST,AL
CHECK-LAST:
CMP AL,LAST
JNG END-IF
MOV LAST,AL
END_IF: INT 21H
JMP WHILE
END_WHILE :
FIRSTLAST
:
FIRST DB ‘]’
LAST DB ‘@’
]Z@
A
3/:
:
IF NO CAPITAL LETTER TYPED THEN
:
_____________________________________________________________________
__________________________________________________________________
SUST140
DISPLAY ’NO CAPITAL’
ELSE
DISPLAY FIRST & LAST
CHARACTER
END_IF
.:
NOCAP-MSG DB ‘NO CAPITALS $’
CAP-MSG DB ‘FIRST CAPITAL=‘
FIRST DB ‘]’
DB ‘LAST CAPITAL=‘
LAST DB ‘@ $’
MOV AH , 9
CMP FIRST,’]’
JNE CAPS
LEA DX ,NOCAP_MSG
JMP DISPLAY
CAPS : LEA DX, CAP_MSG
DISPLAY: INT 21H
TITLE THIRD: CASE CONVERSION PROGRAM
.MODEL SMALL
:
_____________________________________________________________________
__________________________________________________________________
SUST141
.STACK 100H
.DATA
CR EQU 0DH
LF EQU 0AH
PROMPT DB ‘TYPE A LINE OF
TEXT',CR,LF,'$'
NOCAP_MSG DB CR,LF,'NO
CAPITALS $'
CAP_MSG DB CR,LF,'FIRST CAPITAL
='
FIRST DB ']'
DB ' LAST CAPITAL = '
LAST DB '@ $'
.CODE
MAIN PROC
; initialize DS
MOV AX,@DATA
MOV DS,AX
;display opening message
LEADX,prompt
MOV AH,09H
INT 21H
;read and process a line of text
MOV AH,01H
INT 21H
WHILE_:
CMP AL,CR
:
_____________________________________________________________________
__________________________________________________________________
SUST142
JE END_WHILE
;if char is capital
CMP AL,'A'
JNGE END_IF
CMP AL,'Z'
JNLE END_IF
; if character precede first capital
CMP AL,FIRST
JNL CHECK_LAST
MOV FIRST,AL
CHECK_LAST:
; if character follow last capital
CMP AL,LAST
JNG END_IF
MOV LAST,AL
END_IF:
INT 21H
JMP WHILE_
END_WHILE:
MOV AH,9
;if no capital were typed
CMP FIRST,']'
JNECAPS
LEA DX,NOCAP_MSG
JMP DISPLAY
CAPS:
LEADX,CAP_MSG
:
_____________________________________________________________________
__________________________________________________________________
SUST143
DISPLAY:
INT 21H
;exit to DOS
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN
:
_____________________________________________________________________
__________________________________________________________________
SUST144
1
1 - IF AX < 0 THEN
PUT -1 IN BX
END_IF
2 - IF AL < 0 THEN
PUT FFh IN AH
ELSE
PUT 0 IN AH
END_IF
3 - IF ( DL >= “A” AND DL = < “Z” )
Then
DISPLAY DL
END_IF
4 - IF AX < BX THEN
IF BX < CX THEN
PUT 0 IN AX
ELSE
PUT 0 IN BX
END_IF
END_IF
5 - IF ( AX < BX ) OR ( BX < CX )
THEN
PUT 0 IN DX
ELSE
PUT 1 IN DX
:
_____________________________________________________________________
__________________________________________________________________
SUST145
END_IF
6 - IF AX < BX THEN
PUT 0 IN AX
ELSE
IF BX < CX THEN
PUT 0 IN BX
ELSE
PUT 0 IN CX
END_IF
END_IF
2CASE
.
‘A’)(Carriage
Return
‘B’)(Line
Feed
.
3:
:
_____________________________________________________________________
__________________________________________________________________
SUST146
1+4+7+ ........ +
148AX.
100+95+90
+ ...... +5BX.
4LOOP:
50159
13AX
80.
5
INITIALIZE QUOTIENT TO 0
WHILE DIVIDENT > = DIVISOR DO
INCREMENT QUOTIENT
SUBTRACT DIVISOR FROM
DIVIDEND
END_WHILE
AX
BXCX
6N
M
INITIALIZE PRODUCT TO 0
:
_____________________________________________________________________
__________________________________________________________________
SUST147
REPEAT
ADD M TO PRODUCT
DECREMENT N
UNTIL N = 0
AX
BXCX)
(
7LOOPLOOPZ
CX
CX <> 0( AND )ZF = 1
).(
LOOPNELOOPNZ
CX
CX <> 0( AND )ZF = 0
).(
Carriage Return
80)LOOPNE.(
:
_____________________________________________________________________
__________________________________________________________________
SUST148
8‘?’
.
.
9
80hFFh
ASCII10
.
10
)
"0""9""A""F( "
.
'Y’‘y’
.)
(
1110
3
:
_____________________________________________________________________
__________________________________________________________________
SUST149
.
AND,OR,XOR
:
AND DESTINATION ,
SOURCE
OR DESTINATION ,
SOURCE
XOR DESTINATION ,
SOURCE
DESTINATION
SOURCE
.
.
:
PF,ZF,ZF:.
AF:.
:
_____________________________________________________________________
__________________________________________________________________
SUST150
CF,OF:.
MASK
:
b AND 1 = b , b AND 0
= 0
b OR 1 = 1 , b OR 0 =
b
b XOR 1 =~ b , b XOR 0
= b
:
1‘0’)(Clear
AND‘0’
MASK'0’
'1’.
2‘1’)(SET
OR‘1’
MASK'1’
'0’.
3)(
COMPLEMENTXOR
:
_____________________________________________________________________
__________________________________________________________________
SUST151
'1’MASK
'0’
.
:
'0’AL
.
0111 1111b = 7Fh
MASKAND
AND AL, 7Fh
Set ‘1’
MSBLSBAL
Mask = 1000 0001b = 81h
OR
OR AL , 81h
DX
:
_____________________________________________________________________
__________________________________________________________________
SUST152
Mask1000 0000 0000
0000b = 8000hXOR
XOR DX , 8000h
( ‘a’ to ‘z’)
ASCII61h7Ah
( ‘A’ to ‘Z’)ASCII
41h5Ah
20hDL
SUB DL , 20h
..
’a‘0 0001101=h61
’A‘0 0001001=h61
‘0’
:
_____________________________________________________________________
__________________________________________________________________
SUST153
Mask1101
1111b= 0DFhAND
AND DL , 0DFh
.
)(Clear Register
MOV AX,0
SUB AX , AX
XOR
0 XOR 0 = 01 XOR 1 = 0
XOR
XOR AX , AX
'0’ OR ‘0’ = ‘0’'1’ OR ‘1’ = ‘1’
OR AX , AX
AX
ZFSF
AX( ZF =
:
_____________________________________________________________________
__________________________________________________________________
SUST154
1 )
CMP AX , 0
NOT
NOT1’s Complement)
‘0’‘1’'1’'0’
(:
NOT Destination
NOT AX
TEST
TESTAND
Destination
TEST Destination , Source
:
PFZFSF
AF
OFCF0
TEST
'1’'0’
Mask‘1’
:
_____________________________________________________________________
__________________________________________________________________
SUST155
'0’
0 AND b = 01 AND b = b
TEST Destination , Mask
'1’
‘1’
.
:
AL
Even_No
0
LSB
MASK00000001b
:
TEST AL , 01h
JZ Even_No
:
:
_____________________________________________________________________
__________________________________________________________________
SUST156
.
shift
.
:
Opcode Destination,1
Opcode
Destination,CL
CL
.
)SHL(Shift Left:
SHL
:
SHL Destination , 1
CL
:
_____________________________________________________________________
__________________________________________________________________
SUST157
SHLDestination , CL
CL
PF , SF , ZF.
CF
of1
.
:
DH = 8AHCL = 3
CLDHSHL DH , CL
.
:
DH
100010103h =
0101000050CL
)3(
‘0’) .DH3
3
(
:
:
_____________________________________________________________________
__________________________________________________________________
SUST158
(2d)(5d) 101
(10d) 1010
(4d).
)2(
)SAL(Shift Arithmetic Left:
SALSHL
SAL
Machine Code.
:
80hCL=2
Of , Cf
.
:
_____________________________________________________________________
__________________________________________________________________
SUST159
:AX
(8).
:(3).
MOV CL , 3
SAL AX, CL
)SHR(Shift Right:
SHR
SHR Destination,1
MSB
LSB
Cf.
CL.
SHR Destination, CL
SHL.
:
DHCF
MOV DH, 8Ah
MOV CL , 2
SHR DH,CL
:
:
_____________________________________________________________________
__________________________________________________________________
SUST160
DH = 10001010
DH = 00100010 = 22h
Cf‘1’
)SAR(Shift Arithmetic Right:
SARSHR
MSB
.
.
SAR Destination , 1
CL
SAR Destination, CL
:
2.
Cf1
:
_____________________________________________________________________
__________________________________________________________________
SUST161
(00000101)=5
(00000010)2.
:
.
SHR.
SAR
)
.(
:
65143
4AX.
:
MOVAX, 65143
MOV CL,2
SHR AX, CL
:
AL-15
AL.
SAR AL,1
:
:
_____________________________________________________________________
__________________________________________________________________
SUST162
AL
2
-7.5
-8
-15
11110001
11111000-8.
2
2
IMUL, MUL
IDIV, DIV
.
:
Rotate Left (ROL)
:
_____________________________________________________________________
__________________________________________________________________
SUST163
CF.
ROL Destination , 1
ROL Destination , CL
:Rotate Right (ROR)
ROL
.:
ROR Destination ,1
ROR Destination ,CL
ROR , ROL
CF
:
ROL
(1)BX
BX.Ax.
:
:
_____________________________________________________________________
__________________________________________________________________
SUST164
MOV DX ,16D ;
XOR AX,AX ; AX
MOV CX,1 ;
Top : ROL BX,CX ; CF
JNCNEXT
INC AX
NEXT: DEC DX
JNZTop
Rotate)RCL(
through Carry Left
..
RCL Destination , 1
RCL Destination , CL
Rotate through
carry Right RCR
:
_____________________________________________________________________
__________________________________________________________________
SUST165
RCL
RCR Destination , 1
RCR Destination ,CL
:
DH8Ah
CF=1
CL3DH
RCR DH, CL
:
DHCF
100010101
110001010
011000101
101100010
:
_____________________________________________________________________
__________________________________________________________________
SUST166
DHB1h
.
:
ALDL
AL
1101110000111011
BL.
:
SHL
RCR
BL
8.
MOV CX, 8
Reverse: SHLAL,1
RCR BL,1
Loop Reverse
MOV AL , BL
:
:
_____________________________________________________________________
__________________________________________________________________
SUST167
.
1:
Carriage Return.
'0’'1’
(1, 0).
BX:
Clear BX ( BX will hold Binary values )
Input a character ( ‘0’ OR ‘1’)
While character < > CR DO
Convert character to binary value
Left shift BX
Insert value into LSB of BX
Input a character
End_While
:
_____________________________________________________________________
__________________________________________________________________
SUST168
110:
Clear BX : BX = 0000 0000
0000 0000
Input character ‘1’ , convert to 1
Left shift BX: BX = 0000 0000
0000 0000
Insert value into LSB of BX: BX =
0000 0000 0000 0001
Input character ‘1’, convert to 1
Left shift BX: BX = 0000 0000
0000 0010
Insert value into LSB of BX: BX = 0000
0000 0000 0011
Input character ‘0’ , convert to 0
left shift BX : BX = 0000 0000
0000 0110
Insert value into LSB of BX
BX = 0000 0000 0000 0110
BX110b
'0’‘1’16
1718
.
:
_____________________________________________________________________
__________________________________________________________________
SUST169
BX
BX
OR
0)
0(
b OR 0 = b
OR
:
XOR BX,BX
MOV AH,1
INT 21h ;
While_:
CMP AL, 0Dh
JE END_While
AND AL , 0fh ;
SHL BX, 1
OR BL, AL ; BL
INT 21h ;
JMP While_
:
_____________________________________________________________________
__________________________________________________________________
SUST170
END_While:
2Binary Output:
.
1‘1’
'0’.
FOR 16 times Do
Rotate left BX
If CF = 1 then
Output ‘1’
else
Output ‘0’
end - if
END_FOR
.
3Hex input:
'0’
'9’'A’'F’
.
4).(
:
_____________________________________________________________________
__________________________________________________________________
SUST171
)
(
.
:
Clear BX
Input Hex character
While character <> CR Do
Convert character to Binary value
Left shift BX 4 Times
Insert value into lower 4 bits of BX
input a character
End_While
:
XOR BX , BX
MOV CL,4
MOV AH,1
INT 21h ;
While_:
CMPAL , 0dh
JE END_While
;
:
_____________________________________________________________________
__________________________________________________________________
SUST172
CMP AL , 39h ;
“9"
JG Letter ;
;
AND AL , 0fh ;
JMP shift
;
Letter: Sub AL , 37h ;
Shift: SHL BX, CL
; BX
OR BL, AL ;
INT 21h ;
JMP While_
END_While:
4HEX Output:
BX164
.
:
_____________________________________________________________________
__________________________________________________________________
SUST173
4
:
For 4 times Do
MOV BH to DL
Shift DL 4 times to Right
If DL < 10 then
Convert to character in 0 ......9
else
Convert to character in A..........F
end_if
Output character
Rotate BX left 4 times
END_For
1:
a. 10101111 AND 10001011 b.
10110001 OR 01001001
c. 01111100 XOR 11011010 d.
Not 01011110
2:
:
_____________________________________________________________________
__________________________________________________________________
SUST174
‘1’
BL
.
II
BX.
III
Word1.
3Test:
1.'1’
AX.
2.'0’
DX.
3.'1’
DX.
4.‘1’
DX.
5.‘1’
BL
'1’
:
_____________________________________________________________________
__________________________________________________________________
SUST175
4AL
11001011b
CF=1AL
).(
a. SHL AL,1 b. SHR AL , 1
c. ROL AL , CL ; if CL contains 2 d.
ROR AL, CL ; if CL contains 3
e. SAR AL,CL ; if CL contains 2 f. RCL AL, CL if
CL contains 3
g. RCR AL ,CL; if CL contains 3
5
.
B5h
AL8
321424
AX
-214516
BX
6:
:
_____________________________________________________________________
__________________________________________________________________
SUST176
1.AL10
.
2.DLASCII
..
7:
1.BL10D
.
2.AL.
)8(
AH):ROR.(
:
8.
ASCII
‘1’.
TYPE A CHARACTER : A
THE ASCII CODE OF A IN BINARY IS
01000001
THE NUMBER OF 1 BITS IS 2
:
_____________________________________________________________________
__________________________________________________________________
SUST177
9.
ASCII.
.
TYPE A CHARACTER : 7
THE ASCII CODE OF 7 IN HEX IS : 37
TYPE A CHARCTER :
10
4.
.
)(
.
TYPE A HEX NUMBER (0000 - FFFF) :
xa
ILLEGAL HEX DIGIT, TRY AGAIN ; 1ABC
IN BIRARY IT IS 0001101010111100
11
16
.
.
:
_____________________________________________________________________
__________________________________________________________________
SUST178
)
"0"
"1( "
.
TYPE A BINARY NUMBER UB TO 16
DIGITS : 112
ILLEGAL BINARY DIGIT , TRY AGAIN :
11100001
IN HEX IT IS EI
12
8
.
.
TYPE A BINARY NUMBER , UP TO 8
DIGITS : 11001010
TYPE A BINARY NUMBER , UP TO 8
DIGITS : 10011100
THE BINARY SUM IS 101100110
13
:
_____________________________________________________________________
__________________________________________________________________
SUST179
.
.
TYPE A HEX NUMBER (0 – FFFF ) :
21AB
TYPE A HEX NUMBER (0 – FFFF ) :
FE03
THE SUM IS 11FAE
14
.
.
)9 , 0(
ENTER A DECIMAL DIGIT STRING :
1299843
THE SUM OF THE DIGITS IN HEX IS
: 0024
:
_____________________________________________________________________
__________________________________________________________________
SUST180
The Stack and Introduction to Procedures
Procedures
pop, push
.
LIFO (Last In first out)
.
STACK 100h
:
_____________________________________________________________________
__________________________________________________________________
SUST181
SS
SP100h
.
PUSH , PUSHF:
PUSH
PUSH SOURCE
16.
PUSH AX
:
1SP2
2
SS:SP
.
PUSHF
.
SP100h
PUSHF2
SP00FEh
:
_____________________________________________________________________
__________________________________________________________________
SUST182
00FE.
POP , POPF:
POP
POP Destination
16)
IP(POP BX
POP:
1
SS:SP
2SP
2
POPF
.
16
8.
:
_____________________________________________________________________
__________________________________________________________________
SUST183
Push AL ; ILLEGAL
User Program
INT 21h
.
:
LIFO
.
:
? this is a test
tset a si siht
:
Display ‘?’
Initialize count to 0
Read a character
:
_____________________________________________________________________
__________________________________________________________________
SUST184
While Character is not a Carriage return
Do
push character onto the stack
increment counter
Read a character
End_While
Go to New line
For count times Do
Pop a character from the stack
Display it
End_For
CX
while
CX
CX.
.MODEL SMALL
.STACK 100H
.CODE
MAIN PROC
; display user prompt
MOV AH,2
MOV DL,'?'
:
_____________________________________________________________________
__________________________________________________________________
SUST185
INT 21H
;initialize character count
XOR CX , CX
;read character
MOV AH , 1
INT 21H
;while character is not a carriage return do
WHILE_:
CMP AL , 0DH
JE END_WHILE
PUSH AX
INC CX
INT 21H
JMP WHILE_
END_WHILE:
MOV AH , 2
MOV DL , 0DH
INT 21H
MOV DL , 0AH
INT 21H
JCXZ EXIT
TOP:
POP DX
INT 21H
LOOP TOP
EXIT: MOV AH , 4CH
INT 21H
:
_____________________________________________________________________
__________________________________________________________________
SUST186
MAIN ENDP
END MAIN
PROCEDURES:
.
.
.
High Level
:
_____________________________________________________________________
__________________________________________________________________
SUST187
Programming Languages
CALLRET
.
Procedure Declaration:
:
Name PROC type
; Body of the procedure
RET
Name ENDP
Nametype
OperandNEARFAR
NEAR
FAR
.
NEAR.
RET)Return(
.
RET
)
:
_____________________________________________________________________
__________________________________________________________________
SUST188
(
.
.
:
_____________________________________________________________________
__________________________________________________________________
SUST189
:
1
2:
3:
4)
(
.
RET , CALL:
CALL
DIRECT
CALL name
name.
Indirect
CALL address_expression
:
_____________________________________________________________________
__________________________________________________________________
SUST190
CALL address - expression
.
1Return address
CALL
2
IP
RET
RET Pop_value
Pop_value.
Pop_value = N
N -Bytes.
:
:
_____________________________________________________________________
__________________________________________________________________
SUST191
a,b
:
Product = 0
Repeat
If LSB of B is 1 then
Product = Product + A
End_if
Shift left A
Shift right B
until B = 0
111b=A1101b=
B
product = 0
since LSB of B is 1 , product = 0 + 111b = 111b
shift left A: A = 1110b
shift right B : B = 110b
since LSB of B is 0 ;
shift left A : A=11100b
shift right B : B = 11b
since LSB of B is 1 ; product = 111b +
11100b = 100011b
shift left A : A = 111000b
shift right B : B =1b
:
_____________________________________________________________________
__________________________________________________________________
SUST192
since LSB of B is 1 , product = 100011b +
111000b = 1011011b
shift left A : A = 1110000
shift right B : B = 0
since LSB of B is 0 ,
return Product = 1011011b = 91d
:
.MODEL SMALL
.STACK 100H
.CODE
MAIN PROC
CALL MULTIPLY
MOV AH,4CH
INT 21H
MAIN ENDP
MULTIPLY PROC
PUSH AX
PUSH BX
XOR DX , DX
REPEAT:
TEST BX , 1
JZ END_IF
ADD DX , AX
END_IF:
SHL AX , 1
SHR BX , 1
JNZ REPEAT
:
_____________________________________________________________________
__________________________________________________________________
SUST193
POP BX
POP AX
RET
MULTIPLY ENDP
END MAIN
AX
BXDX.
AXBX
FFh.
PUSH
pop
:
NAME PROC
Push AX
Push BX
:
Pop BX
Pop AX
:
_____________________________________________________________________
__________________________________________________________________
SUST194
RET
NAME ENDP
:
1
.STACK100H
SP
AX = 1234h , BX = 5678h , CX = 9ABCh , and
SP=100h
SP , CX , BX , AX
PUSH AX
PUSH BX
XCHG AX , CX
POP CX
PUSH AX
POP BX
3
( SP=0 ).
.
SP
:
_____________________________________________________________________
__________________________________________________________________
SUST195
.
4:
CALL PROC1
MOV AX , BX
:
MOV AX,BX
08FD:0203
PROC1Near
08FD:300h
SP =
010Ah
SP , IP
CALL PROC1
.
5:
AX
.
CX
.
:
_____________________________________________________________________
__________________________________________________________________
SUST196
6
‘( ) { } [ ] ‘
.
.
( A + { B - ( D - E ) + [ A + B ] } )
( A + { B - C ] )
.
.
:
_____________________________________________________________________
__________________________________________________________________
SUST197
.
.
.
7
132767
.
.
1415
XOR.
15.
:
READ
BX
:
_____________________________________________________________________
__________________________________________________________________
SUST198
RANDOM
BX
–WRITE
BX.
‘?’
READ
RANDOMWRITE
1004
4
.
Multiplication and Division Instructions
.
:
_____________________________________________________________________
__________________________________________________________________
SUST199
.
816
.
.
MUL & IMUL
10000000
11111111.
128
25532644.
:
_____________________________________________________________________
__________________________________________________________________
SUST200
-128-1
128
(32640).
:
MUL (Multiply).
IMUL (Integer Multiply).
8
16
16
32.:
MUL Source
IMUL Source&
8
16
8Byte Form
:
_____________________________________________________________________
__________________________________________________________________
SUST201
AL
Source
)
.()16
(AX.
16Word form
AX
)
.()32(
AX , DXAX
DX
DX:AX.}:
{
IMUL, MUL.
SF, ZF, AF,
PF
Of/Cf:
/MUL
:
_____________________________________________________________________
__________________________________________________________________
SUST202
)0((CF/OF = 0)
(1)
.
/IMUL
0(CF/OF = 0)
Sign Extension)
MSB(
(1)(CF/OF = 1).
CF/OF
(1)
)AL
8AX
16.(
.
:
_____________________________________________________________________
__________________________________________________________________
SUST203
:
.
1/BX = ffffh , AX = 1
)
(
AXDXCF/O
F
MUL
BX
655350000ffffffff000
0
0
IMUL
BX
-1FfffffffFff
f
ffff0
2/BX = ffffh, AX=ffffh
)()(
AXDXCF/
OF
MUL
BX
4294836
225
FFFE000100
01
FF
FE
1
IMUL
BX
100000001000
1
000
0
0
3/AX = 0fffh
:
_____________________________________________________________________
__________________________________________________________________
SUST204
)()(
AXDXCF/
OF
MUL
AX
1676902
5
00ff E00lEo
o1
00ff1
IMUL
AX
1676902
5
00ff E00lE0
01
00ff1
4/CX = ffffh , AX = 0100h
)()(
AXDXCF/
OF
MUL
CX
1677696
0
00FFFF00FF
00
00F
F
1
IMUL
CX
-256FFFFFF00FF
00
FF
FF
0
:
1/
A = 5 x A - 12 x B
MOV AX,5 ; AX = 5
IMUL A ; AX = 5 *A
MOV A , AX ; A = 5 *A
MOV AX,12 ; AX = 12
:
_____________________________________________________________________
__________________________________________________________________
SUST205
IMUL B ; AX = 12 x B
SUB A ,AX ; A = 5 x A
- 12 x B
2/
PROCEDURE
FACTORIALN!
)N(
NCXN
AX) .(
:
if N =1 ThenN ! = 1
if N > 1 ThenN ! = N × (N - 1) × (N - 2) × ..... ×
2 × 1
PRODUCT = 1
Term = N
For N Times Do
product = product * term
Term = Term -1
END_For
:
_____________________________________________________________________
__________________________________________________________________
SUST206
:
FACTORIAL PROC
; Computes N1
MOV AX, 1
Top: Mul CX
Loop Top
RET
FACTORIAL ENDP
65535
.
DIV , IDIV
DIV
(Divide)
IDIV (Integer
Divide)
:
DIV Source
IDIVSource
:
_____________________________________________________________________
__________________________________________________________________
SUST207
.
8
16:
8Byte form
AX
)8(AL
)8(AH.
16Word form
DX , AX)DX :AX
DXAX
(
AX
DX.
:
_____________________________________________________________________
__________________________________________________________________
SUST208
.
IDiv , Div.
.
Divide Overflow
.
.
"
Divide Overflow”.
:BX = 0002 , A x =0005 , DX =
0000
)()(
AXDX
Div BX210002000
1
IDIV210002000
:
_____________________________________________________________________
__________________________________________________________________
SUST209
BX1
:BX = FFFEh , AX = 0005 , DX =
0000
)()(
AXDX
Div B x050000000
5
Idiv B x-21FffE000
1
:BX = 0002h , AX = fffbh , DX =
ffffh
)()(
AXDX
Div B xfffffffbh2)
7ffffffeh(AX
Idiv B x-21FffEFfff
:BL = Ffh , AX = 00fBh
)()(
ALAH
:
_____________________________________________________________________
__________________________________________________________________
SUST210
Div B L02510FB
Idiv B
L
Divide overflow)-
25(AL
Sign Extension of Dividend
1/16
DX , AX
AXDX
:
1.Div
0DX
2.IDIV
DX
AX)
AX0
DXAX
ffffh
DX(CWD
(convert word to Double word.
ALAH
CBW (Convert Byte to Word)
:
_____________________________________________________________________
__________________________________________________________________
SUST211
:- 12507
MOVAX , -1250
CWD ; prepare DX
MOV BX , 7
IDIVBX
:
.
.
.
Decimal Output
outdec
AXAX
:
_____________________________________________________________________
__________________________________________________________________
SUST212
)(
AX
-AX)AX(
AX
.
1- If AX < 0
2 - print a minus sign
3- Replace AX By its two’s complement
4- End-if
5- Get the digits in AX’s decimal
representation
6- Convert these digits to characters and
print them
5
AX3567
3567103567
35610356
351035
:
_____________________________________________________________________
__________________________________________________________________
SUST213
10
stackcount
.
count = 0
Repeat
Divide quotient by 10
Push remainder on the stack
count = count + 1
Until quotient = 0
)quotient(
AX6
)count(
.
For count times do
Pop a digit from the stack
Convert it to a character
Output the character
End_For
:
_____________________________________________________________________
__________________________________________________________________
SUST214
:
OUTDEC PROC
; Prints AX as a signed decimal integer
; input : AX
; Output : None
PUSH AX
PUSH BX
PUSH CX
PUSH DX
;if AX < 0
OR AX , AX
JGE @END_IF1
;Then
PUSH AX
MOV DL , '-'
MOV AH,2
INT 21H
POP AX
NEG AX
@END_IF1:
XOR CX , CX ;Get Decimal Digit
MOV BX , 10D
@REPEAT1:
XOR DX , DX
DIV BX
:
_____________________________________________________________________
__________________________________________________________________
SUST215
PUSH DX
INC CX
OR AX , AX
JNE @REPEAT1
;Convert Digits to characters and print them
MOV AH , 2
@PRINT_LOOP:
POP DX
OR DL , 30H
INT 21H
LOOP @PRINT_LOOP
POP DX
POP CX
POP BX
POP AX
RET
OUTDEC ENDP
outdec
.
outdecAssembler
Include.
Include FilespecFilespec
.
:
_____________________________________________________________________
__________________________________________________________________
SUST216
Assembler
.
OUTDEC
PRocfile.ASM
:
.MODEL SMALL
.STACK 100h
.CODE
MAIN PROC
MOV AX , 1234
CALL OUTDEC
MOV AH, 4Ch
INT 21h
MAIN ENDP
INCLUDE PROCFILE.ASM
END Main
Decimal Input
ASCII
.
.
Total = 0
Read an ASCII Digit
:
_____________________________________________________________________
__________________________________________________________________
SUST217
Repeat
Convert character to a Binary value
Total = total* l0 + value
Read a character
Until character is a carriage return
157
:
Total = 0
Read “1”
Convert “1” to 1
Total = 10 x 0 + 1 = 1
Read “5”
Convent “5” to “5”
Total = 1 x 10 + 5 = 15
Read “7”
Convent “7” to 7
Total = 15 x 10 + 7 = 157
INDEC
.
-+.
)09(
.
.
:
_____________________________________________________________________
__________________________________________________________________
SUST218
Print “?”
Total = 0
Negative = False
Read a character
Case character of
“- “ : Negative = True
Read a character
“+“ : Read a character
End_Case
Repeat
if character is not between “0” and “9”
then
GO TO Beginning
Else
convert character to a Binary
value
total = 10 * total + value
End if
Read a character
Until character is a carriage return
IF negative = True then
Total = -total
End_if
:
INDEC PROC
; Reads a number in range -32768 to 32767
; input : None
:
_____________________________________________________________________
__________________________________________________________________
SUST219
; Output : AX = Binary equivalent Of Number
PUSH BX
PUSH CX
PUSH DX
@BEGIN: MOV AH , 2
MOV DL , '?'
INT 21H
XOR BX , BX ; total =0
XOR CX , CX
;Read A Character
MOV AH , 1
INT 21H
;Case Char of
CMP AL ,'-'
JE @MINUS
CMP AL , '+'
JE @PLUS
JMP @REPEAT2
@MINUS: MOV CX , 1
@PLUS: INT 21H
@REPEAT2:;If Character Between 0 AND 9
CMP AL , '0'
JNGE @NOT_DIGIT
CMP AL , '9'
JNLE @NOT_DIGIT
; Convert Character To Digit
AND AX ,000FH
:
_____________________________________________________________________
__________________________________________________________________
SUST220
PUSH AX
; TOTAL = TOTAL * 10 + DIGIT
MOV AX , 10 ;Get 10
MUL BX ;AX = TOTAL * 10
POP BX ;RETRIEVE DIGIT
ADD BX , AX ; TOTAL =
TOTAL*10+DIGIT
;Read A Character
MOV AH , 1
INT 21H
CMP AL,0DH
JNE @REPEAT2
MOV AX , BX
OR CX , CX
JE @EXIT
NEG AX
@EXIT: POP DX
POP CX
POP BX
RET
@NOT_DIGIT:
MOV AH , 2
MOV DL , 0DH
INT 21H
MOV DL , 0AH
INT 21H
JMP @BEGIN
:
_____________________________________________________________________
__________________________________________________________________
SUST221
INDEC ENDP
procfile. ASMOutDec
INDEC
AX
OUTdec
AX
.
TITLE DECIMAL: READ AND WRITE A
DECIMAL NUMBER
.MODEL SMALL
.STACK 100H
.CODE
MAIN PROC
;INPUT A NUMBER
CALL INDEC
PUSH AX
;MOVE CURSOR TO NEXT LINE
MOV AH , 2
MOV DL , 0DH
:
_____________________________________________________________________
__________________________________________________________________
SUST222
INT 21H
MOV DL , 0AH
INT 21H
;OUTPUT A NUMBER
POP AX
CALL OUTDEC
;EXIT
MOV AH,4CH
INT 21H
MAIN ENDP
INCLUDE PROCFILE.ASM
END MAIN
Overflow
Indec
)(
AX)-
3276832767.(
Input
Overflow.
:
total10
:
_____________________________________________________________________
__________________________________________________________________
SUST223
total.
99999
999910
32769
9
32760
.
Print “?”
Total = 0
Negative = false
Read a character
case character of
“-“ : Negative = True
Read a character
“+“ : Read a character
End_Case
Repeat
If character is not between “ 0 “ & “ 9 “
then
GO TO Beginning
:
_____________________________________________________________________
__________________________________________________________________
SUST224
Else
Convert character to a value
Total = 10 x total
If overflow then
go to Beginning
Else
Total = total + value
If overflow then
Go To Beginning
End_If
End_If
endif
Read a character
Until character is a carriage return
If Negative = True then
Total = - total
End_if
:
1/DX , AX
CF/OF:
/MUL BXBX = 0003h , AX
= 0008h
/MUL BXBX = 1000h
, AX = 00ffh
:
_____________________________________________________________________
__________________________________________________________________
SUST225
/IMUL CXCX = FFFFh , AX =
0005h
/MOL wordword = FFFFh , AX
= 8000h
/MUL 10hAX = FFE0h
2/AXCf/of
:
/MUL BLBL = 10h , AL
= ABh
/TMUL BLBL = 10h ,
AL = ABh
/MUL AhAX = 01ABh
/IMUL Byte1Byte1 = Fbh ,
AL = 02h
3/DX , AX
:
/Div BXB x = 0002h, AX =
0007 , DX = 0000h
/Div BXB x = 0010h , AX =
FFFEh , DX = 0000h
/IDIV BXBX = 0003h , AX =
fffch , DX = ffffh
:
_____________________________________________________________________
__________________________________________________________________
SUST226
/Div BXBX = 0003h , AX =
fffch , DX = ffffh
4/AH , ALfu]
:
/DIV BLDL = 03h , AX =
000Dh
/Idiv BLBL = Ffh , AX =
FFFBh
/Div BLBL = 10h , AX =
00ffh
/Div BLBL = 02h , AX =
FFE0h
5/DXCWD
AX:
/7E02/8ABCh/1ABCh
6/AXCBW
AL:
/F0h/5Fh/80h
7/
C , B , AWord
:
_____________________________________________________________________
__________________________________________________________________
SUST227
a- A = 5 x A - 7
b- B = (A - B ) * (B - 10)
c- A = 6 - 9 * A
d- if A2 + B2 = C2 then
set cf
else
clear cf
end_if
Outdec , Indec
.
8/INDEC
9/
)65535(
.
10/
(M/N)M < N
:
_____________________________________________________________________
__________________________________________________________________
SUST228
:
1. Print “.”
2. Divide 10 x M By N , getting Quotient Q &
Remainder R
3. Print Q
4. Replace M By R & go to step 2
INDECN , M
11/
(GCD) Greatest common Divisor
M , N.
Divide M by N , getting Quotient (1) and
remainder R
If R = 0 , stop N is the GCD of M and N
If R <> 0 , Replace M by N by R and Repeat step
1
:
_____________________________________________________________________
__________________________________________________________________
SUST229
Arrays and addressing Modes
.
.
.
Dimensional-One
Arrays
:
_____________________________________________________________________
__________________________________________________________________
SUST230
BytesWords
.A
A[1]A[2]A[3]
....A[N]N
Msg
MSG DB “ABCDE”
MSG[1] = AMSG[2] = (B)
.
)
(A
:
A DW 10,20,30,40,50,60
5
WordA[1] =
10A[2] = 20A[3] = 30A[4] = 40A[5]
= 50
:
_____________________________________________________________________
__________________________________________________________________
SUST231
Base Address of the array
A
0200h:
A0200h10
A + 2h0202h20
A + 4h0204h30
A + 6h0206h40
A + 8h0208h50
)Duplicate(DUP
Dup
.
Repeat_Count Dup (value)
Dupvalue
Repeat_count:
GAMMA DW 100 Dup (0)
:
_____________________________________________________________________
__________________________________________________________________
SUST232
GAMMA
100Word
0.
DELTA DB 60 Dup (?)
Delta
60Byte
line
:
Line DB 5 , 4 , 3 DUP ( 2 , 3 DUP
( 0 ) , 1 )
Line DB 5 , 4 ,
2,0,0,0,1,2,0,0,0,1,2,0,0,0,1
Byte
+1Word
+2
:
_____________________________________________________________________
__________________________________________________________________
SUST233
S
)S =1
ByteS = 2
Word(N
+( N - 1) * S
AN
A + (N - 1) S
:1025
WW DW 100 Dup (?)
W + (10 - 1 ) * 2 =
W + 9 x 2 = W + 18
25W + (25 - 1) * 2 = W
+ 24 x 2 = W + 48
MOV AX , W + 18
XCHC A x , W + 48
MOV W + 18 , A x
.
:
_____________________________________________________________________
__________________________________________________________________
SUST234
AN
:
Sum = 0
M = 0
Repeat
Sum = sum + A [M]
M = M + 1
Until M = N
.
ADDRESSING MODES
:
1/Register Mode
MOV A x , B
:
_____________________________________________________________________
__________________________________________________________________
SUST235
2/Immediate Mode
MOV A x , 5
Ax
Register5
Immediate
3/Direct Mode
MOVAx , Words
Words
:
4/
Register Indirect Mode.
SIBXDIBP
Pointer
:
[Register]
:
_____________________________________________________________________
__________________________________________________________________
SUST236
DI , SI , BX
DSBP
SS.
:
SI = 0100h
0100h1234h
MOV AX , [SI]
100hSI
DS: 0100
)1234h(
AX)AX = 1234h(
MOV AX , SI
0100h
AX
:
DI = 3000h , SI = 2000h , BX
= 1000h
1000h
1BACH2000h
:
_____________________________________________________________________
__________________________________________________________________
SUST237
20FEh3000h
031Dh
Data Segment.
.
:
MOV BX, [BX]MOV CX,
[SI]
MOV BX, [AX]ADD [SI]
[DI]INC [DI]
:
MOV BX, [BX]1BACh
BX
MOV CX, [SI]20FEh
CX
–MOV BX, [AX]
AX.
ADD [DI], [SI]
/INC [DI]
3000h
031Eh
:
_____________________________________________________________________
__________________________________________________________________
SUST238
:
WAX
W DW
10,20,30,40,50,60,70,80,90,100
:
SI
2)
Word(
SI:
XOR AX , AX
LEA SI , W
MOV CX , 10
ADDNOS :
ADD AX , [SI]
ADD SI ,2
LOOP ADDNOS
:REVERSE
N
Words)
.(
:
_____________________________________________________________________
__________________________________________________________________
SUST239
:N
N/2
S1D1
SI
DI
.
DI , SI2
SI2DI
)
Words.(
REVERSE PROC
;
; Inputs : SI
; BX
; Outputs : SI
Push AX
Push BX
Push CX
Push SI
Push DI
:
_____________________________________________________________________
__________________________________________________________________
SUST240
; D1
Mov DI , SI
Mov Cx , Bx ; Cx =
n
Dec BX ; Bx = n -
S
SHL BX , 1
ADD DI , Bx ; DI = SI +
2 (n - 1)
ShR Cx , 1 ; Cx = n/2
XCHG_Loop:
Mov AX , [SI]
XCHC AX , [DI]
Mov [SI], AX
ADD SI ,2
Sub DI , 2
Loop XCHg_Loop
Pop DI
Pop SI
Pop CX
Pop BX
Pop AX
RET
REVERSE ENDP
5/Indexed and
Based Addressing modes
:
_____________________________________________________________________
__________________________________________________________________
SUST241
Displacement
A
.
A
2
A + 2
:
[ Register +Displacement ]
[ Displacement + Register ]
[ Register ] +Displacement
Displacement + [ Register ]
Displacement [ Register ]
BXBP
SIDIBX
SIDIDS
BP
SS.
BXBP
Based
:
_____________________________________________________________________
__________________________________________________________________
SUST242
IndexedSI
DI.
W
Word ArrayBX
4
W + 4
AX
MOV AX , W [ BX]
:
MOV AX , [ W + BX ]
MOV AX , [ BX + W ]
MOV AX , W +[ BX ]
MOV AX , [ BX ] + w
SI
WWord Array.
W + 2
AX:
MOV AX , [ SI + 2 ]
MOV AX , [ 2 + SI ]
:
_____________________________________________________________________
__________________________________________________________________
SUST243
MOV AX , 2 + [ SI ]
MOV AX , [ SI ] + 2
MOV AX , 2 [ SI ]
)(
W
AX:W DW
10,20,30,40,50,60,70,80,90,100
:
XOR AX , AX
XOR BX , BX
MOV CX , 10
ADDNOS:
ADD AX , w [ BX ]
ADD BX , 2
LOOP ADDNOS
2SI
Words
Alpha
:
:
_____________________________________________________________________
__________________________________________________________________
SUST244
ALPHA DW 0123h, 0456h, 0789h,
0abcdh
:BX = 2SI =4,
DI = 11084h
00022BACh
0004.
:
a. MOV AX , [ALPHA + BX ]
b. MOV BX , [ BX+ 2 ]
c. MOV CX , ALPHA [ SI ]
d. MOV AX , -2 [ SI ]
e. MOV BX , [ALPHA + 3 + DI ]
f. MOV AX , [ BX ] 2
g. ADD BX , [ALPHA + AX ]
:
A
APLPHA +20456h
B2 + 2 = 42BACh
CALPHA + 40789h
D-2 + 4 = 21084h
:
_____________________________________________________________________
__________________________________________________________________
SUST245
EALPHA + 3 + 10789h
F
G
AX
PTRLABEL:
ByteWORD.
WORD.
MOV AX , 1
Byte
MOV AL , 1
MOV [ BX ] , 1
:
_____________________________________________________________________
__________________________________________________________________
SUST246
word
Byte.
Byte
MOV BYTE PTR [ BX ] , 1
WORD
MOV WORD PTR [ BX ] , 1
:MSG
“T”
:
:
Register indirect mode
LEA SI, Msg
MOV BYTE PTR [SI], ‘T’
:Index
Mod
XOR SI, SI
:
_____________________________________________________________________
__________________________________________________________________
SUST247
MOV mSG[ SI ] , ‘T’
PTR
Msg
PTR:
PTR
:
Type PTR
Address_Expression
TypeByteWORDDword
Address_ExpressionDBDWDD
:
DOLLARS DB 1Ah
CENTS DB 52h
Dollars
ALCentsAH
MOV AX , DOLLARS ;
ILLEGAL
Byte
Word
:
_____________________________________________________________________
__________________________________________________________________
SUST248
MOV AX ,word PTR DOLLARS ;
AL=DOLLARS , AH =Cents
521AhAX
LABEL:
LABEL
:
WORDLABELMONEY
1AhDBDOLLAR
S
52h
DB
CENTS
MONEY
WordDOLLARSCENTS
Byte.
MOV Ax , Money
MOV AL , DOLLARS
MOV AH , CENTS
::
.DATA
A DW 1234H
:
_____________________________________________________________________
__________________________________________________________________
SUST249
B LABEL BYTE
DW 5678H
C LABEL WORD
C1 DB 9AH
C2 DB 0BCH
:
1MOV AX , B
2MOV AH , B78h
3MOV CX , C0BC9Ah
4MOV BX ,
WORD PTR B
5678h
5MOV DL , BYTE
PTR C
9Ah
6MOV AX ,
WORD PTR C1
0BC9AH
Segment Override
RegistersBXSIDI
DS.
:
_____________________________________________________________________
__________________________________________________________________
SUST250
:
Segment_Register : [
Pointer_Register]
MOV Ax , ES : [SI]
ES
SIAX
.
Accessing the Stack:
BP
SS
.
:
CX , B X , AX
.
:
:
_____________________________________________________________________
__________________________________________________________________
SUST251
MOV BP , SP
MOV AX , [ BP]
MOV BX , [ BP + 2]
MOV CX , [ BP + 4]
::
.
Select Sort
N
:
A [1 ]A [N]A
[N]IN
- 1
:
A [ 1 ]A [N - 1]
A [N-1]
IN - 2
:
_____________________________________________________________________
__________________________________________________________________
SUST252
1-N:
A [I ]A [2]A [1]
:
12345
21516407
21516740
75162140
75162140
57162140
:
i = N
For N - 1 Times Do
Find the position K of the Largest
element among A [1] .. A [ I ]
:
_____________________________________________________________________
__________________________________________________________________
SUST253
SWAP A [K] and A [ 1 ]
I : = I - 1
End_For
:
SELECT PROC
;SORTS A BYTE ARRAY BY THE
SELECTSORT METHOD
;INPUTS:SI= ARRAY OFFSET ADDRESS
; BX=NUMBER OF ELEMENTS
;OUTPUTS:SI=OFFSET OF SORTED ARRAY
;USES:SWAP
PUSH BX
PUSH CX
PUSH DX
PUSH SI
DEC BX
JE END_SORT
MOV DX , SI
SORT_LOOP:
MOV SI , DX
MOV CX , BX
MOV DI , SI
MOV AL , [DI]
:
_____________________________________________________________________
__________________________________________________________________
SUST254
FIND_BIG:
INC SI
CMP [SI], AL
JNG NEXT
MOV DI , SI
MOV AL , [DI]
NEXT:
LOOP FIND_BIG
CALL SWAP
DEC BX
JNE SORT_LOOP
END_SORT:
PUSH SI
PUSH DX
PUSH CX
PUSH BX
SELECT ENDP
SWAP PROC
;INPUT: SI=ONE ELEMENT
; DI=OTHER ELEMENT
;OUTPUT:EXCHANGED ELEMENTS
PUSH AX
MOV AL , [SI]
XCHG AL , [DI]
MOV [SI] , AL
POP AX
:
_____________________________________________________________________
__________________________________________________________________
SUST255
RET
SWAP ENDP
SELECT
SI
NBX.
A
TITLE SORT: SELECT SORT PROGRAM
.MODEL SMALL
.STACK 100H
.DATA
A DB 5 , 2 , 1 , 3 , 4
.CODE
MAIN PROC
MOV AX , @DATA
MOV DS , AX
LEA SI , A
CALL SELECT
;dos exit
MOV AH,4CH
INT 21H
MAIN ENDP
INCLUDE PROCFILE.ASM
:
_____________________________________________________________________
__________________________________________________________________
SUST256
END MAIN
Debug
:
-GC
AX=100D BX=0005 CX=0049 DX=0000 SP=0100
Bp=0000 SI=0004 DI=0000
DS=100D ES=0FF9 SS=100E CS=1009 IP=000C
NV UP EI PL NZ NA PO NC
1009:000C E80400 CALL 0013
-D 4 8
100D:0000 05 02 01 03- 04
-GF
AX=1002 BX=0005 CX=0049 DX=0000 SP=0100
Bp=0000 SI=0004 DI=0005
DS=100D ES=0FF9 SS=100E CS=1009 IP=000F
:
_____________________________________________________________________
__________________________________________________________________
SUST257
NV UP EI PL ZR NA PE NC
1009:000F B44C MOV AH , 4C
-D 4 8
100D:0000 01 02 03 04- 05
:
B [ I, 1]
18
:
1._Row Major Order
2._Column Major Order
:
_____________________________________________________________________
__________________________________________________________________
SUST258
B3
410203040
,50,60,7080
90,100110,120
.
_
B DW 10, 20,30,40
DW 50 , 60 , 70 , 80
DW 90 , 100, 110 , 120
:
B DW 10 , 50 , 90
DW 20 , 60 , 100
DW 30 , 60 , 110
DW 40 , 80 , 120
_.
:
_____________________________________________________________________
__________________________________________________________________
SUST259
_
_
.
_
_
:
AMN
_S
)S=1
ByteS=2
Word. (A [ I
, j ]
:
1.I
:
_____________________________________________________________________
__________________________________________________________________
SUST260
2.j
A
N
A + s * N
A + 2 * N * S
IA
+ (I - 1 ) N * S
:
j( j - 1)
* s))j -
1(
(A [ I , j ]
_
A + ( i - 1) × N × s + ( j - 1 ) × s
_
A [
I , ]]
:
_____________________________________________________________________
__________________________________________________________________
SUST261
A + ( j - 1) × M × S + ( I - 1 ) × s
:
AMN
_
1.I
2.j
3.
1.
I
A + (I - 1) + N × S
2.
j
A + ( j - 1) × S
3.
N x S
:
_____________________________________________________________________
__________________________________________________________________
SUST262
-based
indexed:
1.)BXBP(
2.)SIDI(
3.
4.)(
BX
DS
BP
SS
1. Variable [ Base_Register ] [ index_Reg]
2. [ Base_Reg + index_Reg + VAR + const]
3. VAR [ Base_Reg + index_Reg + Const]
4. Const [ Base_Reg + Index + Var]
W
BX2SI
:
_____________________________________________________________________
__________________________________________________________________
SUST263
4.
W+6
Ax
MOV AX , W [ BX] [ SI]
MOV AX , W [ BX+ SI]
MOV AX , [ W + BX + SI ]
MOV AX , [ BX + SI ] W
:A57
words
_
Based - Indexed:
1.0
2.0
:1
A + ( 3 - 1) x 7 x 2 = A + 2 x 7 x
2 = A + 28
MOV Bx, 28
XOR S I ,SI
:
_____________________________________________________________________
__________________________________________________________________
SUST264
MOV Cx , 7
CLEAR : MOV A [ Bx] [SI] , 0
ADD SI , 2
LOOP CLEAR
2
A + ( 4 - 1) x 2 = A + 3 x 2 = A
+ 6
14)7x2(
MOV SI , 6
XOR BX ,BX
MOV Cx , 5
CLEAR : MOV A [ Bx] [SI] , 0
ADD BX , 14
LOOP CLEAR
XLAT:
.XLAT)
(Byte
AL
BX
:
:
_____________________________________________________________________
__________________________________________________________________
SUST265
1.ALBX
2.
AL
:
AL0h
FhASCII
)6h36h0ch42h
‘B’(.....
TABLE DB 30h, 31h,32h, 33h, 34,35h,
36h, 37h, 38h, 39h
DB 41h, 42h , 43h, 44h, 45h,
46h
)
ch‘c’(
Mov AL , och
LEA BX, TABLE
XLAT
:
:
_____________________________________________________________________
__________________________________________________________________
SUST266
)(
.
)(
.
TITLE secret message
.MODEL SMALL
.STACK 100H
.DATA
CODE_KEY DB 65 DUP('
'),'XQPOGHZBCADEIJUVFMNKLRSTWY'
DB 37 DUP (' ')
DECODE_KEY DB 65 DUP('
'),'JHIKLQEFMNTURSDCBVWXOPYAZG'
DB 37 DUP (' ')
CODED DB 80 DUP ('$')
PROMPT DB 'ENTER A MESSAGE :' , 0DH ,
0AH , '$'
CRLF DB 0DH , 0AH , '$'
.CODE
MAIN PROC
; initialize DS
MOV AX,@DATA
MOV DS,AX
;print user prompt
:
_____________________________________________________________________
__________________________________________________________________
SUST267
LEA DX,PROMPT
MOV AH,09H
INT 21H
;READ AND ENCODE MESSAGE
MOV AH , 1
LEA BX , CODE_KEY
LEA DI , CODED
WHILE_:
INT 21H
CMP AL , 0DH
JE END_WHILE
XLAT
MOV [DI],AL
INC DI
JMP WHILE_
END_WHILE:
;GOTO NEW LINE
MOV AH , 9
LEA DX , CRLF
INT 21H
;PRINT ENCODED MESSAGE
LEA DX,CODED
INT 21H
;GOTO NEW LINE
LEA DX,CRLF
INT 21H
;DCODE MESSAGE AND PRINT IT
:
_____________________________________________________________________
__________________________________________________________________
SUST268
MOV AH , 2
LEA BX , DECODE_KEY
LEA SI , CODED
WHILE2:
MOV AL , [SI]
CMP AL ,'$'
JE END_WHILE2
XLAT
MOV DL ,AL
INT 21H
INC SI
JMP WHILE2
END_WHILE2:
;return to DOS
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN
:
1.:
AX0500h
BX1000h
SI1500h
DI2000h
:
_____________________________________________________________________
__________________________________________________________________
SUST269
1000h
0100h
1500
0150h
2000
0200h
3000
0400h
4000
3000h
BetaWord
1000h
)
(
a- MOV DI , [SI] b- MOV DI ,
[DI]
c- ADD AX , [SI] d- SUB
BX, , [DI]
e- LEA BX ,Beta [BX] f- ADD, SI],
[DI]
:
_____________________________________________________________________
__________________________________________________________________
SUST270
g- ADD BH , [BL] h- ADD,
AH, [SI]
c- MOV AX, [BX + DI + beta]
2.
A DW 1,2,3
B DB 4,5,6
C LABEL word
Msg DB ‘ABC’
BX
C.
a- MOV AH , BYTE PTR A
b- MOV AX , word PTR B
c- MOV AX , C
d- MOV AX , Msg
e- MOV AH , BYTE PTR C
3.BP)
pushpop(
/
/5
ST_ARR
ST_ARR
ST_ARR+2
:
_____________________________________________________________________
__________________________________________________________________
SUST271
4.A10
wordB
Byte
/
)A [ I ]
A[1 + 1](
A [ 10]
A[1].
/DX
θA.
/B.
SI‘E’.
'E’1
cf
5.Find_ij
I , J
Ij
_I
AXiBX
NCx
:
_____________________________________________________________________
__________________________________________________________________
SUST272
DX.
DX.
:
6.BUBBLE
Bubble
Sort
SIBX.
BLANK.
Bubble
.
:
? 1 2 6 5 3 7
1 2 3 5 6 7
:Bubble
:J2NA [J]
A [j - 1]A [ J ] < A[ J – 1]
:
_____________________________________________________________________
__________________________________________________________________
SUST273
N
:J2N-1A [J]
A [j - 1]A [J ] < A[ J – 1]
N-1
:
N - 1:A[ 2] < A [1]
A [ 2 ]A [ 1 ]
7.:
CLASS
DB ‘Ali ‘ , 67 , 54 , 9 ,8 ,
31
DB ‘HASSAN ‘ , 30 , 50 , 59 ,42 ,
53
DB ‘AHMED ‘ , 65 , 73 , 85 ,18 ,
90
7
:
_____________________________________________________________________
__________________________________________________________________
SUST274
8.100
)_(
.
ESC.
:
?A
A
?D
AD
?B
ABD
?a
ABDa
?<esc>
9.PRINTHEX
XLATBX
.
4
IN_HEX
.
:
_____________________________________________________________________
__________________________________________________________________
SUST275
PRINTHEX
.
String Instructions
.
*
*
*
*
:
_____________________________________________________________________
__________________________________________________________________
SUST276
.
DF:
Control
Flags
DI , SI.
.
DISI
0DF.
1
.
CLD ; clear Direction flag
1
STD ; set Direction flag
:
_____________________________________________________________________
__________________________________________________________________
SUST277
.
Moving String:
:
String1 DB ‘Hello’
String2 DB 5 Dup ( ? )
.
MOVSB.
DS:SIES:DI
.
DI:SI
0.
)1(
)2(:
MOV AX ,@DATA
MOV DS, AX
MOV ES, AX
LEA SI , String1
LEA DI , String2
:
_____________________________________________________________________
__________________________________________________________________
SUST278
CLD
MOVSB
MOVSB
:
MOVSB
.
REP:
MOVSB.
)
MOVSB(CX
REP MOVSB
MOVSBN
.CX
MOVSBCX=0.
CLD
LEASI , String1
LEA DI , String2
MOV CX, 5
REP MOVSB
:
_____________________________________________________________________
__________________________________________________________________
SUST279
:
String1
String 2.
SI
)(DI
.SI
)1(
DI2
1MOVSB
1.
LEA SI, String1 + 4
LEA DI, String2
STD
MOV CX, 5
MOVE:
MOVSB
ADD DI , 2
LOOP MOVE
MOVSW:
MOVSB
WORDByte
:
_____________________________________________________________________
__________________________________________________________________
SUST280
DS: SI
ES:DI.
DI, SI2
)DF = θ
DF = 1(
:
:
ARR DW 10,20,40,50,60, ?
30
40 , 20.DSES
.
:
60 , 50,40
30
STD
LEA SI , ARR + 8h ; SI Points to
60
LEA DI , ARR +0Ah ; DI Points to ?
MOV CX,3
REP MOVSW
MOV WORD PTR [DI], 30
Storing String:
:
_____________________________________________________________________
__________________________________________________________________
SUST281
STOSBAL
ES:DI.DI
DF=0
DF=1
STOSW
AX
ES: DI.
DI.
‘ A ‘
String1
LEA DI, String1
MOV AL, ‘A‘
CLD
STOSB
:
121h
.
STOSB.
READ_STR
:
_____________________________________________________________________
__________________________________________________________________
SUST282
Carriage Return.
DI
BX.
Back_Space
:
Chars_Read = 0
Read a Character
While character is Not a carriage
Return Do
If character is a Back_Space Then
Chars_Read = Chars_Read - 1
Remove Previous character from
String
Else
Store character in String
Chars_Read = Chars_Read + 1
End_If
Read a character
End_While
:
READ_STR PROC NEAR
:
_____________________________________________________________________
__________________________________________________________________
SUST283
;READS AND STORES A STRING
;INPUT: DI ODFFSET OF THE STRING
;OUTPUT: DI OFFSET OF THE STRING
; BX=NUMBER OF CHARACTERS
READ
PUSH DX
PUSH DI
CLD
XOR BX , BX
MOV AH , 1
INT 21H
WHILE1:
CMP AL , 0DH
JE END_WHILE1
;IF CHARACTER IS BACHSPACE
CMP AL , 8H
JNE ELSE1
DEC DI
DEC BX
JMP READ
ELSE1:
STOSB
INC BX
READ:
INT 21H
JMP WHILE1
:
_____________________________________________________________________
__________________________________________________________________
SUST284
END_WHILE1:
POP DI
POP AX
RET
READ_STR ENDP
Load String:
LODSBAL
DS:SI.SI
1
.
LODSWAX
DS:SI.SI
2
.
:
Disp_Str
SI
BX.
For count times Do
:
_____________________________________________________________________
__________________________________________________________________
SUST285
Load a String Character into Al
Move it to DL
Output Character
End_For
DISP_STR Proc
; inputs SI : offset of the String
; BX : No of Characters to Display
; Outputs None
PUSH AX
PUSH BX
PUSH CX
PUSH DX
PUSH SI
MOV CX, BX
JCXZ P_EXIT
CLD
MOV AH , 2h
TOP:
LODSB
MOV DL , AL
INT 21h
LOOP TOP
P_EXIT:
POP SI
POP DX
:
_____________________________________________________________________
__________________________________________________________________
SUST286
POP CX
POP BX
POP AX
RET
DISP_STR ENDP
Scan String:
SCASB
AL.
ES:DI
AL
.
DI
.
SCASW
AXAL
SCSAB.
String1 DB ‘ABC’
:
MOV AX, @ DATA
MOV ES, AX
LEA DI , String1
MOV AL, ‘B’
CLD
SCASB ;Scan first byte
:
_____________________________________________________________________
__________________________________________________________________
SUST287
SCASB ; Scan second Byte
041h
‘A’42h‘B’.
.
CX
REPNZ SCASB
AX
CX
CX
.
:
ConsonantsVowels
.
:
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى
الشامل فى لغة الاسمبلى

More Related Content

Similar to الشامل فى لغة الاسمبلى

Minicurso Objective-C LinguÁgil 2011 (parte2)
Minicurso Objective-C LinguÁgil 2011 (parte2)Minicurso Objective-C LinguÁgil 2011 (parte2)
Minicurso Objective-C LinguÁgil 2011 (parte2)Cleverson Sacramento
 
Assignment #3 – Foundations of Computer TechnologyDue on B.docx
Assignment #3 – Foundations of Computer TechnologyDue on B.docxAssignment #3 – Foundations of Computer TechnologyDue on B.docx
Assignment #3 – Foundations of Computer TechnologyDue on B.docxdavezstarr61655
 
Department of Information Systems, School of Business Administ.docx
Department of Information Systems, School of Business Administ.docxDepartment of Information Systems, School of Business Administ.docx
Department of Information Systems, School of Business Administ.docxtheodorelove43763
 
Linux fundamentals commands
Linux fundamentals commandsLinux fundamentals commands
Linux fundamentals commandsSau Putt
 
Power point planning sheet
Power point planning sheetPower point planning sheet
Power point planning sheetandy_saf
 
Python workbook olivieri
Python workbook olivieriPython workbook olivieri
Python workbook olivieriandylalu
 
Unity 7 gui baesd design platform for ubuntu touch mobile os
Unity 7 gui baesd design platform for ubuntu touch mobile osUnity 7 gui baesd design platform for ubuntu touch mobile os
Unity 7 gui baesd design platform for ubuntu touch mobile oseSAT Publishing House
 
Computer hardware worksheet
Computer hardware worksheetComputer hardware worksheet
Computer hardware worksheetFaryal Zia
 
profile(sahitya vemula)
profile(sahitya vemula)profile(sahitya vemula)
profile(sahitya vemula)sahitya vemula
 

Similar to الشامل فى لغة الاسمبلى (18)

NAME's Drafted Appendix - J
NAME's Drafted Appendix - JNAME's Drafted Appendix - J
NAME's Drafted Appendix - J
 
Minicurso Objective-C LinguÁgil 2011 (parte2)
Minicurso Objective-C LinguÁgil 2011 (parte2)Minicurso Objective-C LinguÁgil 2011 (parte2)
Minicurso Objective-C LinguÁgil 2011 (parte2)
 
Assignment #3 – Foundations of Computer TechnologyDue on B.docx
Assignment #3 – Foundations of Computer TechnologyDue on B.docxAssignment #3 – Foundations of Computer TechnologyDue on B.docx
Assignment #3 – Foundations of Computer TechnologyDue on B.docx
 
Department of Information Systems, School of Business Administ.docx
Department of Information Systems, School of Business Administ.docxDepartment of Information Systems, School of Business Administ.docx
Department of Information Systems, School of Business Administ.docx
 
Angel
AngelAngel
Angel
 
Linux fundamentals commands
Linux fundamentals commandsLinux fundamentals commands
Linux fundamentals commands
 
CV-Qazi Adnan-IT
CV-Qazi Adnan-ITCV-Qazi Adnan-IT
CV-Qazi Adnan-IT
 
Himanshu 2018
Himanshu 2018Himanshu 2018
Himanshu 2018
 
Power point planning sheet
Power point planning sheetPower point planning sheet
Power point planning sheet
 
Computer and Technology Today in our Lives
Computer and Technology Today in our LivesComputer and Technology Today in our Lives
Computer and Technology Today in our Lives
 
Ankur Bhola
Ankur BholaAnkur Bhola
Ankur Bhola
 
Book laber
Book laberBook laber
Book laber
 
Python workbook olivieri
Python workbook olivieriPython workbook olivieri
Python workbook olivieri
 
Grade 12 EOT 2022.docx
Grade 12 EOT 2022.docxGrade 12 EOT 2022.docx
Grade 12 EOT 2022.docx
 
Itbpm
ItbpmItbpm
Itbpm
 
Unity 7 gui baesd design platform for ubuntu touch mobile os
Unity 7 gui baesd design platform for ubuntu touch mobile osUnity 7 gui baesd design platform for ubuntu touch mobile os
Unity 7 gui baesd design platform for ubuntu touch mobile os
 
Computer hardware worksheet
Computer hardware worksheetComputer hardware worksheet
Computer hardware worksheet
 
profile(sahitya vemula)
profile(sahitya vemula)profile(sahitya vemula)
profile(sahitya vemula)
 

More from جامعة القدس المفتوحة

كتاب: Simply AVR مقدمة مبسطة عن النظم المدمجة
كتاب: Simply AVR مقدمة مبسطة عن النظم المدمجةكتاب: Simply AVR مقدمة مبسطة عن النظم المدمجة
كتاب: Simply AVR مقدمة مبسطة عن النظم المدمجةجامعة القدس المفتوحة
 
ملخص تحليل الانظمة وتصميمها - الوحدة السادسة
ملخص تحليل الانظمة وتصميمها - الوحدة السادسةملخص تحليل الانظمة وتصميمها - الوحدة السادسة
ملخص تحليل الانظمة وتصميمها - الوحدة السادسةجامعة القدس المفتوحة
 
ملخص تحليل الانظمة وتصميمها - الوحدة الخامسة
ملخص تحليل الانظمة وتصميمها - الوحدة الخامسةملخص تحليل الانظمة وتصميمها - الوحدة الخامسة
ملخص تحليل الانظمة وتصميمها - الوحدة الخامسةجامعة القدس المفتوحة
 
ملخص تحليل الانظمة وتصميمها - الوحدة الثالثة
ملخص تحليل الانظمة وتصميمها - الوحدة الثالثةملخص تحليل الانظمة وتصميمها - الوحدة الثالثة
ملخص تحليل الانظمة وتصميمها - الوحدة الثالثةجامعة القدس المفتوحة
 
ملخص تحليل الانظمة وتصميمها - الوحدة الثامنة
ملخص تحليل الانظمة وتصميمها - الوحدة الثامنةملخص تحليل الانظمة وتصميمها - الوحدة الثامنة
ملخص تحليل الانظمة وتصميمها - الوحدة الثامنةجامعة القدس المفتوحة
 
ملخص تحليل الانظمة وتصميمها - الوحدة السابعة
ملخص تحليل الانظمة وتصميمها - الوحدة السابعةملخص تحليل الانظمة وتصميمها - الوحدة السابعة
ملخص تحليل الانظمة وتصميمها - الوحدة السابعةجامعة القدس المفتوحة
 
ملخص تحليل الانظمة وتصميمها - الوحدة الرابعة
ملخص تحليل الانظمة وتصميمها - الوحدة الرابعةملخص تحليل الانظمة وتصميمها - الوحدة الرابعة
ملخص تحليل الانظمة وتصميمها - الوحدة الرابعةجامعة القدس المفتوحة
 
ملخص تحليل الانظمة وتصميمها - الوحدة التاسعة
ملخص تحليل الانظمة وتصميمها - الوحدة التاسعةملخص تحليل الانظمة وتصميمها - الوحدة التاسعة
ملخص تحليل الانظمة وتصميمها - الوحدة التاسعةجامعة القدس المفتوحة
 
ملخص تحليل الانظمة وتصميمها - الوحدة الثانية
ملخص تحليل الانظمة وتصميمها - الوحدة الثانيةملخص تحليل الانظمة وتصميمها - الوحدة الثانية
ملخص تحليل الانظمة وتصميمها - الوحدة الثانيةجامعة القدس المفتوحة
 
ملخص تقنية تصميم صفحات الويب - الوحدة السادسة
ملخص تقنية تصميم صفحات الويب - الوحدة السادسةملخص تقنية تصميم صفحات الويب - الوحدة السادسة
ملخص تقنية تصميم صفحات الويب - الوحدة السادسةجامعة القدس المفتوحة
 
ملخص تقنية تصميم صفحات الويب - الوحدة الخامسة
ملخص تقنية تصميم صفحات الويب - الوحدة الخامسةملخص تقنية تصميم صفحات الويب - الوحدة الخامسة
ملخص تقنية تصميم صفحات الويب - الوحدة الخامسةجامعة القدس المفتوحة
 
اسئلة نهائية لمقرر تقنية تصميم صفحات الويب - 1266
اسئلة نهائية لمقرر تقنية تصميم صفحات الويب - 1266اسئلة نهائية لمقرر تقنية تصميم صفحات الويب - 1266
اسئلة نهائية لمقرر تقنية تصميم صفحات الويب - 1266جامعة القدس المفتوحة
 
مناهج البحث العلمي - اللقاء الافتراضي الثاني
مناهج البحث العلمي - اللقاء الافتراضي الثانيمناهج البحث العلمي - اللقاء الافتراضي الثاني
مناهج البحث العلمي - اللقاء الافتراضي الثانيجامعة القدس المفتوحة
 
مناهج البحث العلمي - اللقاء الافتراضي الاول
مناهج البحث العلمي - اللقاء الافتراضي الاولمناهج البحث العلمي - اللقاء الافتراضي الاول
مناهج البحث العلمي - اللقاء الافتراضي الاولجامعة القدس المفتوحة
 
ملخص تقنية تصميم صفحات الويب - الوحدة السادسة
ملخص تقنية تصميم صفحات الويب - الوحدة السادسةملخص تقنية تصميم صفحات الويب - الوحدة السادسة
ملخص تقنية تصميم صفحات الويب - الوحدة السادسةجامعة القدس المفتوحة
 
ملخص تقنية تصميم صفحات الويب - الوحدة الخامسة
ملخص تقنية تصميم صفحات الويب - الوحدة الخامسةملخص تقنية تصميم صفحات الويب - الوحدة الخامسة
ملخص تقنية تصميم صفحات الويب - الوحدة الخامسةجامعة القدس المفتوحة
 

More from جامعة القدس المفتوحة (20)

كتاب: Simply AVR مقدمة مبسطة عن النظم المدمجة
كتاب: Simply AVR مقدمة مبسطة عن النظم المدمجةكتاب: Simply AVR مقدمة مبسطة عن النظم المدمجة
كتاب: Simply AVR مقدمة مبسطة عن النظم المدمجة
 
ملخص تحليل الانظمة وتصميمها - الوحدة السادسة
ملخص تحليل الانظمة وتصميمها - الوحدة السادسةملخص تحليل الانظمة وتصميمها - الوحدة السادسة
ملخص تحليل الانظمة وتصميمها - الوحدة السادسة
 
ملخص تحليل الانظمة وتصميمها - الوحدة الخامسة
ملخص تحليل الانظمة وتصميمها - الوحدة الخامسةملخص تحليل الانظمة وتصميمها - الوحدة الخامسة
ملخص تحليل الانظمة وتصميمها - الوحدة الخامسة
 
ملخص تحليل الانظمة وتصميمها - الوحدة الثالثة
ملخص تحليل الانظمة وتصميمها - الوحدة الثالثةملخص تحليل الانظمة وتصميمها - الوحدة الثالثة
ملخص تحليل الانظمة وتصميمها - الوحدة الثالثة
 
ملخص تحليل الانظمة وتصميمها - الوحدة الثامنة
ملخص تحليل الانظمة وتصميمها - الوحدة الثامنةملخص تحليل الانظمة وتصميمها - الوحدة الثامنة
ملخص تحليل الانظمة وتصميمها - الوحدة الثامنة
 
ملخص تحليل الانظمة وتصميمها - الوحدة السابعة
ملخص تحليل الانظمة وتصميمها - الوحدة السابعةملخص تحليل الانظمة وتصميمها - الوحدة السابعة
ملخص تحليل الانظمة وتصميمها - الوحدة السابعة
 
ملخص تحليل الانظمة وتصميمها - الوحدة الرابعة
ملخص تحليل الانظمة وتصميمها - الوحدة الرابعةملخص تحليل الانظمة وتصميمها - الوحدة الرابعة
ملخص تحليل الانظمة وتصميمها - الوحدة الرابعة
 
ملخص تحليل الانظمة وتصميمها - الوحدة التاسعة
ملخص تحليل الانظمة وتصميمها - الوحدة التاسعةملخص تحليل الانظمة وتصميمها - الوحدة التاسعة
ملخص تحليل الانظمة وتصميمها - الوحدة التاسعة
 
ملخص تحليل الانظمة وتصميمها - الوحدة الثانية
ملخص تحليل الانظمة وتصميمها - الوحدة الثانيةملخص تحليل الانظمة وتصميمها - الوحدة الثانية
ملخص تحليل الانظمة وتصميمها - الوحدة الثانية
 
ملخص تقنية تصميم صفحات الويب - الوحدة السادسة
ملخص تقنية تصميم صفحات الويب - الوحدة السادسةملخص تقنية تصميم صفحات الويب - الوحدة السادسة
ملخص تقنية تصميم صفحات الويب - الوحدة السادسة
 
ملخص تقنية تصميم صفحات الويب - الوحدة الخامسة
ملخص تقنية تصميم صفحات الويب - الوحدة الخامسةملخص تقنية تصميم صفحات الويب - الوحدة الخامسة
ملخص تقنية تصميم صفحات الويب - الوحدة الخامسة
 
اسئلة نهائية لمقرر تقنية تصميم صفحات الويب - 1266
اسئلة نهائية لمقرر تقنية تصميم صفحات الويب - 1266اسئلة نهائية لمقرر تقنية تصميم صفحات الويب - 1266
اسئلة نهائية لمقرر تقنية تصميم صفحات الويب - 1266
 
مناهج البحث العلمي - اللقاء الافتراضي الثاني
مناهج البحث العلمي - اللقاء الافتراضي الثانيمناهج البحث العلمي - اللقاء الافتراضي الثاني
مناهج البحث العلمي - اللقاء الافتراضي الثاني
 
مناهج البحث العلمي - شرح الوحدات 1-5
مناهج البحث العلمي - شرح الوحدات 1-5مناهج البحث العلمي - شرح الوحدات 1-5
مناهج البحث العلمي - شرح الوحدات 1-5
 
ملخص مناهج البحث العلمي كامل
ملخص مناهج البحث العلمي كاململخص مناهج البحث العلمي كامل
ملخص مناهج البحث العلمي كامل
 
ملخص مناهج البحث العلمي
ملخص مناهج البحث العلميملخص مناهج البحث العلمي
ملخص مناهج البحث العلمي
 
مناهج البحث العلمي - اللقاء الافتراضي الاول
مناهج البحث العلمي - اللقاء الافتراضي الاولمناهج البحث العلمي - اللقاء الافتراضي الاول
مناهج البحث العلمي - اللقاء الافتراضي الاول
 
ملخص تعايش مع التكنولوجيا
ملخص تعايش مع التكنولوجياملخص تعايش مع التكنولوجيا
ملخص تعايش مع التكنولوجيا
 
ملخص تقنية تصميم صفحات الويب - الوحدة السادسة
ملخص تقنية تصميم صفحات الويب - الوحدة السادسةملخص تقنية تصميم صفحات الويب - الوحدة السادسة
ملخص تقنية تصميم صفحات الويب - الوحدة السادسة
 
ملخص تقنية تصميم صفحات الويب - الوحدة الخامسة
ملخص تقنية تصميم صفحات الويب - الوحدة الخامسةملخص تقنية تصميم صفحات الويب - الوحدة الخامسة
ملخص تقنية تصميم صفحات الويب - الوحدة الخامسة
 

Recently uploaded

Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
ROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationAadityaSharma884161
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
Romantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptxRomantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptxsqpmdrvczh
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Mark Reed
 

Recently uploaded (20)

Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
ROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint PresentationROOT CAUSE ANALYSIS PowerPoint Presentation
ROOT CAUSE ANALYSIS PowerPoint Presentation
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
Romantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptxRomantic Opera MUSIC FOR GRADE NINE pptx
Romantic Opera MUSIC FOR GRADE NINE pptx
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
 
Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)Influencing policy (training slides from Fast Track Impact)
Influencing policy (training slides from Fast Track Impact)
 

الشامل فى لغة الاسمبلى