汇编语言——100个数中的最大数
生活随笔
收集整理的這篇文章主要介紹了
汇编语言——100个数中的最大数
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
問題描述
已知,從baffuer開始存放了100個帶符號的字?jǐn)?shù)據(jù),試編寫一完整的匯編語言程序,求出這100個數(shù)中的最大數(shù),并將結(jié)果存放到MAX單元。
解決方案
DSEG SEGMENT n EQU 100H M DW n DUP (?) DATA DW ? ;M+2n單元 ADDR DW ? ;M+2(n+1)單元 DSEG ENDS CSEG SEGMENT MAIN PROC FAR ASSUME CS: CSEG, DS: DSEG START: PUSH DS ;設(shè)置返回DOS SUB AX, AX PUSH AX MOV AX, DSEG MOV DS, AX ;給DS賦值 BEGIN: MOV CX, n ;循環(huán)計數(shù)器 LEA DI, M MOV AX, [DI] ;取第一個數(shù) MOV ADDR, DI ;記下絕對值最大的數(shù)的地址 CMP AX, 0 ;此數(shù)是正數(shù)嗎? JNS ZHEN ;是正數(shù),即為絕對值,轉(zhuǎn)去判斷下一個數(shù) NEG AX ;不是正數(shù),變?yōu)槠浣^對值 ZHEN: MOV BX, [DI] CMP BX, 0 ;此數(shù)是正數(shù)嗎? JNS COMP ;是正數(shù),即為絕對值,轉(zhuǎn)去比較絕對值大小 NEG BX ;不是正數(shù),變?yōu)槠浣^對值 COMP: CMP AX, BX ;判斷絕對值大小 JAE ADDRESS MOV AX, BX ;(AX)<(BX),使(AX)中為絕對值最大的數(shù) MOV ADDR, DI ;記下絕對值最大的數(shù)的地址 ADDRESS: ADD DI, 2 LOOP ZHEN MOV DATA, AX ;記下此數(shù) RET MAIN ENDP CSEG ENDS ;以上定義代碼段 END START?
總結(jié)
以上是生活随笔為你收集整理的汇编语言——100个数中的最大数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Boot——易班优课YOO
- 下一篇: 汇编语言——正数数组P和负数数组N