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 |