在 BUF 和 BUF+1、BUF+2 单元分别放有一个无符号字节型数,编程序将其 中最大数存入 MAX 单元,并在屏幕上显示。

问题描述:

在 BUF 和 BUF+1、BUF+2 单元分别放有一个无符号字节型数,编程序将其
中最大数存入 MAX 单元,并在屏幕上显示。

汇编代码,已调试

DATA SEGMENT
	BUF DB 73H,34H,56H  ;BCD码
	MAX DB ?
	MSG1 DB 'the largest unsigned integer is:$'
DATA ENDS
STACK1 SEGMENT PARA STACK
	DW 20H DUP(0)
STACK1 ENDS
CODE SEGMENT
	ASSUME CS:CODE,DS:DATA,SS:STACK1
START:
		MOV AX,DATA
		MOV DS,AX	
		MOV AL,BUF
		CMP AL,BUF+1 
		JA SWAPAB	
		MOV AL,BUF+1
SWAPAB: 	CMP AL,BUF+2
		JA SWAPAC
		MOV AL,BUF+2
SWAPAC: 	MOV MAX,AL
		
		LEA DX,MSG1
		MOV AH,09H
		INT 21H  ;输出提示信息
		
		PUSH AX
		MOV BL,AL
		MOV BH,00H
		MOV CL,4 ;设置移位
		SHR BL,CL  
		ADD BL,30H  ;获取7的ASCII码
		
		MOV DL,BL
		MOV AH,02H
		INT 21H   ;输出7

		POP AX
		AND AL,0FH
		ADD AL,30H  ;获取3的ASCII码
		MOV DL,AL
		MOV AH,02H	
		INT 21H   ;输出3

		MOV AH,4CH
		INT 21H	
CODE ENDS
END START

结果展示
在 BUF 和 BUF+1、BUF+2 单元分别放有一个无符号字节型数,编程序将其 中最大数存入 MAX 单元,并在屏幕上显示。_第1张图片

你可能感兴趣的:(汇编,编程语言)