組合語言 1 100的奇數和跟偶數和

時間 2022-06-23 14:05:02

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位的,放不下這麼大的值。樓上關於 段是若干棟樓,偏移量是門牌號 的比喻不太準確,因為一個實體地址可以由不同的段址 偏移量組合來訪問。建議這樣來理解,記憶體是一條長長的直路,偏移量是眼睛的視力範圍,太遠就看不見了。而...