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

📄 ex6-11.asm

📁 一些汇编实验程序
💻 ASM
字号:
;人名排序,包含EX6-11R,EX6-11S,EX6-11SO,EX6-11D;分别汇编,再连接成一个可执行文件

public namepar,maxnlen,namelen,namefld,crlf,endaddr,messg1,messg2,namectr,nametab,namesav,swapped
extrn b10read:far,d10stor:far,g10sort:far,k10disp:far

SSEG SEGMENT PARA STACK 'stack'
	dw 100h dup(0) ;初始化堆栈大小为100
SSEG ENDS

DSEG SEGMENT 
	
namepar label byte
maxnlen db 21
namelen db ?
namefld db 21 dup(?)

crlf db 13,10,'$'
endaddr dw ?
messg1 db 'name?$'
messg2 db 'sorted names:',13,10,'$'
namectr db 0
nametab db 30 dup(20 dup(' '))
namesav db 20 dup(?),13,10,'$'
swapped db 0

;数据段:在此处添加程序所需的数据
DSEG ENDS

ESEG SEGMENT
	;附加段:在此处添加程序所需的数据
ESEG ENDS

CSEG SEGMENT
	assume  cs:CSEG, ds:DSEG, es:ESEG, ss:SSEG


	
MAIN PROC  far  	;主程序入口

	mov ax, dseg
	mov ds, ax
	mov es, ax

cld
lea di,nametab
a20loop:
call b10read
cmp namelen,0
jz a30
cmp namectr,30
je a30
call d10stor
jmp a20loop

a30:
cmp namectr,1
jbe a40
call g10sort
call k10disp

a40:
	mov ax, 4c00h  ;程序结束,返回到操作系统系统
	int 21h
MAIN ENDP
	

CSEG ENDS

END MAIN

⌨️ 快捷键说明

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