Это мой небольшой ассемблерный код проекта о "получении гласных букв". Это работает, но оценка не была добавлена, когда вопросы закончились. 5 вопросов и самое позднее должны добавить оценку, но это не добавляет. За каждый правильный ответ будет добавлена отметка.
страница 1: учеба
страница 2: экзамен
страница 3: выход
Так же, как это работает.
; multi-segment executable file template.
data segment
firstpage db "learning Vowel letters e,o,a,i,u",10,13,"create by:alex",10,13,"1.stady",10,13,"2.exam",10,13,"3.exit" ,10,13,"$"
std1 db "Umbrella ----> an Umbrella" ,10,13,"$"
std2 db "bird ----> a bird ",10,13,"$"
std3 db "Ice cream ----> an Ice cream",10,13," $"
std4 db "car----> a car ",10,13,"$"
std5 db "Orange ---->an Orange",10,13," $"
qone db "desk ____ desk" ,10,13,"a) a",10,13,"b) an",10,13,"$"
qtow db "apple ____apple" ,10,13,"a) a",10,13,"b) an",10,13,"$"
qth db "table ____ table" ,10,13,"a) a",10,13,"b) an",10,13,"$"
qfo db "egg ____ egg" ,10,13,"a) a",10,13,"b) an",10,13,"$"
qfi db "red ____ red" ,10,13,"a) a",10,13,"b) an",10,13,"$"
nl db 0,10,13,"$"
markze db "your mark is :0$"
markone db "your mark is :10$"
marktow db "your mark is :40$"
markth db "your mark is :60$"
markfo db "your mark is :80$"
markfi db "your mark is :100$"
count db 0
ends
stack segment
dw 128 dup(0)
ends
code segment
start:
mov ax, data
mov ds, ax
lea dx, firstpage
mov ah, 9
int 21h
mov ah,7
int 21h
mov dl,al
cmp dl,"1"
je t1
cmp dl,"2"
je t2
cmp dl,"3"
je soof
t1: mov ax,3
int 10h
lea dx,std1
mov ah,9
int 21h
mov ah,7
int 21h
lea dx,std2
mov ah ,9
int 21h
mov ah,7
int 21h
lea dx,std3
mov ah,9
int 21h
mov ah,7
int 21h
lea dx,std4
mov ah,9
int 21h
mov ah,7
int 21h
lea dx,std5
mov ah,9
int 21h
mov ah,7
int 21h
lea dx, firstpage
mov ah, 9
int 21h
mov ah,7
int 21h
t2: mov ax,3
int 10h
lea dx ,qone
mov ah,9
int 21h
lea dx,nl
mov ah,9
int 21h
mov ah,1
int 21h
mov ah,7
int 21h
mov bl,ah
cmp bl,"a"
je c1
cmp bl,"b"
je c0
lea dx ,qtow
mov ah,9
int 21h
lea dx,nl
mov ah,9
int 21h
mov ah,1
int 21h
mov bl,ah
cmp bl,"b"
je c2
cmp bl,"a"
je c0
lea dx ,qth
mov ah,9
int 21h
lea dx,nl
mov ah,9
int 21h
mov ah,1
int 21h
mov bl,ah
cmp bl,"a"
je c3
cmp bl,"b"
je c0
lea dx ,qfo
mov ah,9
int 21h
lea dx,nl
mov ah,9
int 21h
mov ah,1
int 21h
mov bl,ah
cmp bl,"b"
je c4
cmp bl,"a"
je c0
lea dx ,qfi
mov ah,9
int 21h
lea dx,nl
mov ah,9
int 21h
mov ah,1
int 21h
mov bl,ah
cmp bl,"a"
je c5
cmp bl,"b"
je c0
c0:
cmp count,0
je mark0
c1:
cmp count,1
je mark1
c2:
cmp count, 2
je mark2
c3:
cmp count, 3
je mark3
c4:
cmp count,4
je mark4
c5:
cmp count,5
je mark5
mark0:
lea dx,markze
mov ah,9
int 21h
jmp soof
mark1:
lea dx,markone
mov ah,9
int 21h
jmp soof
mark2:
lea dx,marktow
mov ah,9
int 21h
jmp soof
mark3:
lea dx,markth
mov ah,9
int 21h
jmp soof
mark4:
lea dx,markfo
mov ah,9
int 21h
jmp soof
mark5:
lea dx,markfi
mov ah,9
int 21h
jmp soof
soof: mov ax, 4c00h
int 21h
ends
end start