با استفاده از دستورات Lods و Stos حروف کوچک یک رشته به حروف بزرگ تبدیل شود
سلام خسته نباشید
من یک سوال درسی داشتم خودم خیلی فکر کردم ولی فقط نصفش رو تونستم حل کنم. لطفا سریع تر جوابم رو بدید چون پروژه درسی است.
عنوان سوال:
با استفاده از دستورات Lods و Stos در اسمبلی حروف کوچک یک رشته به حروف بزرگ تبدیل شود و حروف بزرگ در رشته تغییری حاصل نشود. حداکثر اندازه رشته 50 کارکتر می باشد.
( رشته از ورودی دریافت شود و در چند سطر پایین تر چاپ شود).
لطفا هر چی زودتر جواب من رو بدید. من منتظرم.
ممنون
نقل قول: با استفاده از دستورات Lods و Stos حروف کوچک یک رشته به حروف بزرگ تبدیل شود
ممنون از کدی که نوشتی ولی من کد کاملش رو می خوام همراه باچیزهایی که در دیتا سگمنت باید بنویسم که دقیقا مشخص باشه هر خطی چه کاری می کنه.
ممنون از همکاریتون.
من منتظر هستم
نقل قول:
نوشته شده توسط
MostafaMohammadi
این کد حروف بزرگ رو به کوچیک تبدیل میکنه، خط 6 و 7 رو باید تغییر بدی.
mov( StringAddress, esi ); // Load string address into ESI.
mov( esi, edi ); // Also point EDI here.
mov( (type str.strrec [esi].length, ecx );
repeat
lodsb(); // Get the next character in the string.
if( al in ’A’..’Z’ ) then
or( $20, al ); // Convert upper case character to lower case.
endif;
stosb(); // Store converted character back into string.
dec( ecx );
until( ecx == 0 );
نقل قول: با استفاده از دستورات Lods و Stos حروف کوچک یک رشته به حروف بزرگ تبدیل شود
ممنون از کدی که نوشتی ولی من کد کاملش رو می خوام همراه باچیزهایی که در دیتا سگمنت باید بنویسم که دقیقا مشخص باشه هر خطی چه کاری می کنه.
ممنون از همکاریتون.
من منتظر هستم
نقل قول: با استفاده از دستورات Lods و Stos حروف کوچک یک رشته به حروف بزرگ تبدیل شود
من این کد رو از کتاب The Art of Assembly Language نوشتم. نمیدونم چطور باید برنامه کامل اش رو به زبان اسمبلی بنویسید.
نقل قول: با استفاده از دستورات Lods و Stos حروف کوچک یک رشته به حروف بزرگ تبدیل شود
کتاب زبان ماشین و برنامه سازی سیستم - داریوش نیکمهر رو دانلود کنید ، فصل کار با رشته ها همراه با مثاله، چند صفحه بیشتر نیست بخونید مشکلتون حل میشه.
موفق باشید.
نقل قول: با استفاده از دستورات Lods و Stos حروف کوچک یک رشته به حروف بزرگ تبدیل شود
نقل قول:
نوشته شده توسط
mohsen_55
سلام خسته نباشید
من یک سوال درسی داشتم خودم خیلی فکر کردم ولی فقط نصفش رو تونستم حل کنم. لطفا سریع تر جوابم رو بدید چون پروژه درسی است.
عنوان سوال:
با استفاده از دستورات Lods و Stos در اسمبلی حروف کوچک یک رشته به حروف بزرگ تبدیل شود و حروف بزرگ در رشته تغییری حاصل نشود. حداکثر اندازه رشته 50 کارکتر می باشد.
( رشته از ورودی دریافت شود و در چند سطر پایین تر چاپ شود).
لطفا هر چی زودتر جواب من رو بدید. من منتظرم.
ممنون
section .text
global _start ;must be declared for using gcc
_start: ;tell linker entry point
mov ecx, len
mov esi, s1
mov edi, s2
loop_here:
lodsb
or al, 20h
stosb
loop loop_here
cld
rep movsb
mov edx,20 ;message length
mov ecx,s2 ;message to write
mov ebx,1 ;file descriptor (stdout)
mov eax,4 ;system call number (sys_write)
int 0x80 ;call kernel
mov eax,1 ;system call number (sys_exit)
int 0x80 ;call kernel
section .data
s1 db 'HELLO, WORLD', 0 ;source
len equ $-s1
section .bss
s2 resb 20 ;destination