在下面的資料段中,給出了全班5名同學os、al、se、db課程的成績,請程式設計計算出總成績,寫在0值處
datasg segment
dw 54, 74, 71, 52, 0
dw 68, 54, 93, 95, 0
dw 81, 52, 97, 67, 0
dw 98, 77, 69, 99, 0
dw 79, 71, 69, 73, 0
datasg ends
[參考解答]
assume cs:codesg,ds:datasg, ss:stacksg
datasg segment
dw 54, 74, 71, 52, 0
dw 68, 54, 93, 95, 0
dw 81, 52, 97, 67, 0
dw 98, 77, 69, 99, 0
dw 79, 71, 69, 73, 0
datasg ends
stacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends
codesg segment
start:
mov ax, stacksg
mov ss, ax
mov sp, 16
mov ax, datasg
mov ds, ax
mov bx, 0
;基址mov cx, 5
;外層迴圈次數
s0: push cx ;儲存外層迴圈數
mov si, 0
;[bx+si]將是要處理的數值
mov cx, 4
;設定內層迴圈次數
mov ax, 0
;用於儲存累加和
s: add ax, [bx+si] ;取成績
add si, 2
loop s
mov [bx+si], ax ;儲存和
add bx, 10
;下一位同學成績的基址
pop cx ;恢復外層迴圈
loop s0
mov ax,4c00h
int 21h
codesg ends
end start
匯程式設計序 求最大數
任務 求最大數 在buffer處給出了多個無符號數,請找出其中的最大值,放至max指定的儲存單元中。data segment buffer dw 35098,17758,54582,61504,46054,58513,4409,7902,14255 dw 40623,47645,15575,5157...
匯程式設計序 退出
作為第乙個匯程式設計序,本程式除了退出以外,並沒有執行其他的功能。目的 退出並向linux核心返回乙個狀態碼的簡單程式 輸入 無 輸出 返回乙個狀態碼.在執行程式後可通過輸入echo 來讀取狀態碼 變數 eax儲存系統呼叫號 ebx儲存返回狀態 section data section text g...
微機匯程式設計序
又是自學的一學期,呵呵。學到最後也就知道零星半點指令吧,複雜的程式可能還是不怎麼會寫,熟練當然也不敵c了,但是彙編之於嵌入式,往上走肯定少不了遇到,學好還是必要的!此次僅作入門吧。今日所學,明日之用。1 統計正負零的個數 datas segment array db 1,2,1,0,2,0,2,4,...