23
ر ات ------------ masm32 اد أ اا ا ا دﺱ ااق ا١ ا ه32 masm .386 .model flat,stdcall option casemap:none include\masm32\include\windows.inc include\masm32\include\kernel32.inc include\masm32\include\masm32.inc include\masm32\include\debug.inc includelib\masm32\lib\kernel32.lib includelib\masm32\lib\masm32.lib includelib\masm32\lib\debug.lib // آ تت واﻝ اﻝ ه. .data اﻝ ءا اﻝ ه ات اﻝ) ا ةاآ اﻝ( اﻝ و) var ( ل .code start: آ ءا اﻝ ه زات اﻝ ا و) begin ( ل invoke ExitProcess,0 و ه اﻝر ة اﻝ. و اﻝ ) end. ( ل . end start اتاع ا أ س و اﻝ اﻝة وﺡاآ اﻝا ات أو اﻝ عث أ اع ه وا: - ١ - db رة وه) data byte ( وﺡ8 bit . ٢ - dw رة وه) data word ( وﺡ16 bit . ٣ - dd رة وه) data double ( وﺡ32 bit .

masm 32 ˙˝ﺏ ا ˝˚ ه…حاضرات-تعليمية... · eax=FFFFFFFD -: 7ه ˘"˜ﻝا ن7' :ˆFﻝا تا7i@ﻝا z)ˇ s %i&ˆ ax=FFFD ah=FF al=FD 3-mov eax,-1 eax=FFFFFFFF

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: masm 32 ˙˝ﺏ ا ˝˚ ه…حاضرات-تعليمية... · eax=FFFFFFFD -: 7ه ˘"˜ﻝا ن7' :ˆFﻝا تا7i@ﻝا z)ˇ s %i&ˆ ax=FFFD ah=FF al=FD 3-mov eax,-1 eax=FFFFFFFF

masm32 ل�� ------------�����ات �� ����ر��

��� ا���� ا���ا� ا�أ��اد�� ��١ ا��اق ا���دس�� ��

������ ا����� ب� 32masmه�

.386 .model flat,stdcall option casemap:none include\masm32\include\windows.inc include\masm32\include\kernel32.inc include\masm32\include\masm32.inc include\masm32\include\debug.inc includelib\masm32\lib\kernel32.lib includelib\masm32\lib\masm32.lib includelib\masm32\lib\debug.lib

� آ� ������// ��ح�� ��.ه+* ال�(�ت وال�'&%�ت �$# "!� �

.data � ) var(و�>%; ح:� � ال%����� ) ال+اآ�ة�7ا56 ( ال�&� �ات � ه+ا ال$3ء �&1 ال&��0/ �.

ل�� ��<'�ل

.code start:

� ل�� ��<'�ل ) begin( و�>%; �� ا���Bزات ال@�ص� ��ل%������ ه+ا ال$3ء �&1 آ&�

invoke ExitProcess,0 5ة%�رال� ه+*�$# و����� .ال%����� �%6 �

���� ال%����� و">%; � �C�")end. (ل�� ��<'�ل � . end start

أ#اع ا��!��ات

D%ح� ال@�3 � و":�س ��ل�Fال� #Fث�ث أ�7ع �. ال�&� �ات أو �7ا56 ال+اآ�ة وح ���Kل K7ج"

-:وا7�Mاع ه

١- db @&�0 ل�%�رة� وه )data byte ( �� .bit 8وح$�٢- dw @&�0 ل�%�رة� وه)data word ( �� .bit 16وح$�٣- dd @&�0 ل�%�رة� وه)data double ( �� .bit 32وح$�

Page 2: masm 32 ˙˝ﺏ ا ˝˚ ه…حاضرات-تعليمية... · eax=FFFFFFFD -: 7ه ˘"˜ﻝا ن7' :ˆFﻝا تا7i@ﻝا z)ˇ s %i&ˆ ax=FFFD ah=FF al=FD 3-mov eax,-1 eax=FFFFFFFF

masm32 ل�� ------------�����ات �� ����ر��

��� ا���� ا���ا� ا�أ��اد�� ��٢ ا��اق ا���دس�� ��

آ�)�� ا�!�ی& � ا��!��ات

���" K:ل�� R�� �C����<'�ل ��K��� ��K أن ل�� � ال��ت آ ( � ال&��0/ �. ال�&� �ات و��ل0 �� ال&�ل � ) var(��0ح �. �&� � �'7ن ��:�

var x:integer;

أس, ا��!��: ا�*#ع ; أي أن ال0 �� "'7ن

