Материал: 775

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
вывод сообщения 'b16= '

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

Источник: https://studfile.net/preview/16406832/