1樓:湯旺河邊
; 本程式通過編譯,執行正確。
code segment
assume cs:code,ds:coden equ 8
start: mov cx,n
cmp cx,1 ;n>1?
ja next ;是,階乘。
mov ax,1 ;n<=1,n!=1
jmp exit_proc
next: push cx
pop ax ;階乘初值。
dec cx ;減1
multi_self: mul cx
loop multi_self ;逐次減1相乘; 迴圈結束,ax=n!
exit_proc: mov ah,4ch ;結束程式int 21h
code ends
end start ;編譯到此結束。
組合語言 設計乙個子程式,可以根據輸入的n,計算並輸出n的3次方
2樓:網友
code segement
mov ah,1
mov dl,al//輸入乙個數n
int 21h
mov al,dl
mul al,al//n三次方。
mul al,dl
mov dl,al
mov ah,9
int 21h//輸出n的三次方htl
用組合語言如何編寫計算n!的程式(利用迴圈結構程式編寫)
3樓:網友
so easy!
把n置到計數器,每次減1,算乘法,loop.
源**就不給了,自己想象把。
使用組合語言寫課程設計
4樓:網友
彙編,好久沒用的語言了。。難度不小啊 。
用組合語言編寫「計算1+2*3+3*4...+n*(n+1)」的程式
5樓:網友
m equ 自行du定義,界定迴圈zhi次數n equ #
s equ #
start:lda #(n-1)
loop:inca ;a寄存dao器值加一。
mov a,b ;把a暫存器值放到b暫存器中incb
jsr count ;跳轉內到count子程式,進行計容算cmpa #m ;判斷迴圈條件blo loop ;小於m的話繼續迴圈print:輸出。
count:mul a,b
rts對應c**如下:
#define m 自行定義,界定迴圈次數main()
printf("d%",s);}
用組合語言編寫的程式必須經過()翻譯成目標程式後,才能被計算機直接識別和執行
按照規範的說法,應該是彙編程式。c語言的源程式,才用編譯程式。但是,目前,根本沒有必要摳這個字眼。用高階語言編寫的程式必須經過 翻譯成機器語言程式,計算機才能執行。急急急急!編譯程式。編譯程式的最終目標是將源程式編譯成目標程式。編譯程式是把用高階程式設計語言書寫的源程式,翻譯成等價的機器語言格式目標...
用組合語言編寫求一組數的平均值怎麼寫
舉例 r1,r2,r3中的三個數求平均 mov a,r1 addc a,r2 addc a,r3 mov b,3 div ab 組合語言中求一組正數的和並求出平均值 組合語言中怎樣算平均值 首先把這些數值累加起來,然後除以這些資料的數量比如 add ax,49 假設數量是8個 mov bx,8 di...
如何用組合語言實現微控制器比較轉移
pan clr cy mov 30h,a subb a,10 jb cy,prog1 mov a,30h clr cy subb a,20 jb cy,prog2 mov a,30h clr cy subb a,30 jb cy,prog3 prog1 nop prog2 nop prog3 nop...