人名排序程序实现
来源:互联网 发布:mac 暴风影音 加载srt 编辑:程序博客网 时间:2024/04/29 00:10
;Name_store
;人名排序程序实现
;author:野渡无人
;create date:2007-12-15
;*************************************************
.model small
.stack 40h
;*************************************************
.data
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 10 dup(20 dup(' '))
namesav db 20 dup(?),13,10,'$'
swapped db 0
;************************************************
.code
begin proc far
mov ax,@data
mov ds,ax
mov es,ax
cld
lea di,nametab
a20loop:
call b10read
cmp namelen,0
jz a30
cmp namectr,10
je a30
call d10stor
jmp a20loop
a30:
cmp namectr,1
jbe a40
call g10sort
call k10disp
a40:
mov ax,4c00h
int 21h
begin endp
;--------------------------------------------------
b10read proc near
mov ah,09
lea dx,messg1
int 21h
mov ah,0ah
lea dx,namepar
int 21h
mov ah,09
lea dx,crlf
int 21h
mov bh,0
mov bl,namelen
mov cx,21
sub cx,bx
b20:
mov namefld[bx],20h
inc bx
loop b20
ret
b10read endp
;--------------------------------------------------
d10stor proc near
inc namectr
cld
lea si,namefld
mov cx,10
rep movsw
ret
d10stor endp
;--------------------------------------------------
g10sort proc near
sub di,40
mov endaddr,di
g20:
mov swapped,0
lea si,nametab
g30:
mov cx,20
mov di,si
add di,20
mov ax,di
mov bx,si
repe cmpsb
jbe g40
call h10xchg
g40:
mov si,ax
cmp si,endaddr
jbe g30
cmp swapped,0
jnz g20
ret
g10sort endp
;---------------------------------------------------
h10xchg proc near
mov cx,10
lea di,namesav
mov si,bx
rep movsw
mov cx,10
mov di,bx
rep movsw
mov cx,10
lea si,namesav
rep movsw
mov swapped,1
ret
h10xchg endp
;-----------------------------------------------------
k10disp proc near
mov ah,09
lea dx,messg2
int 21h
lea si,nametab
k20:
lea di,namesav
mov cx,10
rep movsw
mov ah,9
lea dx,namesav
int 21h
dec namectr
jnz k20
ret
k10disp endp
;---------------------------------------------------------
;*********************************************************
end begin
- 人名排序程序实现
- 人名排序实现
- 求教:(如何实现)汇编实现人名排序程序
- 三行代码实现对中文人名排序
- ios 人名首字母排序
- 汉字字符串排序,如人名排序
- 聊天记录按时间排序,时间相同时按人名排序
- 冒泡排序程序实现
- mapreduce程序实现排序
- mysql 查询结果以人名按字母排序(支持中文)
- 005_015 Python 人名按字母排序,首字母分组
- 人名币金额阿拉伯数字转化为中国传统形式JAVA实现
- 用php实现计算两人名字之间的缘分
- 原生JS实现简单抽人名功能实例
- 人名中间的小圆点的实现方式
- android程序排序算法实现
- Java程序实现冒泡排序、直接排序、插入排序方法
- 人名搜索
- IP地址含义知多少
- 常见网络端口对照及其说明
- 求救 2005 error LNK2005 已经在......obj中定义
- 在WORD中自动生成目录,页码
- mantis邮件乱码解决方法
- 人名排序程序实现
- C# 启动外部程序的几种方法
- 网络上连接Windows主机的问题及解决办法
- #include 后的文件名用尖括号,引号的区别(笔试题)
- varchar 值 '1,220,52转换为数据类型为 int 的列时发生语法错误
- .net学习站点
- VS2005运行时读写配置文件(.config)
- 全局变量和静态全局变量区别(转载)
- 01