用組合語言編寫一完整程式,用組合語言編寫乙個程式。

時間 2022-04-16 17:39:31

1樓:匿名使用者

;江西理工大學

;今天下午剛好咱們上機課,做了這個題,給你完整答案如下:

datas segment

;此處輸入資料段**

buff dw 5,25,55,115,138,159,196,163,20,255

dat dw 0

show db 4 dup(0),'$'

datas ends

stacks segment

;此處輸入堆疊段**

stacks ends

codes segment

assume cs:codes,ds:datas,ss:stacksstart:

mov ax,datas

mov ds,ax

;此處輸入**段**

mov dx,0

mov ax,0

mov cx,10 ;迴圈次數設定

mov si,offset buff

lop1: ;求和

add ax,[si]

add si,2 ;由於資料是dw的,所以位址每次加2loop lop1

mov cl,10

div cl ;求平均,al儲存了平均值,ah儲存了餘數;mov cl,1000

mov ah,0 ;分解for顯示,求餘得到從個位到千位div cl

mov show+3,ah;

add show+3,48

;mov cl,100

mov ah,0

div cl

mov show+2,ah;

add show+2,48

;mov cl,10

mov ah,0

div cl

mov show+1,ah;

add show+1,48

mov show+0,al;

add show+0,48

mov ah,09h ;顯示輸出

mov dx,offset show;

int 21h

mov ah,4ch

int 21h

codes ends

end start

2樓:精品建築電氣

簡單呀,首位址為buff,那麼可以這樣編寫哦:

mov r0,#buff

mov r1,#0ah //設定個數

clr a

loop: add a,@r0

inc r0

djnz r1,loop //判斷10個數加完了沒有

mov b,#0ah //設定除數

div ab //最後得到的結果商存於a中,有餘數的話存於b中

mov dat,a //最後在把平均值存於dat中

end //結尾要打end符合哦,不然會報錯!

------more(微控制器高手)

3樓:匿名使用者

先讀首位址然後位址遞增相加,最後除以總數就行了

4樓:

mov si,offset buff

mov di,offset dat

mov cx,0ah

lop10:

add al,[si]

adc ah,0

inc si

loop lop10

mov cx,0ah

div cl

mov [di],al

5樓:楊立景

我不會彙編,只懂得c++

用組合語言編寫乙個程式。 5

6樓:夢裡尋你我他

1樓那個**是可以,但是其實可以更簡單,

小寫字母內碼範圍是61h-7ah

大寫字母內碼範圍是41h-5ah

那麼只要比較輸入的字元內碼是否在61h-7ah之間如果是,則將其減去20h,就是大寫字母了

7樓:

;------------------------------------

print macro para ; 定義乙個顯示字串的巨集

lea dx, para

mov ah, 9

int 21h

endm

;------------------------------------

dseg segment

msg_lower db ' lower', 0dh, 0ah, 24h

msg_upper db ' please enter a lowercase letter', 0dh, 0ah, 24h

msg_enter db 0dh, 0ah, 24h

msg_no db ' no', 0dh, 0ah, 24h

msg1 db 'please press a key (press [esc] key to end program): $'

dseg ends

;------------------------------------

cseg segment

assume cs:cseg, ds:dseg

start:

mov ax, dseg

mov ds, ax

;------------------------

lb_1:

print msg1 ;顯示提示資訊

mov ah, 1

int 21h ;輸入乙個字元

cmp al, 1bh ;是[esc]?

jz exit

cmp al, 'a' ;小於'a'?

jb lb_no

cmp al, 'z' ;大於'z'?

ja lb_no

cmp al, 'z' ;小於等於'z'?

jbe uuu

cmp al, 'a' ;小於'a'?

jb lb_no

;------------------

print msg_lower

jmp lb_1

uuu:

add al,20h

mov dl,al

mov ah,2

int 21h

print msg_enter

jmp lb_1

lb_no:

print msg_no

jmp lb_1

;------------------------

exit:

mov ax, 4c00h

int 21h

cseg ends

end start

用組合語言編寫乙個程式

