기금넷 공식사이트 - 주식 지식 - 어셈블리 언어

어셈블리 언어

이 절차는 여러 번 해봤지만 이 절차는 비교적 간단합니다. "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

코드 ENDS

p>

END 편집 시작은 여기서 끝납니다.