題目要求大意:html
在數據段指定一組數據,對該組數據進行:正負分類,分別記下兩類的絕對值之和與個數只和spa
參考代碼:code
include irvine32.inc .data arr dd 0,-1,1,-2,2,-3,3 count dd ($-arr)/4 sum1 dd 0 sum2 dd 0 cou1 dd 0 cou2 dd 0 I dd -1 ;1表示正記錄,2表示負記錄 .code main PROC lea esi,arr mov ecx,0 ;把每一個數據取出 lop: mov ebx,[esi+4*ecx] add ecx,1 ;判斷正負數 cmp ebx,0 jl L1 ;原本用neg編譯錯誤 ;跳到負數狀況 add sum1,ebx ;正數狀況 add cou1,1 jmp next L1: add sum2,ebx add cou2,1 jmp next next: cmp ecx,count jb lop mov eax,sum2 imul I ;帶符號乘法 mov sum2,eax ;11111111111111111111111111111111111111111111111111111111111111 mov eax,666666 call writeint push eax mov eax,sum2 ;11111111111111test call writeint ;11111111111111 pop eax push eax mov eax,cou2 ;11111111111111test call writeint ;11111111111111 pop eax push eax mov eax,sum1 ;11111111111111test call writeint ;11111111111111 pop eax push eax mov eax,cou1 ;11111111111111test call writeint ;11111111111111 pop eax mov eax,9999999 call writeint ;2222222222222222222222222222222222222222222222222222222222222222 exit main ENDP end main
跳轉指令:htm
(該部分來自:https://www.cnblogs.com/del/archive/2010/04/16/1713886.html)blog
JE ;等於則跳轉 JNE ;不等於則跳轉 JZ ;爲 0 則跳轉 JNZ ;不爲 0 則跳轉 JS ;爲負則跳轉 JNS ;不爲負則跳轉 JC ;進位則跳轉 JNC ;不進位則跳轉 JO ;溢出則跳轉 JNO ;不溢出則跳轉 JA ;無符號大於則跳轉 JNA ;無符號不大於則跳轉 JAE ;無符號大於等於則跳轉 JNAE ;無符號不大於等於則跳轉 JG ;有符號大於則跳轉 JNG ;有符號不大於則跳轉 JGE ;有符號大於等於則跳轉 JNGE ;有符號不大於等於則跳轉 JB ;無符號小於則跳轉 JNB ;無符號不小於則跳轉 JBE ;無符號小於等於則跳轉 JNBE ;無符號不小於等於則跳轉 JL ;有符號小於則跳轉 JNL ;有符號不小於則跳轉 JLE ;有符號小於等於則跳轉 JNLE ;有符號不小於等於則跳轉 JP ;奇偶位置位則跳轉 JNP ;奇偶位清除則跳轉 JPE ;奇偶位相等則跳轉 JPO ;奇偶位不等則跳轉