汇编语言(十)之最小偶数
生活随笔
收集整理的這篇文章主要介紹了
汇编语言(十)之最小偶数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在數組中查找最小的偶數,并輸出
程序運行:
?
代碼:
datas segmentminEven dw 0DATA dw 10 dup(101,1,21,81,5,261,3,421,4,541)DATACount dw ($-DATA)/type DATAoutputPrompt db 'min even is AX=$'outputNonEven db 'DATA array have not even!$' datas endsstacks segment stackdb 100h dup(?)stacks endscodes segmentassume cs:codes,ds:datas,ss:stacks main proc far start:push dsmov ax,0hpush axmov ax,datas ;初始化dsmov ds,axmov ax,1 ;初始化axlea bx,DATA ;獲取DATA偏移地址mov cx,100s:mov dx,[bx] ;復制數據and dx,1 ;判斷是否為偶數jnz s1 ;若為奇數,則跳轉s1cmp ax,1 ;判斷ax是否為1jz s2 ;若ax為1,則跳轉s2cmp ax,[bx] ;判斷ax與[bx]大小jle s1 ;若ax小于等于[bx],則跳轉s1s2:mov ax,[bx] ;ax大于[bx]時,保存最小于axs1:add bx ,type DATA ;數組下標索引下一單元loop scmp ax,1 ;判斷ax是否為1je nonEven ;若為1,則DATA數組沒有偶數mov minEven,ax ;保存最小偶數axlea dx,outputPrompt ;輸出ax提示mov ah,9int 21h mov ax,minEven ;輸出axcall printjmp exitnonEven:lea dx,outputNonEven ;輸出沒有偶數提示mov ah,9int 21hexit:retmain endpprint proc nearmov bx,10mov cx,0sprint:mov dx,0div bxpush dxinc cxcmp ax,0jne sprintsprint1:pop dxadd dl,30hmov ah,2int 21hloop sprint1retprint endpcodes endsend main?
總結
以上是生活随笔為你收集整理的汇编语言(十)之最小偶数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 良缘诗词
- 下一篇: 汇编语言(十一)之统计非数字字符个数