PDA

View Full Version : شمارش صفر و یک های یک بایت



s4lish
یک شنبه 27 دی 1388, 08:58 صبح
سلام دوستان....من می خواستم که برنامه ای بنویسم که تعداد صفر و یک های یک بایت رو برام چاپ کنه..
من این کارو با شیفت انجام می دم و وقتی محتویات بایت وارد cf می شه نمی تونم اونو مقایسه کنم..چطور می شه محتویات کری فلگ رو مقایسه کرد....
مثلا نمیشه این کارو انجام داد.(cmp cf,1)
پس چطور میشه؟

mehrara_bolouri
یک شنبه 27 دی 1388, 11:46 صبح
salam in barname mi2ne tedad sefrhaye mabnaye 2 ro chap kone
0model small
0stak 128
0data
x db 0
.code
main proc far
mov ax,@data
mov ds,ax
mov ah,01h
mov 21h
sub al,48
mov cx,8
l1:
shr al,1
jc l2
inc x
l2:
loop l1
mov ah,02h
mov dl,x
int 21h
mov ah , 4ch
int 21h
main endp
end mani

sjhosseini
دوشنبه 28 دی 1388, 02:29 صبح
mov ax,0011_1111_1000_0000b

xor bl,bl
mov dh,16

do_again:
SHL ax,1
jnc next_bit
inc bl
next_bit:
dec dh
jnz do_again