call ASC2BIN_BYTE |
;перевод из ASCII в bin |
xor ax,ax |
;переносим переведённый байт в b1 |
mov al,byte ptr binval_b |
|
mov b13,al |
|
mov al,b13 |
; В13 сравниваем с 127 |
cmp al,127 |
|
ja B13M |
; если >, то на метку osi |
jmp B13E |
; если <= , то на метку www |
B13M: |
|
mov ah,09 |
;вывод на экран |
lea dx,STRERR1 |
;сообщения об ошибке |
int 21h |
|
jmp B13B |
; переход на QQ1 |
B13E: |
|
RET ENTB13 ENDP
;*************************************************************************** ;перевод из ASCII в bin числа b16 ;***************************************************************************
ENTB16 PROC B16B:
;
mov ah,09 |
|
lea dx,soob16 |
|
int 21h |
|
; |
ввод с клавиатуры b16 |
mov ah,0Ah |
|
lea dx,NAMEPAR_b |
|
int 21h |
|
CALL STROKA |
|
call ASC2BIN_BYTE |
;перевод из ASCII в bin |
xor ax,ax |
;переносим переведённый байт в b16 |
mov al,byte ptr binval_b |
|
mov b16,al |
|
mov al,b16 |
;В16 сравниваем с 127 |
cmp al,127 |
|
ja B16M |
; если >, то на метку osi |
jmp B16E |
;если <= , то на метку www |
B16M: |
|
mov ah,09 |
;вывод на экран |
lea dx,STRERR1 |
;сообщения об ошибке |
int 21h |
|
jmp B16B |
; переход на QQ1 |
B16E: |
|
RET |
|
|
81 |
ENTB16 ENDP
;*************************************************************************** ;перевод из ASCII в bin числа w1 ;***************************************************************************
ENTW1 PROC |
|
W1B: |
|
mov ah,09 |
; вывод сообщения 'w1= ' |
lea dx,soob7 |
|
int 21h |
|
; ввод с клав w1 |
|
mov ah,0Ah |
|
lea dx,NAMEPAR_w |
|
int 21h |
|
CALL STROKA |
|
;mov mult10,1 |
|
call ASC2BIN_WORD |
;перевод из ASCII в bin |
xor ax,ax |
;переносим переведённый байт в w1 |
mov ax,binval_w |
|
mov w1,ax |
|
mov ax,w1 |
; w1 сравниваем с 32767 |
cmp ax,32767 |
|
ja W1M |
;если >, то на метку dd2 |
jmp W1E |
;если <= , то на метку dd3 |
W1M: |
|
mov ah,09 |
; вывод на экран |
lea dx,STRERR2 |
; сообщения об ошибке |
int 21h |
|
jmp W1B |
; переход на dd1 |
W1E: |
|
RET ENTW1 ENDP
;*************************************************************************** ;перевод из ASCII в bin числа w2 ;***************************************************************************
ENTW2 PROC W2B:
mov ah,09 ; вывод сообщения 'w2= ' lea dx,soob8
int 21h
; |
ввод с клавиатуры w2 |
mov ah,0Ah |
|
lea dx,NAMEPAR_w |
|
int 21h |
|
CALL STROKA |
|
;mov mult10,1 |
|
call ASC2BIN_WORD |
;перевод из ASCII в bin |
xor ax,ax |
;переносим переведённый байт в w2 |
|
82 |
mov ax, binval_w |
|
mov w2,ax |
|
mov ax,w2 |
; w2 сравниваем с 32767 |
cmp ax,32767 |
|
ja W2M |
;если >, то на метку z2 |
jmp W2E |
;если <= , то на метку z3 |
W2M: |
|
mov ah,09 |
;вывод на экран |
lea dx,STRERR2 |
;сообщения об ошибке |
int 21h |
|
jmp W2B |
; переход на z1 |
W2E: |
|
RET |
|
ENTW2 ENDP
;*************************************************************************** ;перевод из ASCII в bin числа w13 ;***************************************************************************
ENTW13 PROC |
|
|
W13B: |
|
|
|
mov ah,09 |
; вывод сообщения 'w13= ' |
|
lea dx,soob14 |
|
|
int 21h |
|
; ввод с клав w1 |
|
|
|
mov ah,0Ah |
|
|
lea dx,NAMEPAR_w |
|
|
int 21h |
|
|
CALL STROKA |
|
;mov mult10,1 |
|
|
call ASC2BIN_WORD |
; перевод из ASCII в bin |
|
xor ax,ax |
; переносим переведённый байт в w13 |
|
mov ax,binval_w |
|
|
mov w13,ax |
|
|
;mov ax,w13 |
; w13 сравниваем с 32767 |
|
; cmp ax, |
|
|
; ja W13M |
;если >, то на метку dd2 |
|
; jmp W13E |
;если <= , то на метку dd3 |
|
;W13M: |
|
|
; |
mov ah,09 |
;вывод на экран |
; |
lea dx,STRERR2 |
;сообщения об ошибке |
; |
int 21h |
|
; |
jmp W1B |
; переход на dd1 |
;W13E:
RET
ENTW13 ENDP
;*************************************************************************** ;перевод из ASCII в bin числа w19 ;***************************************************************************
ENTW19 PROC
83
W19B: |
|
mov ah,09 |
; вывод сообщения 'w19= ' |
lea dx,soob15 |
|
int 21h |
|
; |
ввод с клавиатуры w1 |
mov ah,0Ah |
|
lea dx,NAMEPAR_w |
|
int 21h |
|
CALL STROKA |
|
;mov mult10,1 |
|
call ASC2BIN_WORD |
;перевод из ASCII в bin |
xor ax,ax |
;переносим переведённый байт в w19 |
mov ax,binval_w |
|
mov w19,ax |
|
mov ax,w19 |
; w19 сравниваем с 32767 |
cmp ax,32767 |
|
ja W19M |
; если >, то на метку dd2 |
jmp W19E |
;если <= , то на метку dd3 |
W19M: |
|
mov ah,09 |
; вывод на экран |
lea dx,STRERR2 |
; сообщения об ошибке |
int 21h |
|
jmp W19B |
; переход на dd1 |
W19E: |
|
RET |
|
ENTW19 ENDP
;*************************************************************************** ;перевод из ASCII в bin числа w21 ;***************************************************************************
ENTW21 PROC |
|
W21B: |
|
mov ah,09 |
; вывод сообщения 'w2= ' |
lea dx,soob17 |
|
int 21h |
|
; |
ввод с клавиатуры w2 |
mov ah,0Ah |
|
lea dx,NAMEPAR_w |
|
int 21h |
|
CALL STROKA |
|
;mov mult10,1 |
|
call ASC2BIN_WORD |
; перевод из ASCII в bin |
xor ax,ax |
; переносим переведённый байт в w2 |
mov ax, binval_w |
|
mov w21,ax |
|
mov ax,w21 |
; w21 сравниваем с 32767 |
cmp ax,32767 |
|
ja W21M |
;если >, то на метку z2 |
|
84 |
jmp W21E |
;если <= , то на метку z3 |
W21M: |
|
mov ah,09 |
; вывод на экран |
lea dx,STRERR2 |
; сообщения об ошибке |
int 21h |
|
jmp W21B |
; переход на z1 |
W21E: |
|
RET |
|
ENTW21 ENDP
;*************************************************************************** ;перевод из ASCII в bin числа d1 ;*************************************************************************** ENTD1 PROC
D1B: |
|
mov ah,09 |
; вывод сообщения 'd1= ' |
lea dx,soob11 |
|
int 21h |
|
mov ah,0Ah |
; ввод с клавиатуры w5 |
lea dx,NAMEPAR_d |
|
int 21h |
|
CALL STROKA |
|
;mov mult10,1 |
|
call ASC2BIN_dword |
; перевод из ASCII в bin |
xor ax,ax |
; переносим переведённый байт в d1 |
xor bx,bx |
|
xor cx,cx |
|
xor dx,dx |
|
mov ax,word ptr binval_d |
|
mov dx,word ptr binval_d+2 |
|
mov word ptr d1,ax |
|
mov word ptr d1+2,dx |
|
cmp dx,21474 |
; dx сравниваем с 21474 |
ja D1M |
; если >, то на метку u2 |
jmp D1E |
; если <= , то на метку u3 |
D1M: |
; вывод на экран |
mov ah,09 |
|
lea dx,STRERR3 |
; сообщения об ошибке |
int 21h |
|
jmp D1B |
; переход на uu1 |
D1E: |
|
RET ENTD1 ENDP
;*************************************************************************** ; ПРОЦЕДУРА ПЕРЕВОДА СТРОКИ
;*************************************************************************** STROKA proc near ; процедура перевода курсора на новую строку
PUSH AX
85