Professional Documents
Culture Documents
Assembly Language
Assembly Language
א
א
א"! א#$%"*א")('&א+,-א8088
א
אא
#./01-21345
6)78$א#9:5
(א#./01-7
.;<
:=##
$
78$א
.#(
א#9>?
.;@A13א5
=
#A9-I.5
(א#.C!א#6
).
D*-0אE#0א#.
8
א4F#.GH
.#6
)Fא#
)Jא
&א-0א4&1
Fא7A1-0א4KL-)1/01Mא7 א& אN."אO9-
R 1ST<!-0אUR T<!V032914PQ'Gא/01M@א72;אL-)#9:א
$@A
7
.;@אY#6
)Fא&אTאאK@א%אZ
،X2"R N 4T<!&1
F
.[א- \
&א\ א+
.#
a:?אD/01Mא7
.;#]א#.^_5
(א#./01-79`#
$
Z
#9:א
−:
א
#bAssembler*)9/01-#6א#]א#.5
(א#./01-79`Z9
-0אE@א72;אT<e*אאf،Assemblerא:
+,-9*Qc dc?8&
א
.#0%)"א
34hAfQא-04*+-67ijk
l-0אUא4&
אV0+gV0/01Mא329
.&
אV0m+1n
&אp9\א#]א#._:9qAssembler@אA9oאInstructions&
א4-0אUא
s
8t7u0 rא
&אKF@
AAssembler&אp9_*Assembler-Directives
.*+-f/01-
dN."-אאV0T<!
?8 אH5
(א#.-0אUא7
NAME OPERATION OPERAND(S) COMMENT
*+Qאwא-fx329G4(SPACE)-6)"א4TABאv$0#6אAJאm78$אZ9 •
.א7AJא7AQ7m7yUא
0T<!(/01MאV0-6)){אא-0U{אא59-$#
+|Q#QNAMEZzא@א%אZ9 •
.G?
א7AQ/01MאV0
.c
$6"א-0U*א+ijOperation7AJא •
-16- SUST
:
___________________________________________________________
9 rא-0Uא#6
א$6"'&א0"א470"*א+ijOperation(s)7AJא •
Srart: MOV CX , 5 ; initialize counter
Zy-א5n*05Zy-אCX&'0"אMOV@%)"א-0UאStart3א+-0Uאc
. א#
aאzא#
Aא5349&YQ'"א7AQCX7()"א5
:&אp9u0
Main Proc
"!א#אV+|q9
f.Main Z(Tא-!_) +-f/01-O9-@A9p9\אא
: $
Name Field%'"א&!א
T43'+\n+-f/01MZאT6+\4 d-0U3א+T6+\7AJא@אא%אZ9
.-אאV9+_7AJאא79`Z9،&אN."א
n7AJא7 &אf)0 !v)0N,-Q31*Q67AJאא32934V2
NF2א,-Jאm9-$אZ9zZy-4F9zZzא#9אz_“.”,-J@א%)9z
.
fN.8א
:#FA0TU#u04
start – counter - @character – sum_of_digits - $1000 – done? -.test
:#FA0NTU#u04
two words &א-f+Gj
2abc Zy-4F9
a45.ab %& ' (.) !
17 SUST
:
___________________________________________________________
Assembler?א6 \:2#]א#.:9`Z9'fPseudo-OpאCp9_1_א04
Procedure+-f/01-O9-@%)ProcC'u0 dT;@A
Operand Field, '"א
Jא-0U
א$Z
oאאS&אN.0&'()0V0&'0"א+7AJאאGj
z4Qא#
y4m
y+Gj347AJ{אאV2('C u05eא#
+7u0) :
+
n#
א#u0U@א%)"א-0Uא1)Qn'I\א+#
yG4+Gj
, א )*א
&'00!z NOP
CX7()"אQא700!9 INC CX
2Zy-אWord1N."א3'00!9 ADD Word1 , 2
*)9
f#(
אV9<tZ
GאUא70"א329m0"א&אAJא#Q
PQz)- אאd5y04&'()"אQ40_329destination Operand )"
Source ?8"א+Gq
f1uא70"א04(C'D4#(
אV9<%@Az-0אUאK34
.Jא-0U
א$
yN
.Z9z +Operand
.p9\אV+#
f_&00+ +70"אGq
f&אp9#F)04
Comment Field-', א."'"א
@A90 +Jא-0Uא+&A
/0M"אV0&YQ'0+7AJאאGj
.:fc+)/01Mא4-A9ys%GU
$032y#
f_&00G4-0Uא#$
+:=Z9#IA"א#D$אc5A?F+G4";"#IA"א#D$7AJאאTZ9
.&YQ'0:14
V01fv-;אKF:
f&
`[א5
(א#.3UV2G?
א7AJאא34Z?
5Z90 +N)$[j4אN-04G4+&A
5Z9347fUא
."א
א5#
$
V+V0<?א-Mא)אZ9/01Mא-64V0-67+
:0Nא
אC'uf
MOV CX , 0 ; move 0 to CX
:א
א#Z9347fUאV03
18 SUST
:
___________________________________________________________
MOV CX , 0 ; CX counts terms, initialized to 0
u" אd-Afv-#Qn
14+70-6@א%אC1
Q4Z9
:א
;
; Initialize Registers
MOV CX,0
MOV BX, 0
Program Data/01א23 א04א
5070אZ95
(א#./0א-#
aS@y?4?D&1
Fא5070/01M@אA9
.,-Q?D*Q4#9-;א4-;+#
א)א4#
au?א8@אy?Uא
Numbers5א6*א
aSZy-א34+#zb4B,-Jא:10?D#
au@אy?Uא#Z9 •
Binary
11100011b401010111B7u0 •
.–234D1345d12347u0Decimal#9-;+:14+#z d,-Jא4D,-J
:14+#zh,-Jא4H,-J:Zy-4F34b-;+#
@א)אy?Uא •
aS 10011b
G-;+ 6455
-;+א -456h
(y?N,-Q*+Gj)H6 1,234
(H4h,-J:9)H6 0ab
19 SUST
:
___________________________________________________________
Characters<.)#א
79`C
אZ9‘SUDAN’ 4‘A’ 'C u0s
8&א0'+7 א7eא,-Jא5Z9
:9<tAssemblerא#6אASCII א-"@אy?U_א,-Jא
A,-q-"אZy-)א41hZy-‘אA’,-Jאm-f!9zn*+-אא
.-אאV9<%א#
Q1V04/01Mא7 אn(eא
VARIABLESא )א
אi)"&א&א./0אMאFGא?א$15
(א#.&אN."א
9`bn*+.)א2Fא#.7u0High Level Programming Languages
N.072-אא320<(QZ
k
QN.071/01Mא#0%)"א&אN."אT4
O9-אeא@א%
אZ9.N."אO9- -(nN."א15096
.$9-6"אN."אp9_7N;9k
Q5
(א#.&אN."א
?& א =:>א
-אאQא#1 7.;9-QN.0O9- DB (Define Byte)
-אאm
0m1 7.;9#N.0O9- DW (Define Word )
.DW DBאV0&אN."א5070@AT<eאא
:Byte Variables@)#אאA א
:#
?א8#
f-Jא&אN."אO9-Z9
Name DB Initial_Value
'C u0
Alpha DB 4
y5Z9Alphaא-אאQא1 7.;9N.0O9-p9\@אאA9
.N."אא4?אA0#
aאא
.-
.#
a
אאy !@+#Q(@)؟:$zא#0'+אZ9
Byte DB ? :u0
20 SUST
:
___________________________________________________________
:9<tZ9o@אy?Uא#Q2550 mvאN."אא:9<tV2oאZ
Aא
:9<tZ9o@אy?Uא#Q+127−128mUnsigned Numbers?_3
.Signed Numbers?
?@y?Uא
.Signed Numbers(#F)א#F!")א
Arrays@! א
-אא#D&א"א2א4,-JאV0#+g:14+&f$8"א507015
(א#.
Z
A3Bytes-JאאV0@y?4#S'S+G`#f$80O9-C'uf.#
0V9+
:אO9-א@א%אZ9
א+30h20h10h#
aאא
B_ARRAY DB 10h, 20h, 30h
B_ARRAY + 1Zz(א10h )א,$8"אUא-8_אN;9B_ARRAYZzא
s
8t_אC'uf.kuא-8_אN;9B_ARRAY + 2Zzא1uא-8_אN;9
:9-אא72329B_ARRAYN.0200h#Qאp\א3א+
(Symbol<0-)אZzא 3אא Grא
B_ARRAY 0200h 10h
B_ARRAY + 1 0201h 20h
B_ARRAY + 2 0202h 30h
21 SUST
:
___________________________________________________________
O9-אC'uf&V0320,$80O9-Z9#A9-6א$
W_ARRAY DW 1000h, 2000h, 3000h
.
א+3000h2000h1000h#
aאאZ
A-D+#S'S+Gj,$80O9-@A9
W_ARRAY +23אא#
1uא#
AאW_ARRAY3 (אא1000h )^Uא#
AאV9-tZ9
3אאV0CאT-אא,$8"אV9<tC'uf.א2W_ARRAY + 43אא#uuא#
Aא
:9-אא72329300h
(Symbol<0-)אZzא 3אא Grא
W_ARRAY 0300h 1000h
W_ARRAY + 2 0302h 2000h
W_ARRAY + 4 0304h 3000h
3pא&א#1אV9<tZ9k
Qm1 -אא:9<tZ9אאV0&אN.34PQz
'C uf.-F0א3אאHigh ByteMUא3pא&א#1אUא#1אLow Byte7yUא
Word1 DW 1234h:O9-א93_א
7uG)א12h Zy-אword1 3(אא7yUא3pא&א#1א7uG)א34h Zy-אV9<tZ9
.word1 + 13(אאMUא3pא&א#1א
Character StringsB!&א.CD)א
4,-Q?D#
aאzא#
Aא5Z9,-JאV0#):14+R8אV9<tZ9
$1_39 93
א3$9-אC'ufASCII Table,-J!א,-q-"אZ
Aא
.Letters
E$א!א
אuאO9-nZ:$אTא-Aאk
QV07:4/01Mא7eאuא@א% א+Z9
+אuאO9-EQU (EQUate )p9\א@א%אZ9./01Mא#0%)"א#$%"א
:אqא
22 SUST
:
___________________________________________________________
name EQU Constant
210Ah#
aאא#
ALF*)9SO9-C'u0.uאZאnamek
Q
LF EQU 0Ah
@א%אV+CzMOV AL , LF]0AhZy-אV+CzLFuא@א%אV2
Zy-_א/01Mא7 אLFuא79qAssembler@אA9k
Q.MOV AL,0Ah]א
.0Ah
אu"א@א%א2n
Prompt EQU ‘Type your Name’
Msg DB prompt
N.0O9-+/9z-044
p9_V+?F+EQU34PQz
.-אא
DD*א)א.*א7$
:0א%א+#$%"
אAא:0א%א#
$
#
Uא-0אUאK+,-T<eאא
Word2Word1Z#&אN.0Byte2Byte1Z#
f-Q&אN.0934L$
MOV)*–א1
4#0א")('&אV0Uאc- ]320V0&1
Fא7A1MOV-0U@א%)9
V0 d320#S#
y(5)7A1*Q4-א&אאN."א4#Dא")('&א
-0E#0?א8א.7()0+4-אא
MOV Destination , Source
?8"א#
y-SHzDestination )"_אSource?8"&א9d7A1Z9k
Q
'C u0-0U
א$
MOV AX , Word1
#
Uא#
AאAfZ95F6.AX7()"_אWord1N."(א#
y)&9d)1Z9k
Q
-0Uאn.-0U
א$AX7()
MOV AL, ‘A’
.AL7()"(אASCII!אA,-q-"אZy-)א041hZy-א5@A9
MOV-0Uא@א%
אy9אeא
F5!3 א
23 SUST
:
___________________________________________________________
E$M A
I"
3 H6
3
G א
(J)אKא2
L!)
v)0N v)0 v)0 v)0 H6
3
v)0N v)0 v)0N v)0
I"
3
v)0N v)0N v)0 v)0 (J)אKא2
L!)A
v)0N v)0 v)0N v)0 E$M
(Exchange)XCHG)*א−2
- אאd5y0507()0#
yאFz4m()0#
yאFzXCHG-0U@א%)9
:-0E#0א#.
8א.(N.0)
XCHG Destination, Source
:
XCHG AH, BL
.(AHi)BLBL#
yi)AH#
yF8)AH, BLm()"אZ
y FZ9k
Q
:
WORD1N."א50AX7()"א#
yאF@A9א-0Uא
XCHG AX, WORD1
XCHG)*אHאDא5!L89!:א.;א
24 SUST
:
___________________________________________________________
ADD Destination, Source
SUB Destination, Source
-0UאC'u0
ADD WORD1, AX
N."א#(
אV9<tZ9WORD1N."א#
y_AX7()"&א9d5@A9
-0Uאn(-0U
א$AX7()"&א9d#
yN
.Z9z)WORD1
SUB AX, DX
PQz)AX7()"א#(
אV9<tZ9AX7()"אV0DX7()"&א9dv-IZ9k
Q
(-0U
א$N.zDX7()"&א9d34
F5!3 א
J)אKא2
L! H6
3 G א
-0Uא3fQא-04-אא5yא0m-F"אv-6א45ev)0N14PQz
:?8*א+ +_V2V2v)0NADD BYTE1, BYTE2
MOV AL, BYTE2 ; 5eא#
+7Fy7()0^_N."א#
yZ9k
Q
ADD BYTE1, AL
.BL7()"א#(
אV9<tBL7()"&א9d^_5Zy-א5@A9ADD BL,5-0Uא
FA0Nא-0Uא346א$1{V9N."א32934b1א0+#YQ'
MOV AX ,BYTE1
.2-BYTEm1 I3fAX7()"א04Qא1 BYTEN."אI3Un
(א$1V03234b(&'0"א&)אN."א34G4)
-0Uא7FA)9ASEMBLER
א
(9n32934b?8"א3f9AH@ א0)MOV AH, ‘A’
-0Uא7FA94@A9AH7()"א41hZy-א5Z9k
Q
25 SUST
:
___________________________________________________________
(#n32934b?8"א3f#AX@ א0)MOV AX ,’A’
.AX7()"א0041hZy-א5Z
k
Q
:u0
NEG BX ; BX = -BX
NEG BYTE ; BYTE = -BYTE.
−:
א/)א$JG!PאG4א:!Q
#gM&א.V0&
אK79qT<e@אאA#A)א-0אUא5070אZ92
.5
(א#.&
_High Level Programming Languages
א
.WORDאV0V9N.0V+?F+BAV9N."א34f_אא
B=A?Fא79q
?Fא79`@<9C-F0-אא- N.0_-אאN."&9d7A1V2z1U
6"אZy-_א7()"א#
y7A1ZS7()0_N."א#
y7A1_
MOV AX , A B ^א:A17FyAX7()"אאA&9d7A1א
MOV B , AX
-0אU_^א#9`Z9A= 5 - A-0Uא04
MOV AX , 5 AX55
SUB AX , A 5-A+G`AX
MOV A , AX A:
26 SUST
:
___________________________________________________________
-0אU_^א4
NEG A
ADD A,5
-0אU_^א#9`Z9A=B-2*A-0UאCאN 4
MOV AX,B
SUB AX,A
SUB AX, A
MOV A,AX
−:/01HאRSא
Uא56A"אijk
l#$5IA0^_-אאZ
)A#
+
y)א78$א
+ij- 56A0CODE SEGMENT/01Mא56A0*)9)$1/01Mא+
:MEMORY MODELSJ)אKאUVT
Qא56A05)934V2k
lN.D6"א/01Mא329y1*א0
f1-
Z9.cQ*+7278$056A0@א%`[_אyX2"&א1
Fא/01MאV072hAf
:א-6)א#2nMODEL.#2אא
.MODEL MEMORY_MODEL
27 SUST
:
___________________________________________________________
56A0V0-u4&1
FאQא56A0 2א COMPACT
v)0NV256A0V0-u4 &1
Fא56A0V0-u4 2א LARGE
64k BYTEV0Mא,$80O9-
34V2V256A0V0-u4&1
Fא56A0V0-u4 2א HUGE
64k BYTEV0Mא6,$80x329
:DATA SEGMENT04
אI"
4&1
Fא56A0:$9-V2אu#F)&אN."א7O9-*+&1
Fא56A0ij
.-אא3207.;z:1U#F)1- 320G4
-F0אuא&אN."אO9-Z9nDATA.O9-א@א%אZ9&1
Fא56A0O9-
n9אu"א
.DATA
WORD1 DW 2
WORD2 DW 5
MSG DB ‘THIS IS A MESSAGE’
MASK EQU 10011001B
:Stack SegmentWR
אI"
TS4&1
Fא92#
+0א%אZ
-אאV0T<!<(QX2"א56A0V0L-.א
7V9<%)zQ8y4X2"א7V9<%Z(Jאא32934b./ 01M
א$
.(/01Mא7+TS4:)926"אZ
Aא
Stack Size.:O9-א@א%X2"א56A0O9-Z9
O9-@A9אu"א.bytes&אQX2"אZ(QC 9?
אאC +7usizek
Q
100hZ(lX2"א
.Stack 100h
.Assemblerא#6א1KBZ(JאLאfאZ9Z(JאO9-Z9_א
:Code Segment/01
אI"
q*א+$9-Z9/01Mא7 א#0%)"א
&א-0אU*א+56A"אאij
:א
.Code Name
28 SUST
:
___________________________________________________________
93z)Small[א#Q56AZאT6+\+ אz.56A"אZאNamek
Q
.#JאcH6 #?T6+Assemblyא/01-@A
k
Q(hAfQא56A0
h )4Procedure(&אTא-!_)-
.D/0א-?D-0אUא5Z9/01Mא56A07 א
אq*א+&אTא-!\אc{O9-
Name Proc
; Tא-!\א7 א
& א-0אUא
Name ENDP
Pseudo_Ops &אp9_:fEndpProc04،Tא-!\אZאNamek
Q
/0)$
I"89!:אXY;א
.CODE
MAIN PROC
;Tא-!\א7 א &
א-0אUא
MAIN ENDP
; :Z9&אTא-!\א#
A
q*א+329.small[א#Q/01M@א72;א3f/01Mא5IA0794?343]א
:א
.MODEL SMALL
.STACK 100H
.DATA
; אuא&אN."אO9-329
.CODE
MAIN PROC
; Tא-!\א7 א -0אUא
&א
MAIN ENDP
;2&אTא-!\א#
A
END MAIN
./01M
)אa-אTא-!\אZ#+F0 END/01Mא#9:1#ij/01Mא-6-
INPUT &OUTPUT INSTRUCTIONS U)אZא.5Zא
29 SUST
:
___________________________________________________________
NfZ9SERVICE ROUTINES#0 &
?#6<א:!E#8"&א-;א#6א
.<:!E#8"&א-;א#6א
BIOS (BASIC U)*א9 1א"א5070א#0%)"א#0?
&א3+1!9
(INT 21H)21H[LG
\" אXא0
k
QDOS7
.;@אY1:0A9o&א0אV0NF#+g
$Tא@אאא%אZ9
i- 4&'()0Z
AאK5-0Uא69yAH7()"א#6"א#0אZy?5Z9
FAא-0Uא69y.21H#IA"אITא1Z9n#6"א#0א1)Qn
!#$%"&א0א5Z9.&'()"א:Z9k
Q#IA"אTא1 dZ
y
.:0&!-%"א:
_&' "א#0 7#$
9NF
H-&א`א_^]אNa"@M,M89!:א.;א
(m-)אOD א#0אZy?
$"א#QV0Qא#
yTא-y 1
#;אQא,-Q# 2
#;א,-JאV0#+g# 9
`אbKc7$.&DאXY;א2
8 !'אN<)'JX)אL:1[LG`א
30 SUST
:
___________________________________________________________
AH7()"א1Zy-א5:, א
#Q
+h.אGא,-qASCII א+GjAL7()"א :d) א
NON CHARACHTER KEY-QNv$0*+h.א#Q04
$"א
.(F1-F10
$"'אu0)
−:]א#Z#0אc
$
MOV AH, 01
INT 21H
v$0G4*+h.א+.
$"א#Q*+h.אmQ^_@%)"?אY1#0אc@A
h.אGא,-JאL-+Z9AL7()"אV0v$ASCII * א+8JאZ9
-YhAf:f@%)"_א#??#0אc@Az.#;א+
$"א#Q
+
Gj,)fF1-F107u0#D
א$"אKh._א.v$0*+h.אZ9*Q
%AL7()"אsqf5
6)INT 21hoא
&א.-$D#
Aא+AL7()"א
."א7$א
.[RQ e.K &.fgS?א6<)'h)6:2[LG`א−2
.AH7()"א02Zy-א5: , א
.DL7()"א-+6"א,-q ASCIIא-$5
.AL7()"אZ9-+Gא,-qASCII א2א: d) א
#;א+@:$א#0'+L-#
א-0אUא:u0
MOV AH , 02H
MOV DL , ‘?’
INT 21H
#9:1Jא5א3א)_א5"_א-"אx-q9#;*א+,-Jא#+FI
.(9eא-6)א#9_א-"אx-q9-6)א
9אeאC94Control CharacterZ2qא,-Q#+F6#0אc@א%אZ9
(Z2qא,-QK
#$
א <0-א ASCII 2א
&D?אD_ BEL (Beep) 7
(Back Space )O%#f)0 BS (Back space) 8
Tab?אAx-` HT (Tab) 9
9!-6 LF (Line Feed) A
31 SUST
:
___________________________________________________________
Jא-6)א#9 אCR (Carriage return) D
32 SUST
:
___________________________________________________________
.STACK 100H
.CODE
MAIN PROC
;(א#0'+?:א
; 9!-6^_א
MOV AH,02
MOV DL,0DH ; carriage return
INT 21H
MOV DL,0AH ; line feed
INT 21H
; _Gא,-Jא#+FI
MOV DL,BL ; ; 7()"אV0,-J?אQ_
INT 21H
; DOS 7
.;@אY1^_ א
MOV AH,4CH
INT 21H
MAIN ENDP
END MAIN
4Ch#$
אINT 21h
$DOSZ2qאj1f/01MאOy90+14PQz
/01M&אא1
Fא6y,QAf&אN."א@א%אZ91U
−:/01אS.XS0
−:#
א&א6אnV9k
Q7
.;/01M
<א:=T;1_#A9-IT<eאא
(?8"א/01-O0).)אu"א"א/01Mא#2Text Editor/01-G4@א% א−1
.OBJECT FILE*)"אO"
אASSEMBLERא@א% א−2
7
.;אO0
OBJECT&א$0h-LINKERh-א/01-@א% א−3
.EXECUTABLE FILE
./01Mא7
.; −4
33 SUST
:
___________________________________________________________
−:#A)א&א6אV06 77
8$
9
f
−:SOURCE FILE/א1אjXS0−1
81O0/9?-dG4@א%אV2/01Mא#2Editor R81?-dG4@א%אZ9
u"'אu0ASM (Extention) א0O"אV9<t +Z9EDIT7u0Text Editori +
.FIRST.ASMZzO"אP$¤)א
−:ASSEMBLE THE PROGRAM/01
אk−2
MASM(Microsoft 7u0AssemblerאQ4#6א/01Mא#e09-IV+אZ9
GאDUאO"א79q@AoאTASM(Turbo Assembler)4Macro Assembler)
.(OBJECT FILE)* )9#]א#.^_-yאO0^_5
(א#.#2"א/01M*א+ij
Z9k
Q/01Mא#H6 G4 !@+V0HאO"א5070אZ9#
אcTS4
T6 4 !@#?*+78¤*Q:q
q8T6 Uא9`(1) 6!_א-א
./01Mא
:אq*א+Z9MASM4TASM/01Mא@א%א
TASM FILENAME;
MASM FILENAME; 4
34 SUST
:
___________________________________________________________
N2Machine Language#]א#.O0#A)א6אc>;1_GאO"א
35 SUST
:
___________________________________________________________
,-QG4+#-&אQ_אא.#;א++FIZz#-א#9:1"$",-Jא
.#+F6אTS4c
$Z91fControl CharacterZ2`
cO9-Z9.#;‘אHello!’#-?א:@A9/01-#2@A#
אc
#
א#y-6&1
Fא56A0#-א
msg db ‘HELLO!$’
LEA)*א
DX7()"א#-א#Qאp_3א+<
:=_INT 21h#IA"אTא19Zy?#0`[א
LEA ( Load Effective Address)-0U
א$Z9n7
LEA Destination , Source
@A9.(-אא5y0)-JאN."אZ?א8"א#0א")('&אQ4 )"אk
Q
-0UאC'uf. )"א7()"?א8"אN.#Qאp\א3א+5-0Uא
LEA DX, MSG
.DX7()"אmsgN."א3א#Qאp\א#
y5@A9
_N;92DS7()"
<א:=_[¤1f&1
56A0+Gj/01Mאא3U
.&1
Fא56A0
PSP (Program Segment Prefix)/01
אI"C5$
/01M#1 256s
8%7
.;@אY1@A9-אא/01Mא7
`Z90+
70א/01Mא5
6)9n+/01MאV+&00+PSPאGj.PSP)
m()"אV07Rא56A"א3א+5DOS7
.;@אY1@A9.&0"אc50
3א++GjzDS&1
Fא56A07()03fn#(
1/01M
א$7FyESDS
&1
56A0+Gj/01-G43f#2;"אc['/01MR&א1
Fא56A0
+/01MR&א1
Fא56A0_N;
&1
Fא56A07()0<
:(4F934b
אqא
MOV AX, @DATA
MOV DS, AX
@אA9k
QDATA.,-"א/01MR&א1
Fא56A03א+@DATA k
Q
V9<t5
6)1z1U56A"א3א+7uZy?_@DATA Zzא79qASSEMBLER
f#
Aא5Z9h
7()AX@+7()אAf-F0DS7()"א#(
א
.DS7()"_א:A1Z9nCz4
36 SUST
:
___________________________________________________________
@א%אDX7()"א:1א+59-IV+n‘HELLO!’#-א#+FIV2n
7
8$#
אc9א/01Mא.21hZy?#IA"אTא19Zy?#0א
37 SUST
:
___________________________________________________________
,-Jא#+FI#+F6א?א-zאZ
1f‘$’#-א#9:1#0':zmsg2#-א3U
.(-F0charN."א#9:1!‘$’#0'א34PQz)#;אchar
$"א#QV0,-JאTא-yZSmsg1#-?א:/01Mא4F9
LEA DX ,msg1
MOV AH ,9
INT 21h
MOV AH ,1
INT 21h
3Un),-JאV0 20h אv-6nupper-caseNF,-Q^_,-Jא79`Z9n
V0¥TאאNF2א,-Jא4Fk
Q20h אASCII!N.8אNF2א,-Jאm-$א
charN."א#(
אV9<tZ9(61h V0¥TאאN.8א,-Jא4F
41h
SUB AL,20h ; NF,-QאQ
38 SUST
:
___________________________________________________________
END MAIN
−:N:Gl
؟..."אIBM PC#Dא5
(א#.H6 :94Cq
qD#
אTUאV0G4-א−1
1- two_words
2- ?1
3- tow words
4- t=
א4G-;+aSZy-א1-א#q
qD1_א.H6 :94
qD#
@אy?UאV0G4−2
.G-;+
1- 246 2- 246h 3- 1001 4- 1.101
5- 2EAH 6- FFEH 7-1011B
(C 2¡3)_א#
א&אN."אV0¨7O9-©h+4−3
.52#
aאא#
yAאword#N.0−4
.#
aאא#
y!zword1אword#N.0−
.52#
aאא#
yBאByte,-QN.0−!
.#
aאא#
y!zCאByte,-QN.0−
.65536#
aאא#
yword2אword#N.0−
#
aאא#
y:
f5Array1:&א#f$80−
.7G)9BellאS−p
‘This Is A Message $’G)9msgא#?S−Q
39 SUST
:
___________________________________________________________
#
y?א#.#2"א#
?א&אFא#ªMOV, ADD , SUB ,INC , DEC , NEG-0אU@א%א−6
:5
(א#.&?אF+^_
1- A=B - A
2- A= -(A+1)
3- C= A + B
4- B= 3* B + 7
5- A= B - A- 1
:]@A(70/01-
)&?אF+א−7
.-6)א$1#;אא5"א+FIZS,-QTא-y−1
#;א-6)א$א5"א+FIZSUpper case letterNF,-QTא-y−2
40 SUST