求彙編程式,從1累加到100,並逐步顯示的程式。第一行顯示

2022-03-13 05:09:21 字數 5271 閱讀 5967

1樓:永恆

code  segment

assume cs:code

org 100h

start:jmp begin

begin:push cs

pop ds

push cs

pop es

mov cx,100

mov ax,0

mov bx,1

again:

add ax,bx

call dispaxs

push ax

push dx

mov ah,2

mov dl,13

int 21h

mov dl,10

int 21h

pop dx

pop ax

inc bx

loop again

mov ah,4ch

int 21h

;****************************************=

; 將要顯示的有符號數置於 ax 中

dispaxs  proc      near

push      ax

push      bx

push      cx

push      dx

push      si

push      di

push      bp

push      ds

push      es

pushf

push      cs

pop       ds

push      cs

pop       es

mov       cx,6

lea       di,dispaxss

@dispaxs:

mov       byte ptr [di],32

inc       di

loop      @dispaxs

push      ax

mov       dl,32

mov       ah,2

int       21h

pop       ax

mov       byte ptr nzs,0

mov       byte ptr signs,0

cmp       ax,0

jge       @dispaxs0

mov       byte ptr signs,1

neg       ax

@dispaxs0:

push      ax

lea       si,divarrs

lea       di,dispaxss

inc       di

mov       cx,5

@dispaxs1:

pop       ax

mov       dx,0

mov       bx,[si]

div       bx

push      dx

cmp       al,0

jne       @dispaxs2

cmp       byte ptr nzs,1

je        @dispaxs2

cmp       cx,1

je        @dispaxs2

mov       dl,20h

jmp       @dispaxs3

@dispaxs2:

add       al,30h

mov       dl,al

mov       byte ptr nzs,1

@dispaxs3:

mov       byte ptr[di],dl

inc       si

inc       si

inc       di

loop      @dispaxs1

pop       dx

cmp       byte ptr signs,1

jne       @dispaxs6

lea       si,dispaxss

add       si,5

@dispaxs4:

cmp       byte ptr [si],32

je        @dispaxs5

dec       si

jmp       @dispaxs4

@dispaxs5:

mov       byte ptr [si],'-'

@dispaxs6:

lea       dx,dispaxss

mov       ah,9

int       21h

popf

pop       es

pop       ds

pop       bp

pop       di

pop       si

pop       dx

pop       cx

pop       bx

pop       ax

retdivarrs  dw        10000,1000,100,10,1

nzs  db        0

signs  db        0

dispaxss  db        32,32,32,32,32,32,'$'

dispaxs  endp

;******************************====

code  ends

end start

2樓:一隻喜麻雀

太難了~~~~(>_<)~~~~

組合語言 編寫程式實現自然數1到100的累加。要求用兩種方法來程式設計實現。

3樓:

第一種:

mov cx,100

mov ax,0

mov bx,1

again:add ax,bx

inc bx

loop again

第二種mov cx,100

mov ax,0

loop1:add ax,cx

loop loop1

截圖靠自己吧~記得給分啊(*^__^*) 嘻嘻……

用c語言編寫程式,求1+1/(1+2)+1/(1+2+3)+... +1/(1+2+...+n),並將結果存放到s。

4樓:匿名使用者

#include

int main()

printf("%g",s);

return 0;

}需注意詹俊峰給的是典型的錯誤答案,請樓主思考為什麼。

5樓:匿名使用者

#include

float ff(int n)

return sum;

}void main()

6樓:詹俊峰

float a=0,b=1,s=0;

int i,n;

scanf("%f",&n);

for(i=0;i

printf("s=%f",s);

7樓:匿名使用者

# include

#include

float fun(int n)

return s;

}main()

用微控制器組合語言編寫1+2+3 +‥‥‥+99+100的求和運算程式, 結果用十進位制顯示在微控制器實驗系統數碼管上。

8樓:匿名使用者

設ax=1 bx=0 axx =0 bxx=0loop:

mov a,ax

add a,bx

daa bx ;ax+bx換做10進位制放入bxmov a,axx

adc a,bxx

daa bxx ;axx帶進位標誌+bxx換做10進位制放入bxx

mov a,1h

add a,ax

daa ax 遞增ax(10進位制)mov a,00h

xor a,ax

snz z ax=0結束 ≠0迴圈jmp loopend

c語言迴圈題!編寫一個程式,求s=1+(1+2)+(1+2+3)+...+(1+2+3+...+n)。

9樓:凌亂心扉

#include

main()

}printf("%d\n",sum);}

10樓:匿名使用者

修改如下

#include

int main(void)

printf("%d\n",s);

return 0;

}圖為原程式在第二層迴圈加了個輸出,查出第二層迴圈有問題。

11樓:匿名使用者

3個錯誤:

1、第9行,item=1應該是item=02、第10行,j<=n應該是j<=i

3、第14行,%d應該是%lf

除此之外:思路很蠢,演算法過於複雜,對於每個累加項,每次都要從1開始加。

#include

void main()

printf("%d\n",s);}

12樓:福建省寧德市

首先,你輸出的格式不對,s是double型的數,你卻寫了%d,應該改為printf(%f\n",s)

其次,你迴圈條件設的不對,裡面的j迴圈條件應該改為for(j=1;j<=i;j++)

還有就是item的值設定為0比較好,這樣比較好計算修改後的**如下

#include

int main(void)

printf("%f\n",s);

return 0;}

13樓:匿名使用者

這種找規律的迴圈體寫一個統一的結構就行

14樓:兄弟連教育北京總校

#include

void main()

printf("%d",s);}

15樓:sin絕望

#include

void main()

else

z=y/x;

}printf("y=%f",z);}

彙編程式sbb指令,彙編程式SBB指令

學校畢業後就沒用過彙編了,sbb指令 一看還以為是sb的暱稱呢 sbb指令 sbb是帶借位減法專指令,它利用 屬了cf位上記錄的借位值。指令格式 sbb 操作物件1,操作物件2 功能 操作物件1 操作物件1 操作物件2 cf若ax 1020h,bx 1200h,cf 1,則sbb ax,bx的執行後...

彙編程式1 2 3 99 ? 的程式

sseg segment stack stk db 50 dup 0 sseg ends dseg segment count equ 99 result dw dseg ends cseg segment assume ds dseg,cs cseg,ss ssegstart mov ax,dse...

微控制器彙編程式,微控制器(組合語言)程式

這個是外部擴充套件的ram,fef0h是存資料的地址,mov dptr 0fef0h是給資料指標賦值,movx dptr,a是間接定址,將a中資料送到外部ram的fef0h中,中斷服務程式後面應該有reti,挺容易的,看看書,這例題允許了中斷,給出了中斷處理程式,自己看書學得較為深刻。ofefoh指...