ВУЗ:
Составители:
66
and AL,AL
jz @@h4
; Проверка на диапазон '0'-'9'
cmp AL,'0'
jb @@Error
cmp AL,'9'
ja @@h1
sub AL,'0'
jmp short @@h3
@@h1: ; Проверка на диапазон 'A'-'F'
cmp AL,'A'
jb @@Error
cmp AL,'F'
ja @@h2
sub AL,'A'-10
jmp short @@h3
@@h2: ; Проверка на диапазон 'a'-'f'
cmp AL,'a'
jb @@Error
cmp AL,'f'
ja @@Error
sub AL,'a'-10
@@h3: ; Дописать к результату
; очередные 4 разряда справа
shl EBX,4
or BL,AL
inc CX
cmp CX,8
jbe @@h0
; Если в числе больше 8 цифр - ошибка
jmp short @@Error
@@h4: ; Успешное завершение - результат в EAX
mov EAX,EBX
jmp short @@End
@@Error:; Ошибка - обнулить результат
xor EAX,EAX
@@End: pop SI
pop CX
pop EBX
ret
ENDP HexToBin32
;************************************************
;* ПРИНЯТЬ С КЛАВИАТУРЫ НОВЫЙ АДРЕС ИЛИ КОМАНДУ *
;************************************************
PROC GetAddressOrCommand near
pushad
; Использовать при выводе белый цвет, черный фон
mov [TextColorAndBackground],WHITE
; Установить номер строки поля ввода
and AL,AL
jz @@h4
; Проверка на диапазон '0'-'9'
cmp AL,'0'
jb @@Error
cmp AL,'9'
ja @@h1
sub AL,'0'
jmp short @@h3
@@h1: ; Проверка на диапазон 'A'-'F'
cmp AL,'A'
jb @@Error
cmp AL,'F'
ja @@h2
sub AL,'A'-10
jmp short @@h3
@@h2: ; Проверка на диапазон 'a'-'f'
cmp AL,'a'
jb @@Error
cmp AL,'f'
ja @@Error
sub AL,'a'-10
@@h3: ; Дописать к результату
; очередные 4 разряда справа
shl EBX,4
or BL,AL
inc CX
cmp CX,8
jbe @@h0
; Если в числе больше 8 цифр - ошибка
jmp short @@Error
@@h4: ; Успешное завершение - результат в EAX
mov EAX,EBX
jmp short @@End
@@Error:; Ошибка - обнулить результат
xor EAX,EAX
@@End: pop SI
pop CX
pop EBX
ret
ENDP HexToBin32
;************************************************
;* ПРИНЯТЬ С КЛАВИАТУРЫ НОВЫЙ АДРЕС ИЛИ КОМАНДУ *
;************************************************
PROC GetAddressOrCommand near
pushad
; Использовать при выводе белый цвет, черный фон
mov [TextColorAndBackground],WHITE
; Установить номер строки поля ввода
66
Страницы
- « первая
- ‹ предыдущая
- …
- 64
- 65
- 66
- 67
- 68
- …
- следующая ›
- последняя »
