سلام دوستان اگه ممكنه كمكم كنين لطفا
برنامه اي به زبان اسمبلي كه با نمايش پيغام enter a characterدر وسط صفحه نمايش يك كاراكتر را از كاربر بگيرد وتعداد 1 هاي موجود در كد اسكي انرا شمارش كرده ودر يك متغير در حافظه ذخيره كند
Printable View
سلام دوستان اگه ممكنه كمكم كنين لطفا
برنامه اي به زبان اسمبلي كه با نمايش پيغام enter a characterدر وسط صفحه نمايش يك كاراكتر را از كاربر بگيرد وتعداد 1 هاي موجود در كد اسكي انرا شمارش كرده ودر يك متغير در حافظه ذخيره كند
با سلام
خوب برای پیدا کردن یک های یک کاراکتر باید بیت به بیت کاراکتر رو چک کنید.
مثلا برای اینکه بفمیم بیت اول حرف g که میشه 01100111 یک هست باید با مقدار 00000001 عمل AND انجام بگیره
اگه جواب صفر شد یعنی بیت مورد نظر یک نیست و اگر غیر صفر شد یعنی بیت مورد نظر یک هست.
برای بیت دوم باید 00000001 رو ضرب در 10 (در مبنای دو) کنید و عمل AND رو انجام بدید و الا آخر
من براتون همین قسمت رو نوشتم که بهتر متوجه بشین ولی نمایش پیام وسط صفحه و گرفتن کرارکتر با خودتون
شاد باشیدکد:push bx
mov cl, 8
xor ax, ax
xor dx, dx
xor bx, bx
mov al, 00000001b
_LP:
mov dl, byte ptr[char]
and dl, al
mul byte ptr [n]
test dl, dl
jnz _NZ
jmp _Z
_NZ:
inc bl
_Z:
dec cl
test cl, cl
jnz _LP
mov byte ptr[count], bl
pop bx