- , . , . .
( ) , . :
mov ah,1; DOS
int 21h;
cmp al,'A'; "A"?
je AWasTyped; ,
mov [TampByte],al; ,
.
.
.
AWasTyped:
push ax;
DOS . A CMP. SUB, , , , , SUB. 1 , AL A.
. JE , , 1. , JE ( - MOV). A; 8086 AWasTyped, PUSH.
8086 , . , , , , .
1.
1 -
JB/JNAE | , / , | CF = 1 |
JAE/JNB | , / , | CF = 0 |
JBE/JNA | , / , | CF = 1 ZF = 1 |
JA/JNBE | , / , | CF = 0 ZF = 0 |
JE/JZ | , | ZF = 1 |
JNE/JNZ | , | ZF = 0 |
JL/JNGE | , / , | SF = OF |
JGE/JNL | , /, | SF = OF |
JLE/JNLE | , / , , | ZF = 1 SF = OF |
JG/JNLE | , / , | ZF = 0 SF = OF |
JP/JPE | PF = 1 | |
JNP/JPO | PF = 0 | |
JS | SF = 1 | |
JNS | , | SF = 0 |
JC | CF = 1 | |
JNC | CF = 0 | |
JO | OF = 1 | |
JNO | OF = 0 |
|
|
CF - , SF - , OF - , ZF - , PF - .
, , . , , , , 128 . , :
JumpTarget:
.
.
.
DB 1000 DUP (?)
.
.
.
dec ax
jnz JumpTarget
JumpTarget JNZ 1000 . :
JumpTarget:
.
.
.
DB 1000 DUP (?)
.
.
.
dec ax
jnz SkipJump
jmp JumpTarget
SkipJump:
, , .
, .
, .
a x. <x, , .
model small
.386
.stack 100h
.data
a db?
x db?
per db 10,13,'$'
mesa db 10,13,'Input a: $'
mesx db 10,13,'Input x: $',10,13
.code
start:
mov ax, @data
mov ds, ax
lea dx, mesa
mov ah,9;
int 21h
mov ah,1;
int 21h
mov a,al;
lea dx, mesx
mov ah,9;
int 21h
mov ah,1;
int 21h
mov x,al;
lea dx, per
mov ah,9;
int 21h
mov al,x
cmp a,al
jl Lower; <, Lower. Higher
Higher:
mov al,a
sub al,x
add al,30h;
jmp short l1
lower:
mov al,x; al
add al,a
sub al,30h;
l1:
mov dl,al
mov ah,2; dl
int 21h
mov ah,0;
int 16h
mov ah,4ch
int 21h
end start
, . , . .
, . 1 5 31h 35h. 01h 05h. 1 5, . , .
|
|