; 某班20名同学,编程序将全班优秀的成绩和不及格的成绩分别保存到两个数组。备注:成绩(是指包括学生姓名,学号和分数)
DATA SEGMENT
chengji DB 'xiaoming', '001', 90,
'xiaofang', '002', 91,
'xiaomanj', '003', 45,
'xiaoke0h', '004', 23,
'xiaoheik', '005', 95
YOUXIU DB 'excellent:',0ah,0dh,100 DUP(0);优秀
BUJIGE DB 'fail:',0ah,0dh,100 DUP(0);不及格
DATA ENDS
CODE SEGMENT
ASSUME DS : DATA, CS : CODE
MAIN PROC FAR
MOV AX, DATA
MOV DS, AX
LEA SI, YOUXIU+10+2
LEA DI, BUJIGE+4+2
LEA BX, CHENGJI
MOV CX, 5
LL1: MOV AL, [BX + 11]
CMP AL, 90
JAE YX
CMP AL, 60
Jae NEXT
push cx
mov cx, 8
N1:
mov al, [bx]
mov [di], al
inc bx
inc di
loop N1
mov ax,0d0ah;回车换行
mov [di],ax
mov ax,'$'
mov [di+2],ax
add di,2
add bx,4
pop cx
JMP loo
YX :
push cx
mov cx, 8
N2 :
mov al, [bx];复制名字
mov [si], al
inc bx
inc si
loop N2
mov ax,0d0ah
mov [si],ax
mov ax,'$'
mov [si+2],ax
add si,2
add bx,4
pop cx
jmp loo
NEXT :
add bx,13
loo:
LOOP LL1
mov ah,09h
mov dx,offset YOUXIU
int 21h
mov dx,offset bujige
int 21h
MOV AH, 4CH
INT 21H
MAIN ENDP
;---------------------
;PROC NAMD : COPY
;FEATURE : COPY A STRING FORM ONE PLACE TO ANOTHER
;INPUT PARAMTER : BUF1,BUF2,COUNT
;OUTPUT PARAMETER : NONE
COPY PROC
; MOV SI,OFFSET BUF1 入口参数 si to di
; MOV DI,OFFSET BUF2
; MOV CX,COUNT 入口参数 :字节数
CLD
REP MOVSB
RET
COPY ENDP
CODE ENDS
END MAIN
}