25开,第一个是搜集龙纹石,反正是接任务,进图,再接,在进。
远古二是有流程的,当你做完元古一的时候阿尔博特那会出现新的任务,绝世装备的主人,一开始刷异界平图,哥布林,儒动,走狗等,然后冒险,勇士,王,到时会有任务提示,不接任务也可以在异界爆散件,但很难做齐整套,跟着任务做远古一麻烦点,但二就相对容易些
这是一个找出从buf开始存储的8个字节中的最小数的程序,下面的代码已给出详细注释
;此处输入数据段代码
datas segment
buf db 13,25,23,100,223,78,90,134 ; 定义8个字节
cnt equ $-buf ;cnt=8
datas ends
;此处输入代码段代码
codes segment
assume cs:codes,ds:datas
start:
mov ax,datas ;初始化数据段
mov ds,ax
mov cx,cnt-1 ;cx=cnt-1=7,除第一个字节以外,共循环7次
mov si,offset buf ;si保存buf的首地址
call search ;调用search过程,找出最小值
mov ah,4ch ;程序结束
int 21h
search proc near
mov bl,[si] ;bl先取出第一个字节
sear1:
inc si ;si=si 1
cmp bl,[si] ;如果bl比下一个字节[si]的数值要小
jbe sear2 ;那么直接跳到sear2处执行
mov bl,[si] ;否则bl=[si],保存当前找到的最小数值
sear2:
dec cx ;cx=cx-1,cx控制程序的循环次数
jnz sear1 ;cx=0时si已经遍历了buf数组的每个字节,循环结束
mov dl,bl ;此时bl里存的便是找到的最小数,dl=bl
mov cl,4 ;cl=4
shr dl,cl ;dl右移4位,此时dl保存的是bl的高4位
call disp ;调用disp输出bl的高4位
mov dl,bl ;再次赋值
and dl,0fh ;把dl的高4位设置为0,此时dl保存的是bl的低四位
call disp ;调用disp输出bl的低4位
ret ;返回
search endp
disp proc near
cmp dl,9 ;如果dl <= 9
jbe disp1 ;那么直接跳转到dlsp1执行
add dl,7 ;否则dl=dl 7, 30h以后便对应16进制的'a'~'f'字符
disp1:
add dl,30h ;dl=dl 30h,如果dl<=9那么dl被转化为'0'~'1',如果dl>9由于加过7,所以对应'a'~'f'
mov ah,2 ;2号功能调用输出dl里的一个字符
int 21h
ret ;返回
disp endp
codes ends
end start
流程图: