⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 4.asm

📁 这些是我们在学校里做汇编实验时做的。实验列表如下。里面有源代码。 1. 实验一 汇编编译器的使用及程序调试(必做) 4 2. 实验二 非压缩/压缩十进制码转换程序的设计与实现(必做) 11
💻 ASM
字号:
.MODEL small
.DATA
	x db 2,5,3,8,9,0,2,7,1,3
	result1 db "the max is:","$"
	result2 db "the min is:","$"
.CODE

MAIN PROC FAR
  
	mov ax,@DATA
 	mov ds,ax

        MOV CX,9   ;设置比较次数cx设为10-1
	MOV SI,0    ;设置指针初值
	MOV BH,0      ;清BH值
 	MOV BL,0
 	MOV BH,x[SI]   ;把指针所指的数赋给BH
 	MOV BL,x[SI]  ;结果是 mov bl,[si+0008] 

NEXT:  CMP CX,0      ;CX中的值与0比较
 	JE EXIT       ;相等就跳到EXIT标签去
  
        INC SI        ;调整指针 si=0001
 	DEC CX       ;CX中值减1 

 	mov ah,x[si]    ;将二进制转化为ASCII码并输出
 	add ah,30h
 	mov dl,ah
 	mov ah,2
 	int 21h

 	MOV AL,x[SI]   ;把下一个值临时存到AL中
 	CMP AL,BH     ;比较AL与BH中的值 cmp 05,02
 	JG MAX        ;大于就跳到MAX去
 	CMP AL,BL     ;比较AL与BL中的值
 	JL MIN        ;小于就跳到MIN去
 	JMP NEXT

MAX: 	MOV BH,AL    ;设置AL中的值到BH中成为最大值
 	JMP NEXT

	MIN: MOV BL,AL    ;设置AL中的值到BL中成为最小值
	JMP NEXT

	EXIT: 

 	CALL CRLF   ;调用CRLF子程序来输出回车和换行

 	lea dx,result1    ;输出最大数
 	mov ah,9
 	int 21h

 	add bh,30h   
 	mov dl,bh
 	mov ah,2
 	int 21h

 	CALL CRLF

 	lea dx,result2    ;输出最小数
 	mov ah,9
 	int 21h

 	add bl,30h
 	mov dl,bl
 	mov ah,2
 	int 21h

 	MOV ah,4CH 
 	INT 21H
MAIN ENDP      ;结束主程序

CRLF PROC NEAR       ;子程序:用来打印回车和换行

 	mov dl,0dh  ;回车
 	mov ah,2
 	int 21h

 	mov dl,0ah   ;换行
 	mov ah,2
 	int 21h 
 	RET   ;返回
CRLF ENDP

END MAIN

 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -