;測試arraysum過程
.386
.model flat,stdcall
.stack 4096
exitprocess proto,dwexitcode:dword
.data
array dword 10000h,
20000h,
30000h,
40000h,
50000h
thesum dword ?
.code
main proc
mov esi,offset array ;esi指向陣列
mov ecx,lengthof array ;ecx=陣列計數器
call arraysum ;計算和數
mov thesum,eax ;用eax返回和數
invoke exitprocess,
0 main endp
;------
----
----
----
----
----
----
----
----
-------
;arraysum
;計算32位整數陣列之和
;接受:esi=陣列偏移量
; ecx=陣列元素個數
;返回:eax=陣列元素之和
;------
----
----
----
----
----
----
----
----
-------
arraysum proc
push esi
push ecx ;儲存esi以及ecx
mov eax,
0;設定和數為零
l1:add eax,
[esi]
add esi,type dword ;由於陣列定義為dword 所以在遞增計數器的時候一次性增加四個位元組但是為了不出錯起見 使用了type運算子
loop l1 ;按照陣列大小重複進行計算
pop esi
pop ecx ;暫存器數值復位
ret ;函式結束並返回
arraysum endp ;過程結束標誌
end ;程式結束
python學習之 017函式概述
練習 認識函式 在乙個完整的專案中,有些功能會反覆使用,那麼會將這個功能封裝成函式,當我們想使用功能的時候,直接呼叫函式即可 本質 函式就是對功能的封裝 優點 1.簡化 結構,增加 的重用度 2.如果想修改某些功能或者除錯某個bug,還需修改對應的函式即可 定義函式 格式 def 函式名 引數列表 ...
Win32彙編 陣列求和函式
32位陣列求和函式,esi 儲存陣列偏移,ecx 儲存陣列長度,同時用於 loop 計數,eax 返回和。386 model flat,stdcall stack 4096 exitprocess proto,dwexitcode dword data array dword 10000h,2000...
陣列求和問題
problem description 給定乙個長度為n的陣列,從這個陣列裡面隨機從前往後取m個數,使得這m個數的和是s,並且這m個數每相鄰的兩個數的下標相差為p。input 首先是乙個整數t,表示有t組資料,每組資料首先是四個整數,n 1 n 100000 m 1 m n s 0 s 10 9 p...