8樓:匿名使用者

;求1到20偶數之和

datas segment

;此處輸入資料段**

min dw 1 ;最小值

max dw 20 ;最大值

sum dw 0 ;偶數和,初值=0

datas ends

codes segment

assume cs:codes,ds:datasstart:

mov ax,datas

mov ds,ax

;此處輸入**段**

mov ax,min

mov cx,max

;得到數字總數,cx儲存

sub cx,ax

inc cx

l1:;檢查ax是否為偶數,判斷其最低二進位制位是否為0即可:為0,則ax為偶數;為1,則ax為奇數

test ax,1

jnz l2 ;若為奇數,跳到下乙個數

add sum,ax ;偶數和

l2:inc ax

loop l1

mov ah,4ch

int 21h

codes ends

end start

9樓:

mov a,#0

mov b,#0

loop:

inc b

inc b ;b完成自加2,到下乙個偶數add a,b

mov r7,b

cjne r7,#20, loop ;未加到20則繼續end ;哈哈,大功告成啦,結果儲存在a中了

10樓:

mov ax,0

mov bl,0

mov cx,10

next:

add al,bl

inc bl

inc bl

loop next

結果在ax中.

用組合語言編寫乙個簡單程式

11樓:匿名使用者

push ax

push bx

pop ax

pop bx

核心**

用組合語言編寫一段程式

12樓:專注51微控制器

delay:

mov r2,#40    ;外層迴圈40次   1dly:

mov r3,#250    ;內層迴圈249次 1*40djnz r3,$    ;內層迴圈    2*249*40djnz r2,dly    ;外層迴圈  2*40ret    ;2

總共延時:1+40+2*249*40+2*40+2=20043us

用組合語言編寫的程式稱為?

13樓:

才是程式用組合語言編寫的實用程式通常稱為

----

用組合語言編寫的、連線之後,生成的

exe檔案,根本就不是程式。編譯

14樓:沙里波特

--------

用組合語言編寫的,還不是程式。

用組合語言編寫的,僅僅是「源**」檔案。

要經過「彙編」、「連線」之後,才是程式。

用組合語言編寫乙個簡單程式?

15樓:匿名使用者

如果不要求用函式子程式實現,右邊這個就是答案。

16樓:匿名使用者

右邊這個社組合語言,但是不是左邊的這個程式,那就不清楚了。

17樓:沙里波特

針對 5 個數,分別求其 sgn(x),程式並不難。

圖二的程式也算正確,但是,還不能說是「簡單」程式。

用組合語言編寫小小程式,用組合語言編寫乙個小小程式

這個還不簡單 includevoid main 如何用組合語言寫個小程式 hello word!堆疊段 stack segment stack db 100 stack ends 資料段 data segment szhello db hello,word 0dh,0ah,data ends 段 c...

利用組合語言編寫程式,利用組合語言編寫程式

採納答案,用錯了語言。題目說 片內ram.這應該是 51 微控制器的。下面的程式,是求a b的平方和,存入c單元。mov a,30h call fing fang mov 32h,a mov a,31h call fing fang add a,32h mov 32h,a sjmp fing fan...

使用組合語言寫課程設計,用組合語言如何編寫計算n!的課程設計

彙編,好久沒用的語言了。難度不小啊 用組合語言如何編寫計算n!的課程設計 本程式通過編譯,執行正確 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...

組合語言進製轉換,怎麼用組合語言編寫乙個16進製制轉換成2進製數的程式

比如若在某儲存區中已輸入4個ascii碼表示的的16進製制數碼 高位在前 把它們轉換為2進製資料放入bx暫存器對中,並顯示在螢幕上。可以這樣 data segment buff db 31h,32h,41h,42hnum db 16 dup 0 data ends code segment assu...

組合語言跑馬燈問題,用組合語言編寫跑馬燈程式

沒有電路圖,就8位led,直接用p口就可以了。org 0000h ljmp main org 000bh ljmp t0isr org 0030h main mov tmod,01h mov th0,high 65536 50000 mov tl0,low 65536 50000 setb tr0 ...