기금넷 공식사이트 - 주식 지식 - 어셈블리 언어
어셈블리 언어
이 절차는 여러 번 해봤지만 이 절차는 비교적 간단합니다. "RECORD"는 어셈블리 언어 키워드이므로 변수 이름으로 사용할 수 없으므로 "RECORDS"를 대신 사용하시기 바랍니다.
; 이 프로그램은 올바르게 컴파일되고 실행됩니다.
코드 세그먼트
CS: 코드, DS: 코드
--- ------------------------------------------------- 의
; 기능: 통계 점수 섹션 점수
; 항목: SI=점수의 첫 번째 주소, cx=점수 수, dl=10(제수)으로 나누는 데 사용됨
; 종료: 점수는 60-69점입니다. 70-79점, 80-89점, 90-99점 및 100점을 가진 사람의 수는 각각 G6, G7, G8, G9 및 G10 단위에 저장됩니다. .
Stating Proc Near
lodsb ; 점수 추출
div dl ; 10으로 나누기
sub al, 6; 섹션 카운트 주소 오프셋
cbw
push ax
pop bx
inc G6[bx] 1씩 증가하는 카운트
loop Staticing; 루프, 다음 점수 계산
ret
Staticing EndP
; -- --------------- 99, 63, 100 중 80, 73, 84, 80, 100, 90, 73, 93, 60, 63, 72, 88
db 88, 78, 99, 100, 89, 65, 61, 74, 84, 79 , 92, 60, 61, 62, 62, 66, 82, 79, 71, 62, 63
db 99, 98, 65, 71, 82, 93, 96, 81, 75, 86, 97, 61, 72, 83, 94, 91, 89, 87, 76, 65, 100
db 88, 78, 99, 100, 89, 65, 61, 74, 84, 79, 92 , 60, 61, 62, 62, 66, 82, 79, 71, 62, 63
db 66, 69, 84, 82, 73, 88, 99, 63, 100, 80, 73, 84, 80, 100, 90, 79; 성적 증명서
요소 equ ($-RECORDS)/유형 RECORDS; 요소 수
60-69 포인트 수
p>G7 db 0; 70-79 포인트 수
G8 db 0; 80-89 포인트 수
G9 db 0;
G10 db 0; 100 포인트 카운트
시작: cs 푸시
pop ds; 데이터 세그먼트와 코드 세그먼트를 동일한 세그먼트로 만듭니다.
cld
lea si, RECORDS; mov cx, 요소 수
mov dl, 10 < /p >
Staticing 호출, 각 섹션의 점수 계산
Exit_Proc: mov ah, 4ch 프로그램 종료
int 21h
Code ENDS p>
코드 ENDS
p>
END 편집 시작은 여기서 끝납니다.