汇编语言(七)之求无符号字节序列中的最大值和最小值(子程序实现)

汇编语言:求无符号序列中的最大值和最小值(子程序实现)

题目要求

求无符号字节序列中的最大值和最小值。设有一字节序列,其存储首地址为3000H,字节数为08H。利用子程序的方法求出该序列中的最大值和最小值。

程序代码及运行

废话少说,直接上代码,流程图附于文章末尾

运行环境

Windows10
DOSBox0.74-3,Cpu speed:3000cycles

代码

	data segment
	org 3000h
		db 0d9h,07h,8bh,0c5h,0ebh,04h,9dh,0f9h
	data ends
	stack1 segment stack
		dw 64 dup(?)
	stack1 ends
	code segment
	assume cs:code ds:data
	start:
		mov ax,data
		mov ds,ax
		
		mov si,3000h
		mov cx,0008h
		call maxmin;子程序
		
		mov ax,4c00h
		int 21h
	maxmin proc near
		push bx
		mov bh,[si]
		mov bl,bh
	cond1:
		lodsb;[si]->al,si+1
		cmp al,bh
		jbe cond2
		mov bh,al
		jmp cond3
	cond2:
		cmp al,bl
		jae cond3
		mov bl,al
	cond3:
		loop cond1
		mov ax,bx
		pop bx	
	cond4:
		ret
	maxmin endp
	code ends
	end start	

流程图

只提供子程序流程图

Created with Raphaël 2.2.0 子程序开始 [si]->bh,bh->bl lodsb al<=bh? al>=bl? cx==0? 结束 al->bl al->bh yes no yes no yes no
发布了17 篇原创文章 · 获赞 16 · 访问量 1184

猜你喜欢

转载自blog.csdn.net/XYshaonianhaofang/article/details/103379176
今日推荐