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 ...