?? ex-name.asm
字號(hào):
;人名排序,包含EX-R,EX-St,EX-D;分別匯編,再連接成一個(gè)可執(zhí)行文件
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
;數(shù)據(jù)段:在此處添加程序所需的數(shù)據(jù)
DSEG ENDS
ESEG SEGMENT
;附加段:在此處添加程序所需的數(shù)據(jù)
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 ;程序結(jié)束,返回到操作系統(tǒng)系統(tǒng)
int 21h
MAIN ENDP
CSEG ENDS
END MAIN
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -