Материал: 1328

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

jz abd2

add ax,word ptr mult10 adc dx,word ptr mult10[2] dec bl

jmp abd1

abd2: add word ptr binval_d,ax adc word ptr binval_d[2],dx mov bl,9

mov dx,word ptr mult10[2] mov ax, word ptr mult10

abd3: cmp bl,0 jz abd4

add word ptr mult10,ax adc word ptr mult10[2],dx dec bl

jmp abd3 abd4: dec si

loop met1_d

mov dx,word ptr binval_d[2] mov ax,word ptr binval_d jmp end_error_d

error_d:

call stroka mov ah,09h lea dx,strerr3 int 21h

;mov osh_v,1 end_error_d:

ret asc2bin_dword endp

;*************************************************************************

;Перевод из ASCII в bin числа b1 ;*************************************************************************

entb1 proc b1b:

;

вывод сообщения 'b1= '

 

 

mov ah,09

 

 

lea dx,soob2

 

 

int 21h

 

;

ввод с клавиатуры b1

 

 

mov ah,0Ah

 

 

lea dx,namepar_b

 

 

int 21h

 

 

call stroka

 

 

call asc2bin_byte

;перевод из ASCII в bin

 

xor ax,ax

;переносим переведённый байт в b1

 

mov al,byte ptr binval_b

 

 

mov b1,al

 

 

;

mov al,b1

 

;b1 сравниваем с 127

 

cmp al,127

 

 

 

 

 

81

ja b1m

;если >, то на метку b1m

jmp b1e

;если <= , то на метку b1e

b1m:

 

mov ah,09

;вывод на экран

lea dx,strerr1

;сообщения об ошибке

int 21h

 

jmp b1b

; переход на B1B

b1e:

 

ret entb1 endp

;************************************************************************* ; Перевод из ASCII в bin числа b2 ;*************************************************************************

entb2 proc

 

b2b:

 

mov ah,09

; вывод сообщения: 'b2= '

lea dx,soob3

 

int 21h

 

;ввод с клавиатуры b2 mov ah,0Ah

lea dx,namepar_b int 21h

;mov mult10,1

call stroka

 

call asc2bin_byte

;перевод из ASCII в bin

xor ax,ax

;переносим переведённый байт в b2

mov al,byte ptr binval_b

 

mov b2,al

 

;

mov al,b2

 

;b2 сравниваем с 127

cmp al,127

 

ja b2m

;если >, то на метку b2m

jmp b2e

;если <= , то на метку b2e

b2m:

 

 

 

mov ah,09

;вывод на экран

lea dx,strerr1

;сообщения об ошибке

int 21h

 

jmp b2b

; переход на b2b

b2e:

 

 

 

ret entb2 endp

;************************************************************************ ; Перевод из ASCII в bin числа b3 ;************************************************************************

entb3 proc

 

b3b:

 

mov ah,09

; вывод сообщения 'b3= '

lea dx,soob4

 

int 21h

 

; ввод с клавиатуры b3

 

mov ah,0Ah

 

 

82

lea dx,namepar_b int 21h

call stroka

;mov mult10,1

;перевод из ASCII в bin

call asc2bin_byte

; переносим переведённый байт в b3 xor ax,ax

mov al,byte ptr binval_b mov b3,al

;mov al,b3

cmp al,127

;b3 сравниваем с 127

ja b3m

;если >, то на метку b3m

jmp b3e

;если <= , то на метку b3e

b3m:

 

mov ah,09

;вывод на экран

lea dx,strerr1

;сообщения об ошибке

int 21h

 

jmp b3b

; переход на b3b

b3e:

 

ret entb3 endp

;************************************************************************ ; Перевод из ASCII в bin числа b13 ;************************************************************************ entb13 proc

b13b:

;вывод сообщения 'b13= ' mov ah,09

lea dx,soob5 int 21h

;ввод с клавиатуры b13 mov ah,0Ah

lea dx,namepar_b int 21h

call stroka

 

call asc2bin_byte

;перевод из ASCII в bin

xor ax,ax

;переносим переведённый байт в b13

mov al,byte ptr binval_b

 

mov b13,al

 

;

mov al,b13

 

;b13 сравниваем с 127

cmp al,127

 

ja b13m

;если >, то на метку b13m

jmp b13e

;если <=, то на метку b13e

b13m:

 

 

 

mov ah,09

;вывод на экран

lea dx,strerr1

;сообщения об ошибке

int 21h

 

 

 

jmp b13b

; переход на b13b

b13e:

 

 

 

 

 

 

83

ret entb13 endp

;************************************************************************ ; Перевод из ASCII в bin числа b16 ;************************************************************************ entb16 proc

b16b:

;вывод сообщения 'b16= ' mov ah,09

lea dx,soob6 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

 

;b16 сравниваем с 127

cmp al,127

 

ja b16m

 

 

;если >, то на метку b16m

jmp b16e

;если <= , то на метку b16e

b16m:

 

 

 

mov ah,09

;вывод на экран

lea dx,strerr1

;сообщения об ошибке

int 21h

 

 

 

jmp b16b

; переход на b16b

b16e:

 

 

 

ret 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

 

 

;перевод из ASCII в bin

call asc2bin_word

;

xor ax,ax

 

 

mov

ax,binval_w

;переносим переведённое значение в w1

mov w1,ax

 

 

 

 

 

84

;mov ax,w1

cmp ax,32767

;w1 сравниваем с 32767

ja w1m

;если >, то на метку w1m

jmp w1e

;если <= , то на метку w1e

w1m:

 

mov ah,09

;вывод на экран

lea dx,strerr2

;сообщения об ошибке

int 21h

 

jmp w1b

; переход на w1b

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

 

 

;перевод из ASCII B BIN

call asc2bin_word

xor ax,ax

;переносим переведённый байт в w2

mov ax, binval_w

 

mov w2,ax

 

;

mov ax,w2

 

 

cmp

ax,32767

 

;w2 сравниваем с 32767

ja w2m

;если >, то на метку w2m

jmp w2e

;если <= , то на метку w2e

w2m:

 

 

 

 

mov ah,09

;вывод на экран

lea dx,strerr2

;сообщения об ошибке

int 21h

 

jmp w2b

; переход на w2b

w2e:

 

 

 

 

ret entw2 endp

;************************************************************************ ; Перевод из ASCII в bin числа w13 ;************************************************************************

entw13 proc

 

w13b:

 

mov ah,09

; вывод сообщения 'w13= '

lea dx,soob7

 

int 21h

 

 

85

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