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中,目前只能做出无符号数,有待修改
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.