پرش به


تصویر
- - - - -

تعویض کاراکترهای m با l در یک رشته با زبان اسمبلی

ریزپردازنده اسمبلی آزاد بندرعباس ابوالفضل عربی زبان ماشین و اسمبلی ریزپردازنده و اسمبلی

  • لطفا وارد حساب کاربری خود شوید تا بتوانید پاسخ دهید
بدون پاسخ

#1 ابوالفضل عربی

ابوالفضل عربی

    Administrator

  • مدیران ارشد
  • 99 ارسال
  • مکان : بندرعباس ، تهران

ارسالی 13 December 2017 - 06:32 PM

با عرض سلام و درود.

برنامه ای بنویسید که با استفاده از زبان اسمبلی از ورودی رشته ای را حاوی کارکترهای m و l دریافت نموده و کاراکترهای M وL درون این رشته را با هم تعویض نماید.

 

جواب :

;Change m Char with L char 
.386
.MODEL FLAT

ExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORD

INCLUDE io.h            ; header file for input/output

cr      EQU     0dh     ; carriage return character
Lf      EQU     0ah     ; line feed

.STACK  4096            ; reserve 4096-byte stack

.DATA                   ; reserve storage for data
prm   byte    cr,Lf , "Enter String ",0
string  BYTE    40 DUP (?)
.CODE                           ; start of main program code
_start:
        output   prm            ;output prompt for input string
        input   string, 40      ; read ASCII characters
		mov    edx,offset string   ; mov offset address to edx registers
	f:
	    mov  al,[edx] ;mov offset variables to al register
		cmp  al,0     ;cmp for detect end of string
		je   endF     ;jump to end of loop
		cmp   al,'l'  ; cmp al register with l char
		je    chgL    ;jump for change l Char
		cmp   al,'m'  ; cmp al register with m char
		je     chgM   ;jump for change m Char
	endCmp:
		inc edx    ;increment offset Address
		jmp  f     ;jump to fist Loop    
	endF:
	output string    ;output string variables
	jmp   endFunc    ;jump to end of function

	chgL:
	    mov   al,'m'   ;change m with l
	    mov   [edx],al	;mov m char to input string with al registers	
	    jmp    endCmp   ;jump to end of cmp 
	chgM:
	     mov   al,'l'  ;change l with m
	     mov   [edx],al ;mov l char to input string with al registers
	    jmp    endCmp    ;jump to end of cmp 
	   
	   endFunc: ;End of Programs
        INVOKE  ExitProcess, 0  ; exit with return code 0

PUBLIC _start                   ; make entry point public

END                             ; end of source code



ابوالفضل عربی
شماره تماس : 09380291826

ایمیل دانشگاهی : abolfazl.arabi@iauba.ac.ir
ایمیل  کاری : info@IranDelphi.ir






همچنین به ریزپردازنده, اسمبلی, آزاد بندرعباس, ابوالفضل عربی, زبان ماشین و اسمبلی, ریزپردازنده و اسمبلی نیز برچسب خورده است

0 کاربر در حال خواندن این موضوع است

0 کاربر، 0 مهمان و 0 عضو مخفی

صفحه ی اینستاگرام  دانشگاه آزاد اسلامی واحد بندرعباس