1樓:綠葉楓
奇數部分:
mov r1 0 //用於存放累加後結果資料
mov r0 100 //迴圈變數
start: mov a r0 //將要判斷的資料為二進位制資料,只看最後一位便知奇偶
rrc a //最後低位移入「c」
jnc no //「c」為「0」說明是偶數,跳至「no」
add r1 r0
no: clr c
djnz r0 start //迴圈一百次後結束,累加結果儲存在r1中
end偶數部分:
mov r1 0 //用於存放累加後結果資料
mov r0 100 //迴圈變數
start: mov a r0 //將要判斷的資料為二進位制資料,只看最後一位便知奇偶
rrc a //最後低位移入「c」
jc no //「c」為「1」說明是奇數,跳走
add r1 r0
no: clr c
djnz r0 start //迴圈一百次後結束,累加結果儲存在r1中
end夥計,你看好了,這是51系列微控制器下的彙編,我要的就是在代進位位情況下的右移,要的就是把資料的一位溢位到「c」中,以達到提取該位的目的。不溢位才真正壞菜。
2樓:
語序不同
;奇數和
code segment
assume cs:code,ds:codestart:mov ax,code
mov ds,ax
mov ax,0 ;累加器清0
mov cx,100
l1: dec cx ;cx-1
add ax,cx ;加奇數
loop l1 ;cx-1
mov sum,ax ;累加和送記憶體
mov ah,0
int 16h
mov ax,4c00h
int 21h
sum dw ?
code ends
end start
;偶數和
code segment
assume cs:code,ds:codestart:mov ax,code
mov ds,ax
mov ax,0 ;累加器清0
mov cx,100
l1: add ax,cx ;加偶數
dec cx ;cx-1
loop l1 ;cx-1
mov sum,ax ;累加和送記憶體
mov ah,0
int 16h
mov ax,4c00h
int 21h
sum dw ?
code ends
end start
用匯編實現1-10所有偶數的和
組合語言中奇數和偶數是通過什麼語句區分出來的?
3樓:匿名使用者
組合語言中不用管資料位寬是多少,奇數和偶數的判別都是判斷最低位d0,d0是1則該資料是奇數,d0是0則該資料是偶數。
區分奇數和偶數通過能夠對資料位進行判斷的語句,不止一種。
假如是51微控制器彙編(不同組合語言判斷語句不同):
判斷累加器a中資料的奇偶可以使用如下語句:
jb acc.0,data0;如果d0=1,是奇數,跳轉到data0繼續執行程式
nop ;否則就是偶數,實際程式以具體語句代替nop
data0:
或者像下面:
jnb acc.0,data1;如果d0=0,是偶數,跳轉到data1繼續執行程式
nop ;否則就是奇數,實際程式以具體語句代替nop
data1:
4樓:胖大海君
把需要判斷的奇偶數,通過傳送指令,傳送給累加器a就可以了,如果(a)的內容為奇數 則程式狀態字中的奇偶標誌位p=1,否則奇偶標誌位p=0,表示(a)的內容為偶數。
例如:想要判斷片內ram40h單元的內容,如果是偶數,將50h單元清零;如果是奇數,將50h單元置為0ffh.
mov a,40h
jb p,ll
mov 50h,#0
sjmp llp
ll: mov 50h,0ffhllp: sjmp llp
5樓:匿名使用者
檢測最低位是否為零
test al, 1
jz even ;偶數
odd:
;奇數even:
請教「求1到100之間所有偶數的和」的組合語言程式是什麼?
6樓:彌書笪英哲
1全部intbeven(int
num)
intmain()
printf("100以內(含100)偶數和為%d\n",sum);
return0;}
7樓:匿名使用者
mov cx,50
mov ax,0
mov bx,2
again: add ax,bx
inc bx
inc bx
loop again
8樓:匿名使用者
沒用過,可以試試迴圈
9樓:
應該只能用兩層迴圈吧,判斷是偶數的話就求和
組合語言中奇數和偶數是通過什麼語句區分出來的
10樓:匿名使用者
奇數和偶數是通過判斷改資料的最低位是1還是0來確定的。所以可以通過位操作指令來實現。
mov a,#data
jb acc.0,next
//偶數
.....
next:
//奇數
什麼是組合語言,什麼是彙編和組合語言?
叢依波弘瀾 組合語言 assembly language 是面向機器的程式設計語言。在彙編語閤中,用助記符 memoni 代替操作碼,用地址符號 symbol 或標號 label 代替地址媽。這樣用符號代替機器語盲的二進位制碼,就把機器語音變成了組合語言。於是組合語言亦稱為符號語言。使用組合語言編寫...
用組合語言程式設計,計算1到20之間的奇數和
羽翼灬靈魂 pascal行嗎?var i,s integer begin s 0 for i 1 to 20 do if i mod 2 0 thens s i writeln s end.啊,看錯了,以為是程式語言,sorry 影者東昇 data segment sum1 dw 0 sum2 dw...
和組合語言有關的問題,關於組合語言的一個問題
bx為例,其實體地址 ds 16 bx。但你算這個值沒什麼用,因為所有的暫存器都是16位的,放不下這麼大的值。樓上關於 段是若干棟樓,偏移量是門牌號 的比喻不太準確,因為一個實體地址可以由不同的段址 偏移量組合來訪問。建議這樣來理解,記憶體是一條長長的直路,偏移量是眼睛的視力範圍,太遠就看不見了。而...