أضف مشاركة إلى الموضوع: أمثلة لمادة المايكرو
اضغط هنا للدخول
يمكنك إختيار أيقونة لرسالتك من هذه القائمة
سيتم تحويلها www.example.com إلى [URL]http://www.example.com[/URL].
رد: أمثلة لمادة المايكرو المشاركة الأصلية كتبت بواسطة شذى الياسمين يسلمو شذى .. انا منزله الماده الفصل هاد بس لسا مو وصلنا نكتب برامج .. بس اكيد حستفيد منهم الايام الجايه .. يعطيكي العافيه .. اهلا فيكي شذى .. ان شاء الله بتسفيدي منهم ..
رد: أمثلة لمادة المايكرو
رد: أمثلة لمادة المايكرو المشاركة الأصلية كتبت بواسطة جسر الحياة يسلمو إيديكي شذى هلا عمر .. نورت ..
رد: أمثلة لمادة المايكرو يسلمو شذى .. انا منزله الماده الفصل هاد بس لسا مو وصلنا نكتب برامج .. بس اكيد حستفيد منهم الايام الجايه .. يعطيكي العافيه ..
رد: أمثلة لمادة المايكرو يسلمو إيديكي شذى
رد: أمثلة لمادة المايكرو المشاركة الأصلية كتبت بواسطة saso 20 السلام عليكم اخت شذى يسلمو كتير شنوه الامثله اجت بوقتها عطلة مع ال ميكرو يعنى انشاءالله بنصير احنا والميكرو موجب*موجب وليس سالب*موجب بكرر شكري الك يا احلى ورده لا شكرعلى واجب .. وان شاء الله تستفيدو من الامثلة .. نورتي..
رد: أمثلة لمادة المايكرو السلام عليكم اخت شذى يسلمو كتير شنوه الامثله اجت بوقتها عطلة مع ال ميكرو يعنى انشاءالله بنصير احنا والميكرو موجب*موجب وليس سالب*موجب بكرر شكري الك يا احلى ورده
رد: أمثلة لمادة المايكرو TITLE Multiple Doubleword Shift (MultiShift.asm) ; Demonstration of multi-doubleword shift, using ; SHR and RCR instructions. ; Last update: 7/22/01 INCLUDE Irvine16.inc .data ArraySize = 3 array DWORD ArraySize dup(99999999h) ; 1001 pattern... .code main PROC mov ax,@data mov ds,ax call ClrScr call DisplayArray ; display the array ; Shift the doublewords 1 bit to the right: mov esi,0 shr array[esi+8],1 ; highest dword rcr array[esi+4],1 ; middle dword, include Carry flag rcr array[esi],1 ; low dword, include Carry flag call DisplayArray ; display the array exit main ENDP ;---------------------------------------------------- DisplayArray PROC ;---------------------------------------------------- pushad mov ecx,ArraySize mov esi,8 L1: mov eax,array[esi] call WriteBin ; display binary bits sub esi,4 Loop L1 call Crlf popad ret DisplayArray ENDP END main
رد: أمثلة لمادة المايكرو TITLE Multiplication Examples (Multiply.asm) ; Exmples of both signed and unsigned multiplication. INCLUDE Irvine16.inc .code main PROC mov ax,@data mov ds,ax mov ax,255 mov bx,255 imul bx ;Example 1 mov al,5h mov bl,10h mul bl ; CF = 0 ;Example 2 .data val1 WORD 2000h val2 WORD 0100h .code mov ax,val1 mul val2 ; CF = 1 ;Example 3: mov eax,12345h mov ebx,1000h mul ebx ; CF = 1 ; IMUL Examples: ; Example 4: .data val3 SDWORD ? .code mov eax,+4823424 mov ebx,-423 imul ebx ; EDX=FFFFFFFFh, EAX=86635D80h mov val3,eax exit main ENDP END main
رد: أمثلة لمادة المايكرو TITLE Extended Addition Example (ExtAdd.asm) ; This program calculates the sum of two 64-bit integers. ; Chapter 7 example. ; Last update: 07/18/01 INCLUDE Irvine16.inc .data op1 QWORD 0A2B2A40674981234h op2 QWORD 08010870000234502h sum DWORD 3 dup(?) ; = 0000000122C32B0674BB5736 .code main PROC mov ax,@data mov ds,ax mov esi,OFFSET op1 ; first operand mov edi,OFFSET op2 ; second operand mov ebx,OFFSET sum ; sum operand mov ecx,2 ; number of doublewords call Extended_Add mov esi,OFFSET sum ; dump memory mov ebx,4 mov ecx,3 call DumpMem exit main ENDP ;-------------------------------------------------------- Extended_Add PROC ; ; Calculates the sum of two extended integers that are ; stored as an array of doublewords. ; Receives: ESI and EDI point to the two integers, ; EBX points to a variable that will hold the sum, and ; ECX indicates the number of doublewords to be added. ;-------------------------------------------------------- pushad clc ; clear the Carry flag L1: mov eax,[esi] ; get the first integer adc eax,[edi] ; add the second integer pushfd ; save the Carry flag mov [ebx],eax ; store partial sum add esi,4 ; advance all 3 pointers add edi,4 add ebx,4 popfd ; restore the Carry flag loop L1 ; repeat the loop adc word ptr [ebx],0 ; add any leftover carry popad ret Extended_Add ENDP END main
رد: أمثلة لمادة المايكرو TITLE Set Cursor Example (SetCur.asm) ; Use the .IF and .ENDIF directives to perform ; run-time range checks on parameters passed to ; the SetCursorPosition procedure. ; Last update: 1/28/02 INCLUDE Irvine32.inc .code main PROC mov dl,79 ; X-coordinate mov dh,24 ; Y-coordinate call SetCursorPosition exit main ENDP SetCursorPosition PROC ; Set the cursor position. ; Receives: DL = X-coordinate, DH = Y-coordinate ; Checks the ranges of DL and DH. ;------------------------------------------------ .data BadXCoordMsg BYTE "X-Coordinate out of range!",0Dh,0Ah,0 BadYCoordMsg BYTE "Y-Coordinate out of range!",0Dh,0Ah,0 .code .IF (DL < 0) || (DL > 79) mov edx,OFFSET BadXCoordMsg call WriteString jmp quit .ENDIF .IF (DH < 0) || (DH > 24) mov edx,OFFSET BadYCoordMsg call WriteString jmp quit .ENDIF call Gotoxy quit: ret SetCursorPosition ENDP END main
قوانين المنتدى