DATAS SEGMENT;此處輸入數據段代碼
ARRAY DW 4,5,6,7,8,9,3,6,1,10,34,12,45,58,6,32,15,17,20,'$'
Z DB 100,10
DATAS ENDS
STACKS SEGMENT;此處輸入堆棧段代碼
DW 100 DUP(?)
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX ;此處輸入代碼段代碼
LEA BX,ARRAY
MOV DX,[BX]
MOV AX,4 ;AX初始值設爲4
TEST1: MOV CX,DX ;判斷是否是偶數
RCR CX,1 ;帶進位循環右移一位
JNC OUSHU ;偶數跳轉
JC CONTINUE ;奇數跳轉
OUSHU:
CMP AX,DX
JL CONTINUE ;如果小於AX,則將AX和CX的值交換,比較完之後AX中始終是最小的偶數
JNL JIAOHUAN ;較下一個數
JIAOHUAN:MOV AX,DX
JMP CONTINUE
CONTINUE:ADD BX,2
MOV DX,[BX]
CMP DX,24H ;與結束符$比較,看是否結束
JNZ TEST1 ;不相等跳轉到比較處
JMP SHUCHU
SHUCHU:
DIV Z
PUSH AX
CMP AL,0
JZ AA
ADD AL,30H
MOV DL,AL
MOV AH,02H
INT 21H
AA:POP AX
MOV AL,0
ADD AH,30H
MOV DL,AH
MOV AH,02H
INT 21H
MOV AH,4CH
INT 21H
CODES ENDS
END START
求出data爲首地址的100D字數組中的最小偶數,並把它存放在AX中,目前只能做出無符號數,有待修改
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.