��آ�� ذآ��� <��:� و��ل>'� ) data(�'7ن ال&��0/ �. ال�&� �ات � ح:� ) masm32(أ�� � -:ال&�ل

ا����� ا.ب!�ا-�� ا�*#ع أس, ا��!�� ��وآ�� C�Mال&�ل �ا :-

.data r1 dd 30h r2 dw 20 k db 00111011b

أو �(XXX ال&���(�XXXت )hexadecimal( "&����XXX�� 5XXX� �XXXم masm32)(ل��XXX //�2ح0///�� ح�ل� ذآ� ال�16 Z وج7د ث�ث ص ��ح�B �:��Fم ال&����0ت ال���ذل\ أن ال�16 ��ل ]��� ^:�

���[ ذل\ أن ال�16 �'&7ب ) h(أ�� أذا ج�ء ��K ال�16 ح�ف ) ١٦ال�� "�7ل; إل[ ���م ( ال�>�ي���&; ح�ف ) ٠،١( أ�� أذا آ�ن ال�16 �%�رة �. �١٦���م � � �'&7Xب ���[ ذل\ أن ال�b ( 16(و

e��Cم ال���ل��.

[ ال�Kد ١٦ ال���م الإل[ل&���7 �. ال���م ال�>�ي // ��ح��� 1F:� ١٦f آ �C�� "@3ن �� 6r2 r2 dw 20

16 20 4 16 1 1 0

�)>Mإل[�'&# ال�16 �. ا ]�Mر ا�F أي أن 6 �� ال � .إل[ و�. ال r2 14 هh e��Cخ+ آ� أر�5 ١٦ الإل[أ�� ال&���7 �. الh� bits م���� �� و�!5 ��'���� ال�16 ال+ي �:��

���C ١٦ال k db 00111011b

)B أي ١١(���C ال�16 ١٠١١ )٣(���C ال�16 ٠٠١١

3B ه� k أي أن �6��

Page 3: masm 32 ˙˝ﺏ ا ˝˚ ه…حاضرات-تعليمية... · eax=FFFFFFFD -: 7ه ˘"˜ﻝا ن7' :ˆFﻝا تا7i@ﻝا z)ˇ s %i&ˆ ax=FFFD ah=FF al=FD 3-mov eax,-1 eax=FFFFFFFF

masm32 ل�� ------------�����ات �� ����ر��

��� ا���� ا���ا� ا�أ��اد�� ��٣ ا��اق ا���دس�� ��

)PrintHex (أی��ز ا�����9

[ ش�ش� ال&�( + و"'7ن الi%��� ل�F$�ت أو �7ا56 �ا���jز ل�%i��K@&Fم ه+ا � ح hexadecimal l و"'7ن ال�& $� ����م 32bitذات ال�$1 ) ال�&� �ات(ال+اآ�ة

. �$# أن "'&# آ% �ةP,H)(أن ح�ف

)Register(أ#اع ا���=2ت

�$Fال�)register:(- .� ل\ ث�ث أ�7ع��وه ���%�رة �. �'�ن خ�3 ���وف ح$�; لKى ال -:ال�F$�ت

eax,ebx,ecx,edx,esi,edi,esp,ebp -: وه F�32 bit$�ت ذات ح1$ -١

ax , bx , cx , dx , si , di , sp , bp -: وه bit F�١٦$�ت ذات ح1$ -٢

ah , al , bh , bl , ch , cl , dh ,dl -: وه bit F�١٦$�ت ذات ح1$ -٣

�C�� � �7" �'شeax register 16 bit ax

al

8 bit ah

8 bit

٣٢ bit eax

)Transfer Instruction (أی��زات ا�*�<

mov instruction-1 -:أن ح destination ( lإل[ source( ل�nF ��&��7ت ه+ا ا���jز�K@&Fم

source : -�� :; ال�ال�'�ن ال+ي "@�ج � . destination: - �� :ال ; � �:&F" ال�'�ن ال+ي .

-:وال0 �� ال���� ل�+ا ا���jز ه

mov destination , source

. source� �&"B 6 �� ال -١//��ح�� . �&�Fو�. ��ل��source=destination 1$$# أن �'7ن - ٢

Page 4: masm 32 ˙˝ﺏ ا ˝˚ ه…حاضرات-تعليمية... · eax=FFFFFFFD -: 7ه ˘"˜ﻝا ن7' :ˆFﻝا تا7i@ﻝا z)ˇ s %i&ˆ ax=FFFD ah=FF al=FD 3-mov eax,-1 eax=FFFFFFFF

masm32 ل�� ------------�����ات �� ����ر��

��� ا���� ا���ا� ا�أ��اد�� ��٤ ا��اق ا���دس�� ��

A�mov ا����#�� @ی��ز ا��1- mov register, register ex\\ mov eax,ebx 2- mov register, memory ex\\ mov ax,var1 3- mov memory, register ex\\ mov y,edx 4- mov register,6 �� �%�ش�ة ex\\ mov ah,70h 5- mov memory,6 �� �%�ش�ة ex\\ mov k1,55h

��ح��ت)�&� ��.( �B$7ز ال�:� � . ��67 ذاآ�ة -١

mov memory, memory ex\\ mov x, r1 false

٢- cs, eip, ip أن �'7�7ا .'�� B destination mov eip , eax false

إل[) 10h(اآ�ة و6 �&; ل�nF ��&��7ت �567 ذmasm32 أآ&# ������ ��� //س

�$F�)register ( �C�eax؟

.386

.model flat,stdcall option casemap:none include\masm32\include\windows.inc include\masm32\include\kernel32.inc include\masm32\include\masm32.inc include\masm32\include\debug.inc includelib\masm32\lib\kernel32.lib includelib\masm32\lib\masm32.lib includelib\masm32\lib\debug.lib .data r1 dd 10h .code start: mov eax,r1 PrintHex eax invoke ExitProcess,0 end start

Page 5: masm 32 ˙˝ﺏ ا ˝˚ ه…حاضرات-تعليمية... · eax=FFFFFFFD -: 7ه ˘"˜ﻝا ن7' :ˆFﻝا تا7i@ﻝا z)ˇ s %i&ˆ ax=FFFD ah=FF al=FD 3-mov eax,-1 eax=FFFFFFFF

masm32 ل�� ------------�����ات �� ����ر��

��� ا���� ا���ا� ا�أ��اد�� ��٥ ا��اق ا���دس�� ��

��� آ�)�� DEن ا��

��e�6 .�file ر�&@� save as أو save� ة ال&�ل+� -: <7ف "��� ل�� ال��

� C�ali� أ<1 ال%����� ��asm *K. �'&# اB<1 و�$# آ&���file name ح:�

� ح:� #&'�file name ali.asm ] أو �[ save و��Kه� �!�^ �)Enter ( .�)Keyboard. (

ال�7ج7دة � ش��^ saveة ا �$# ال!�^ �[ أدإ������K آ� "���K أو // ��ح�� . ل�(q ال&� �اتاMدوات

Page 6: masm 32 ˙˝ﺏ ا ˝˚ ه…حاضرات-تعليمية... · eax=FFFFFFFD -: 7ه ˘"˜ﻝا ن7' :ˆFﻝا تا7i@ﻝا z)ˇ s %i&ˆ ax=FFFD ah=FF al=FD 3-mov eax,-1 eax=FFFFFFFF

masm32 ل�� ------------�����ات �� ����ر��

��� ا���� ا���ا� ا�أ��اد�� ��٦ ا��اق ا���دس�� ��

��� آ�)�� ت*)�G ا��١- ��e�6 .� Project ر�&@� Assemble ASM file ة+� <7ف "��� ل�� ال��

-:ال&�ل �

��XXت �� KXX��XX%رة r أذاAssembling رة�XX%� ة�XXش�%� Volume in drive ]XX���

C7ة الXi@ال ]Xإل �X:&�� / �Xول[ صM7ة اi@ال �1 "���X ذل\ أن ال&�( + Xأذا ل �Xأ� ،�X �� . ثK �� 1 ال&�( + ��save�[ ذل\ أن ال%����� � ; خhi ���0; و�!�^ �[ اMداة

٢- �XX�e�6 .XX� Project ر�XX&@� Assemble & Link ة+XX� <7XXف "���XX ل��XX ال��

-:ال&�ل �

���[ ذل\ أن error آ�� Press any key to continueأذا ل1 "��� 6%� �%�رة ��ت آ�� ال&�( +r ص� / أ�� أذا � ��C7ة الi@ال � error s و��0/ ال���+ة ��

] .و�� K ال@7iة اMول[ والsave � ��C اMداةال%����� و�!�^ �

Page 7: masm 32 ˙˝ﺏ ا ˝˚ ه…حاضرات-تعليمية... · eax=FFFFFFFD -: 7ه ˘"˜ﻝا ن7' :ˆFﻝا تا7i@ﻝا z)ˇ s %i&ˆ ax=FFFD ah=FF al=FD 3-mov eax,-1 eax=FFFFFFFF

masm32 ل�� ------------�����ات �� ����ر��

��� ا���� ا���ا� ا�أ��اد�� ��٧ ا��اق ا���دس�� ��

٣ - ��e�6 .� Project 7خ � وهMر ال@ �ر ا�&@� Run program ��ل �� <7ف �� -:��"� ال&�( + آ�� � ال���+ة ال&�ل �

ل+ل\ �'7ن �Kد bit 4 آ� �Kد � ; ��&�ج إل[ ���hexadecimalم // ��ح�� ر6�� bit 8أو ال�F$�ت �. �7ع ) ال�&� �(اMر�6م ال& �hخ+ه� �567 ال+اآ�ة

. أر�6م M����bit 32 أر�6م و ذات ح$1 أربbit L 16أ�� ذات ح1$ �:Kر ال�Kد أص)�رKدة �!5 ال��اMر�6مح�ل� وج7د �Kد أر�6م أ�6 �. �//��ح��

7ب �. ج�� ال �Fر iال�"tل ا�Cال� � -: وآ�� mov ax,16h

� ه+* ال��ل� "'7ن 6 �� ax 0016 هh نB ax 1$16 ذات ح bit إل[ و��&�ج .أر�5 أر�6م

mov eax,2h � ه+* ال��ل� "'7ن 6 �� eax 00000002هh نB eax 1$32 ذات ح bit

.� � أر�6م و��&�ج إل[ ث��

��Oأ� ��#�=�:- 1- mov al,66h

ال�16 �@3ن ��ل>'� ال&�لeax=00000066 ax=0066 ah=00 al=66

eax

66 ٠ ٠ ٠ ٠ ٠٠ al ah

ax

Page 8: masm 32 ˙˝ﺏ ا ˝˚ ه…حاضرات-تعليمية... · eax=FFFFFFFD -: 7ه ˘"˜ﻝا ن7' :ˆFﻝا تا7i@ﻝا z)ˇ s %i&ˆ ax=FFFD ah=FF al=FD 3-mov eax,-1 eax=FFFFFFFF

masm32 ل�� ------------�����ات �� ����ر��

��� ا���� ا���ا� ا�أ��اد�� ��٨ ا��اق ا���دس�� ��

2- mov ebx , 40 ) hexadecimal( ���م إل[� ه+* ال��ل� �$# "���7 ال�16

16� 28h ه ٤٠"'7ن ال: �� ال�:��� لebx=00000028 bx=0028 bh=00 bl=28

3- mov dh,9h edx=00000900 dx=0900 dh=09 dl=00

Qا���� � R�S!آ�)�� ا�

. ل1 �'. ��7ل; آ�� ذآ��� <��:�وإذا) Hexadecimal(أن �'7ن ال�16 ����م �$#- ١٢ -e��Cم ال���ل# إل[ ال�Fل�� ]i��7 ال�16 ال���" ) binary system( #Fوح

��7 ل'� ح1$iر�6م ال�Mد اK�. .٠ إل[ ١ وآ� ١ إل[ ٠وذل\ �:# آ� ) F� ) 2'complement&@�ج ال�&�1- ٣٤ - 5� 5�$� ٠=١+١ ، ١=٠+١ ، ١=١+٠ ، ٠=٠+٠ (١ K ١ و��ل.( ).hexadecimal( ��7ل ال�Kد ال��"� إل[ - ٥

��Oأ� ��#�=�:- 1- mov ax,-30h

إل[ و��&�ج 16bit ذات حB ax 1$ن 0030 ال�Kد ����م ال�Fدس �>� و�'&# - ١ مأر�5 أر�6

� 0%/إل[��7ل ال�Kد - ٢ e��Cم ال���ال :- ٠٠٠٠ 0011 ٠٠٠٠ ٠٠٠٠

١١١١ ١١١١ 1100 ١١١١ ال�&�1 ه7 - ٣ ١ + �$�5 �5 ال�16- ٤

١١١١ ١١١١ ١١٠١ ٠٠٠٠ D F F ٠ ال��"� ه7 - ٥

eax=0000FFD0 ax=FFD0 ah=FF al=D0

40 16 ٨ 2 ١٦ ٠ ٢

Page 9: masm 32 ˙˝ﺏ ا ˝˚ ه…حاضرات-تعليمية... · eax=FFFFFFFD -: 7ه ˘"˜ﻝا ن7' :ˆFﻝا تا7i@ﻝا z)ˇ s %i&ˆ ax=FFFD ah=FF al=FD 3-mov eax,-1 eax=FFFFFFFF

masm32 ل�� ------------�����ات �� ����ر��

��� ا���� ا���ا� ا�أ��اد�� ��٩ ا��اق ا���دس�� ��

2- mov eax,-3h z)� s %i&� :- eax=FFFFFFFD ال@7iات ال��F:� �'7ن ال��"� ه7

ax=FFFD ah=FF al=FD

3-mov eax,-1 eax=FFFFFFFF ax=FFFF al=FF ah=FF

eax اMول two registerل&%��K � . ��&��7ت masm32 أآ&# ������ ���//س ؟90h وebx ;&� 6 وال��C 60hو6 �&;

.386 .model flat,stdcall option casemap:none include\masm32\include\windows.inc include\masm32\include\kernel32.inc include\masm32\include\masm32.inc include\masm32\include\debug.inc includelib\masm32\lib\kernel32.lib includelib\masm32\lib\masm32.lib includelib\masm32\lib\debug.lib .data .code start: mov eax,60h mov ebx,90h mov ecx,eax mov eax,ebx mov ebx,ecx PrintHex eax PrintHex ebx invoke ExitProcess,0 end start

Page 10: masm 32 ˙˝ﺏ ا ˝˚ ه…حاضرات-تعليمية... · eax=FFFFFFFD -: 7ه ˘"˜ﻝا ن7' :ˆFﻝا تا7i@ﻝا z)ˇ s %i&ˆ ax=FFFD ah=FF al=FD 3-mov eax,-1 eax=FFFFFFFF

masm32 ل�� ------------�����ات �� ����ر��

��� ا���� ا���ا� ا�أ��اد�� ��١٠ ا��اق ا���دس�� ��

)W.H(� واج��ت �=�#� k ه7 اMول �:7م ��ل&%��K � . ��67 ذاآ�ة masm32 أآ&# ������ ��� //١س

؟mov أ���ز ��<&@Kام 10h وn ;&� 6 وال��C 30hو6 �&;

ال�&��e //٢س ؟ �(+ ال@7iات ال&�ل � وأ�1- mov ax,9Bh eax=? ax=? ah=? al=? 2- mov bh,1001b ebx=? bx=? bh=? bl=? 3- mov edx,-19 edx=? dx=? dh=? dl=? 4-mov ah,10h mov bx,ax ebx=? bx=? bh=? bl=? 5- mov dx,-30 mov bh,dh ebx=? bx=? bh=? bl=?

Page 11: masm 32 ˙˝ﺏ ا ˝˚ ه…حاضرات-تعليمية... · eax=FFFFFFFD -: 7ه ˘"˜ﻝا ن7' :ˆFﻝا تا7i@ﻝا z)ˇ s %i&ˆ ax=FFFD ah=FF al=FD 3-mov eax,-1 eax=FFFFFFFF

masm32 ل�� ------------�����ات �� ����ر��

��� ا���� ا���ا� ا�أ��اد�� ��١١ ا��اق ا���دس�� ��

-:أذا ��D أن ال�&� �ات ����� ��ل>'� ال&�ل //٣س.data r1 db 00000010b r2 dw 20h r3 dd 10h

ال��"� ( �hي �. ال�%�رات ال&�ل � ص� �� وأي ���� خ�{|� أذا آ��D ص� �� أ�hi@ال #%> ؟)وأ�� أذا آ��D خ�{|� أ�

1- mov ax,r1 2- mov ax,r2 3- mov eax,r3 4- mov r2,r1 5- mov r2, dx

Xchg Instruction-2 وال0 �� ال���� ) two operand(&��7ت ���� . ل&%��K � . ��ا���jز �K@&Fم ه+ا

-:ل; ه Xchg destination , source

-:ا���A ا����#�� �GWا ا@ی��ز ه�

1- Xchg reg , reg ex\\xchg eax,ebx 2- Xchg reg , mem ex\\xchg ax,var1 3- Xchg mem , reg ex\\xchg r1,ah

//�2ح�0ت . �$# أن "'7ن ال�����ت �&�Fو�� ��ل�1$- ١ .��B'. ال&%��K � . ��67 ذاآ�ة - ٢

Page 12: masm 32 ˙˝ﺏ ا ˝˚ ه…حاضرات-تعليمية... · eax=FFFFFFFD -: 7ه ˘"˜ﻝا ن7' :ˆFﻝا تا7i@ﻝا z)ˇ s %i&ˆ ax=FFFD ah=FF al=FD 3-mov eax,-1 eax=FFFFFFFF

masm32 ل�� ------------�����ات �� ����ر��

��� ا���� ا���ا� ا�أ��اد�� ��١٢ ا��اق ا���دس�� ��

. ه�� // س$F� ��7ت&�� ��K%&� أآ&# ������ �:7مeax ;&� 666 وh و edx ؟Xchg أ���ز ��<&@Kام 39hو6 �&;

.code start: mov eax,66h mov edx,39h PrintHex eax PrintHex edx Xchg eax,edx PrintHex eax PrintHex edx invoke ExitProcess,0 end start

-):W.H(�=�#�� واج��ت

r1 �:7م ��ل&%��K � . ��67 ذاآ�ة اMول هmasm327 أآ&# ������ ��� //١س ؟K@&>�� Xchgام أ���ز 100h وr2 ;&� 6 وال��C 220hو6 �&;

ال�&��e ؟//٢س �(+ ال@7iات ال&�ل � وأ�

1- mov eax,-40 xchg ah,al 2- mov ebx,0ffh mov edx,-2Ah xchg bx,dx

3-mov ah,-7 mov ax,-30 xchg eax ,ebx

Page 13: masm 32 ˙˝ﺏ ا ˝˚ ه…حاضرات-تعليمية... · eax=FFFFFFFD -: 7ه ˘"˜ﻝا ن7' :ˆFﻝا تا7i@ﻝا z)ˇ s %i&ˆ ax=FFFD ah=FF al=FD 3-mov eax,-1 eax=FFFFFFFF

masm32 ل�� ------------�����ات �� ����ر��

��� ا���� ا���ا� ا�أ��اد�� ��١٣ ا��اق ا���دس�� ��

}v with Zero ExtendMo{ movzx -3 و�:7Xم �&destination ( 5 X>7 (إلX[ ) source(�:7م هX+ا ا�X��jز ���X�7&�� nFXت إل

bit 32 أو bit 16 ج�� ال �Fر ل 0%/ ال�$1 أ�� إل[ أص(�ر �~����ال: �� destination > source - :أي أن

-:وال0 �� ال���� ل; ه

movzx destination , source

-:�#�� �GWا ا@ی��ز ه� وا���A ا���

1- movzx r32,r8 or m8 ex\\ movzx eax,bl 2- movzx r32,r16 or m16 ex\\ movzx edx,r 3- movzx r16,r8 or m8 ex\\ movzx bx,al

.وdestination ( � �&" B(أ�6 �. ) source(6 �� إل// �2ح�0

ال�&��e ال&�ل � // ��Cل -:أ�

mov bx,0A69Bh movzx eax,bx eax =0000A69B movzx edx,bl edx =0000009B movzx cx,bh cx = 00A6

. ه7 رA16 ال+ي �s%F ال�16 � ال��Cل الs��F دBل� �[ أن ح�ف ٠ر16 // ��ح��

} ExtendsignMov with {xs mov-4 و�:7Xم �&destination ( 5 X>7(إلX[ ) source(�:7م هX+ا ا�X��jز ���X�7&�� nFXت إل

��� ح�ل آ��D إل[ ج�� ال �Fرأص)�رال: �� �~�� EX bit ذا آ�Xن إ وص)/EX bit #١ ه Y�Zی )s(1 واح/�ات �:��� آ� أي أن L/أرب Y�Z/ف ی 0X%/ لF ا��/

bit 32 أو bit 16ال�$1 أ�� destination > source - :أي أن

-:وال0 �� ال���� ل; ه

movsx destination , source

Page 14: masm 32 ˙˝ﺏ ا ˝˚ ه…حاضرات-تعليمية... · eax=FFFFFFFD -: 7ه ˘"˜ﻝا ن7' :ˆFﻝا تا7i@ﻝا z)ˇ s %i&ˆ ax=FFFD ah=FF al=FD 3-mov eax,-1 eax=FFFFFFFF

masm32 ل�� ------------�����ات �� ����ر��

��� ا���� ا���ا� ا�أ��اد�� ��١٤ ا��اق ا���دس�� ��

-:وا���A ا����#�� �GWا ا@ی��ز ه�

1- movsx r32,r8 or m8 ex\\ movsx eax,bl 2- movsx r32,r16 or m16 ex\\ movsx edx,r 3- movsx r16,r8 or m8 ex\\ movsx bx,al

.وdestination ( � �&" B(أ�6 �. ) source(6 �� إل// �2ح�0

ال�&��e ال&�ل � // ��Cل -:أ�

mov bx,0A69Bh movsx eax,bx eax =FFFFA69B movsx edx,bl edx =FFFFFF9B movsx cx,bh cx = FFA6

ت#ض�& �� 6bx ه A69B 7أن �خ� ر16 ه qح�� A 167ل ال��� A e��Cم ال���إل[ ال

�. ج�� ال �Fر ه7 واحK أذا �! f واحKات ل bit /%0 ��حq أن �خ� 1010 -: آ�� ��ل>'� ال&�ل bit 32ال�1$

١١١١ ١١١١ ١١١١ ١١١١ ١٠١٠ ٠١١٠ ١٠٠١ ١٠١١

B 9 6 A F F F F

-):W.H(�=�#�� واج��ت1- mov bl,-7 movzx ax,bl ax=? 2- mov ax,901Ch movzx edx,ah edx=? 3-mov ax,-30 movsx ebx,ax ebx=? 4- mov ah,-fh movsx bx,ah bx=?

Page 15: masm 32 ˙˝ﺏ ا ˝˚ ه…حاضرات-تعليمية... · eax=FFFFFFFD -: 7ه ˘"˜ﻝا ن7' :ˆFﻝا تا7i@ﻝا z)ˇ s %i&ˆ ax=FFFD ah=FF al=FD 3-mov eax,-1 eax=FFFFFFFF

masm32 ل�� ------------�����ات �� ����ر��

��� ا���� ا���ا� ا�أ��اد�� ��١٥ ا��اق ا���دس�� ��

structionArithmetic In

1- Inc Instruction

.)operand( إل[ ١ب^ض�[� �:7م ه+ا ا���jز

-:وال0 �� ال���� ل�+ا ا���jز ه 1- inc reg ex\\ inc ax 2- inc mem ex\\ inc r

��O�_ا � ��#�=�:-

1- mov ax,30h inc ax ax =0031h

2- mov ax,30 inc ax

) hexadecimal( إل[ ���م ٣٠� ه+* ال��ل� �$# "���7 ال�16 16 30 16 1 E 0 1

ax = 001F "0%/ ال: �� inc و��s %i" K أ���ز ax =1Eأي أن 6 �� -):W.H(�=�#�� واج��ت

1- mov ax ,-30 inc ax ax=? 2- mov bx ,7 inc bx bx=? 3- mov al,17 inc al al=? 4- mov ah,-1 inc ax ax=? 5- mov al,FF inc ax ax=?

Page 16: masm 32 ˙˝ﺏ ا ˝˚ ه…حاضرات-تعليمية... · eax=FFFFFFFD -: 7ه ˘"˜ﻝا ن7' :ˆFﻝا تا7i@ﻝا z)ˇ s %i&ˆ ax=FFFD ah=FF al=FD 3-mov eax,-1 eax=FFFFFFFF

masm32 ل�� ------------�����ات �� ����ر��

��� ا���� ا���ا� ا�أ��اد�� ��١٦ ا��اق ا���دس�� ��

dec Instruction-2 ) .operand( �. ال ١ب^��ص �:7م ه+ا ا���jز

-:وال0 �� ال���� ل�+ا ا���jز ه

1- dec reg ex\\ dec ax 2- dec mem ex\\ dec r

��O�_ا � ��#�=�:- 1- mov al,1 dec al al = 00 2- mov ah,7 dec ah ah =06 3- mov ax,40 dec ax

) hexadecimal( إل[ ���م ٤٠� ه+* ال��ل� �$# "���7 ال�16

0 ٤16 16 2 8 0 2

ax = 27h "0%/ ال: �� dec و��s %i" K أ���ز ax =28hأي أن 6 �� 4- mov al,-7 dec al

� �. ال�Fل#@&� 0000 0111 al=F8 1111 1000

+١ 1111 1001

1- 1111 1000

٨ F

-):W.H(#�� واج��ت�=�1- mov al,-30 dec al al=? 2- mov bx,-79 dec bh bh=?

Page 17: masm 32 ˙˝ﺏ ا ˝˚ ه…حاضرات-تعليمية... · eax=FFFFFFFD -: 7ه ˘"˜ﻝا ن7' :ˆFﻝا تا7i@ﻝا z)ˇ s %i&ˆ ax=FFFD ah=FF al=FD 3-mov eax,-1 eax=FFFFFFFF

masm32 ل�� ------------�����ات �� ����ر��

��� ا���� ا���ا� ا�أ��اد�� ��١٧ ا��اق ا���دس�� ��

Add Instruction-3

والdestination ( �� 0( إل[ ) source(�:7م ه+ا ا���jز �~���� ��&��7ت ال -:ال���� ل; ه

add destination, source //�2ح�0ت

. � � �&�Fو�& . ��ل��B 1$$7ز ج�5 آ� & .-١ . �B$7ز ال$�5 � . ��67 ذاآ�ة-٢٣-5XXXXX�$ت ال�XXXXX �� )add (ح�XXXXXiوال)sub ( KXXXXXار واحKXXXXX:�� �0نXXXXX:�دة وال�XXXXX�3وال )inc&dec ( ] .)flag register("�ث� �٠=١+١(، ) ١=٠+١(، ) ١=١+٠(، ) ٠=٠+٠(-٤ K ١ و��ل.(

��O�_ا � ��#�=�:- 1- mov r1,20h mov eax,40h add eax,r1 eax = 00000050

٠٠١٠ ٠٠٠٠ +٠١٠٠ ٠٠٠٠ ٠١١٠ ٠٠٠٠

٦ ٠

2- mov bl,40 mov ah,32

add ah,bl ٠٠١٠ ١٠٠٠ ٠٠١٠ ٠٠٠٠ ٠١٠٠ ١٠٠٠

bl= 28h ٤ ٨ ah =

ah=20h

٨ ٢

٤٠ 2 0

16 16

٠ ٢

٣٢ 2 0

16 16

Page 18: masm 32 ˙˝ﺏ ا ˝˚ ه…حاضرات-تعليمية... · eax=FFFFFFFD -: 7ه ˘"˜ﻝا ن7' :ˆFﻝا تا7i@ﻝا z)ˇ s %i&ˆ ax=FFFD ah=FF al=FD 3-mov eax,-1 eax=FFFFFFFF

masm32 ل�� ------------�����ات �� ����ر��

��� ا���� ا���ا� ا�أ��اد�� ��١٨ ا��اق ا���دس�� ��

٠٠١٠ ٠٠٠٠) source( ٠٠١٠ ٠٠٠٠) destination( +١١٠١ ١١١١ 1�&� )source(

١١١١ ١١١١ +١

٠ ٠

-):W.H(ج��ت�=�#�� وا1- mov bl,-20 mov al,20 add al,bl 2- mov b,-56 mov eax,0ACD2h add ah,bh 3- mov bl,5 mov ah,-3 add eax,ebx

Instructionsub-4

والdestination ( �� 0( ال �.)source( ��&��7ت ال��iح�:7م ه+ا ا���jز -:ال���� ل; ه

sub destination, source ; �(z ش�وط ا���jز //��ح��� s%i"add.

أجاء ����� ا�9حآ�)��

.إل[ ال���م الC��e destination ((و ال) source( ��7ل ال - ١ .٠ إل[ ١ و١ إل[ �٠:# وذل\ ) F� )source&@�ج �&�1 ال- ٢ ).source(�5 �&�1 ال) destination( �$�5 ال- ٣ . أو �5 ال7احcarry(K(5 ال��"� �5 ال �$�- ٤ ).hexadecimal( ��7ل ال�& $� ال���e � إل[ ���م ال- ٥

��O�_ا � ��#�=�:- 1- mov al,20h sub al,20h al=00

٠٠٠٠ ٠٠٠٠

Page 19: masm 32 ˙˝ﺏ ا ˝˚ ه…حاضرات-تعليمية... · eax=FFFFFFFD -: 7ه ˘"˜ﻝا ن7' :ˆFﻝا تا7i@ﻝا z)ˇ s %i&ˆ ax=FFFD ah=FF al=FD 3-mov eax,-1 eax=FFFFFFFF

masm32 ل�� ------------�����ات �� ����ر��

��� ا���� ا���ا� ا�أ��اد�� ��١٩ ا��اق ا���دس�� ��

٠٠١١ ٠٠٠٠) source( ٠١١١ ٠٠٠٠) destination(

+ ١١١١ 1100 1�&� )source(

١ ٠٠١١ ١١١١ +١ ٠١٠٠ ٠٠٠٠

٠١١١ ٠٠٠٠) source( ٠٠١١ ٠٠٠٠) destination(

+ ١١١١ 1000 1�&� )source(

١٠١١ ١١١١ +١ ٠١٠٠ ٠٠٠٠

2- mov eax,70h mov ebx,30h sub eax,ebx eax = 00000040

3- mov al,66h

mov bh,50h sub al,bh al=16h

4- mov eax,80h mov ebx,60h sub eax,ebx eax = 00000020

//�2ح�0ت� ح�ل� - ١ )destination >= source ( #Fو��� ح �'<� K7ج"B

�:��F7ات الi@ال. وأن �'7ن �7ج# ) hexadecimal( �$# ��ا��ة أن �'7ن ال�Kد �'&7ب ����م - ٢

.و�&@� �. ال�Fل# آ�� � �� <��:�) hexadecimal( ���م إل[وأن ل1 �'. ��7ل; � ح�ل� - - ٣ )destination < source ول'. ) �:��F7ات الi@ال z(� s%i�

; خ7iات آ ( � � s%i� #ل�F"� ��ل��د الKل#��&%� ال��Fال .� � وآ�� � ال&@� ال&�ل �C�Mا:-

1- mov ah,30h mov bh,70h sub ah,bh ah = C0

٤ ٠

ــ) ٤ ٠(

٠١٠٠ ٠٠٠٠ ١٠١١ ١١١١ +١

١١٠٠ ٠٠٠٠

٠ C

Page 20: masm 32 ˙˝ﺏ ا ˝˚ ه…حاضرات-تعليمية... · eax=FFFFFFFD -: 7ه ˘"˜ﻝا ن7' :ˆFﻝا تا7i@ﻝا z)ˇ s %i&ˆ ax=FFFD ah=FF al=FD 3-mov eax,-1 eax=FFFFFFFF

masm32 ل�� ------------�����ات �� ����ر��

��� ا���� ا���ا� ا�أ��اد�� ��٢٠ ا��اق ا���دس�� ��

2- mov bx,-30h mov cx,20h sub bx,cx

� ه+* ال��ل� �$# ال&@� �. ال�Fل# )-30( ٠٠٠٠ ٠٠٠٠ ٠٠١١ ٠٠٠٠ ٠٠٣٠

١١١١ ١١١١ ١١٠٠ ١١١١ + ١ ١١١١ ١١١١ ١١٠١ ٠٠٠٠ bx ) destination( ٠٠٠٠ ٠٠٠٠ ٠٠١٠ ٠٠٠٠ cx) source(

١١١١ ١١١١ ١١٠١ ١١١١ 1�&� )source( 5�$�)destination ( 1�&� 5�)source(

١١١١ ١١١١ ١١٠١ ٠٠٠٠) destination( ١١١١ ١١١١ ١١٠١ ١١١١ 1�&� )source( ١ ١١١١ ١١١١ ١٠١٠ ١١١١

+ ١

١١١١ ١١١١ ١٠١١ ٠٠٠٠

٠ B F F bx =

-):W.H(�=�#�� واج��ت

1- mov al,79h sub al,-1 al=? 2- mov eax,-64 mov bx,-13 sub ebx,eax ebx=? 3- mov bx,0A332h mov ax,60 sub ah,bh ah=? 4- mov eax,-22 sub ax,-3 ax=?

Page 21: masm 32 ˙˝ﺏ ا ˝˚ ه…حاضرات-تعليمية... · eax=FFFFFFFD -: 7ه ˘"˜ﻝا ن7' :ˆFﻝا تا7i@ﻝا z)ˇ s %i&ˆ ax=FFFD ah=FF al=FD 3-mov eax,-1 eax=FFFFFFFF

masm32 ل�� ------------�����ات �� ����ر��

��� ا���� ا���ا� ا�أ��اد�� ��٢١ ا��اق ا���دس�� ��

٥-Neg Instruction ) complement'����2 ل; (�K@&Fم ه+ا ا���jز ل�'z أش�رة ال�Kد ال�Kخ�

-: ه ا���jزوال0 �� ال���� ل�+ا 1- neg reg ex\\ neg ax 2- neg mem ex\\ neg r

ا����Qا<&@Kا�; �(z خ7iات // ��ح��� R�S!ال&�ل �ا� �C�Mا � -: وآ�� 1-mov al,5h neg al al=FB

2-mov al,-5h neg al al=٠٥ 3- mov eax,30h neg ax ax=0000FFD0 4- mov ah, 30h neg ah eax=0000D000

-):W.H(�=�#�� واج��ت1- mov ax,-33 neg al al=? 2- mov eax ,88 neg ax ax=? 3- mov bh,40 neg bh neg bx bx=?

0101 ٠٠٠٠ ١١١١ ١٠١٠ +١ ١١١١ ١٠١١

B F

Page 22: masm 32 ˙˝ﺏ ا ˝˚ ه…حاضرات-تعليمية... · eax=FFFFFFFD -: 7ه ˘"˜ﻝا ن7' :ˆFﻝا تا7i@ﻝا z)ˇ s %i&ˆ ax=FFFD ah=FF al=FD 3-mov eax,-1 eax=FFFFFFFF

masm32 ل�� ------------�����ات �� ����ر��

��� ا���� ا���ا� ا�أ��اد�� ��٢٢ ا��اق ا���دس�� ��

� آ� دل� ال&�ل � ل�� ال���masm32أآ&# ������ ��� // ١س �e�&�ء ال�i�5 أ� -:خ7iة

r = -x +(y-z) �� أن �x =10hو y=30h و z=60h 1$32 وال�&� �ات ذات ح bit.

.data x dd 10h y dd 60h z dd 30h r dd 00h .code start: mov eax,x neg eax PrintHex eax eax=FFFFFFF0 mov ebx,y sub ebx,z PrintHex ebx ebx=00000030 add eax,ebx mov r,eax PrintHex r r=00000020 invoke ExitProcess,0 end start

� آ� ل�� ال���دل� masm32أآ&# ������ ��� // ٢س �e�&�ء ال�i�ال&�ل � �5 أ -:خ7iة

r = - (x -(y-z)+n) �� أن �x =10hو y=20h و z=30h و n=40h 1$32 وال�&� �ات ذات ح bit.

.data x dd 10h y dd 20h z dd 30h n dd 40h r dd 00h .code start: mov eax,y sub eax,z

Page 23: masm 32 ˙˝ﺏ ا ˝˚ ه…حاضرات-تعليمية... · eax=FFFFFFFD -: 7ه ˘"˜ﻝا ن7' :ˆFﻝا تا7i@ﻝا z)ˇ s %i&ˆ ax=FFFD ah=FF al=FD 3-mov eax,-1 eax=FFFFFFFF

masm32 ل�� ------------�����ات �� ����ر��

��� ا���� ا���ا� ا�أ��اد�� ��٢٣ ا��اق ا���دس�� ��

PrintHex eax eax=FFFFFFF0 mov ebx,x sub ebx,eax PrintHex ebx ebx=00000020 add ebx,n neg ebx mov r,ebx PrintHex r r=FFFFFFA0 invoke ExitProcess,0 end start

-):W.H(�=�#�� واج��ت ١ - ��� آ� masm32 أآ&# ������ � �e�&�ء ال�i�ل�� ال���دل� ال&�ل � �5 أ

-:خ7iة )k = - (x +y-(z-n)

�� أن �x=22و y=20h و z=3 و n=40h 1$16 وال�&� �ات ذات ح bit. ٢ - �� �sub 5م أ���ز ل�� ال���دل� ال&�ل � و�Kون ا<&@Kاmasm32أآ&# ������ �

� آ� خ7iة �e�&�ء ال�i�أ:- r = x-y-z

�� أن � x=44وy=50 و z=30h 1$32 و ال�&� �ات ذات ح bit. ٣ - ��� آ� masm32أآ&# ������ � �e�&�ء ال�i�ل�� ال���دل� ال&�ل � �5 أ

-:خ7iة z=(x+y)-(r-n)

�� أن �x =11hو y=100h و r=30و n=55h32 ح$1 وال�&� �ات ذات bit. 4- ��� آ� masm32أآ&# ������ � �e�&�ء ال�i�ل�� ال���دل� ال&�ل � �5 أ

-:خ7iة z=-y+r-(n+w)

�� أن �y =10hو r=606h و r=30و n=55h و w=40 1$وال�&� �ات ذات ح32 bit.

٥ - ��� آ� masm32أآ&# ������ � �e�&�ء ال�i�ل�� ال���دل� ال&�ل � �5 أ

-:خ7iة z=(2x+2y)-(r+(-n))

�� أن �x =1hو y=10h و r=30hو n=5h 1$32 وال�&� �ات ذات ح bit.