下面的程式出自 <
.section .data
data_items:
.long 3,67,34,222,45,75,54,34,44,33,22,11,66,0 #.long指示表明一組數,每個數占32位,相當於c語言的陣列。這個陣列開頭定義了乙個符號data_items,彙編器會把陣列的首位址作為data_items符號所代表的位址。
#除了.long之外,常用的資料宣告還有:.byte,也是宣告一組數,每個數占8位
#.ascii,例如.ascii"hello world",宣告11個數,取值為相應字元的ascii字元。和c語言不同,這樣宣告的字串末尾是沒有『\0』字元的,如果需要以'\0'結尾可以宣告為.ascii "hello world\0"
.section .text
.globl _start
_start:
movl $0, %edi #初始化edi為0,edi用來記錄陣列的下標
movl %eax, %ebx
start_loop:
cmpl $0, %eax #作用:將兩個運算元相減,但是計算結果並沒有儲存,只是根據結果改變eflags暫存器中的標誌位。如果兩數相等則計算結果為0,eflags中的zf位1。
incl %edi #作用:將edi的值加1
movl data_items(,%edi,4), %eax
cmpl %ebx, %eax
jle start_loop #作用:表示「jump if less than or equal」
movl %eax, %ebx
jmp start_loop
loop_exit:
movl $1, %eax
int $0x80 #無條件跳轉
求一組數中,最大值方法
原貼 http munity.csdn.expert topic 4169 4169825.xml?temp 4744684 我有一張表a bmmc,bmbh,lxr,tel,value 現在要求按bmbh分類,並把相應的value最大的那條記錄顯示出來,即a bmmc bmbh,lxr,tel,v...
比較一組數的最大值或最小值
public static void main string args int max num 0 認為陣列裡的是乙個數為最大值 int min num 0 認為陣列裡的是乙個數為最小值 for int i 0 i num.length i system.out.println 最大值 max sy...
尋找一組數的最大值並統計出現次數
題目如下 用我蹩腳的英文水平翻譯如下 尋找最大值和它的出現次數 問題描述 請書寫乙個能讀取一組整數的程式,尋找其中的最大值並統計出現次數。最初賦值第乙個數為max並把count賦值為1,遍歷剩下的數字並與之做比較。如果這個數大於max,則把它賦值為max,同時重置count為1,如果這個數等於max...