ВУЗ:
Составители:
68
; Отобразить число на экране
mov SI,offset SpaceString
call ShowString
mov SI,offset OutAddress
call ShowString
@@GetNextChar:
; Отобразить курсор в новой позиции ввода
mov [ScreenColumn],47
mov AL,[CharacterCounter]
add [byte ptr ScreenColumn],AL
call SetCursorPosition
; Ожидать ввода следующего символа
call GetChar
cmp AL,0
jne @@Address
; Проанализировать код нажатой клавиши
cmp AH,B_Esc ;отмена ввода адреса
je @@GetAddressOrCommand
@@TestF10:
cmp AH,F10 ;"Выход"
jne @@TestRubout
mov [CommandByte],AH
jmp @@End
@@TestRubout:
cmp AH,B_RUBOUT ;"Забой"
jne @@TestEnter
cmp [CharacterCounter],0
je @@AddressError
; Передвинуть признак конца строки
; на разряд влево
dec DI
dec [CharacterCounter]
mov [byte ptr DS:DI],0
; Отобразить число на экране
mov SI,offset SpaceString
call ShowString
mov SI,offset OutAddress
call ShowString
jmp @@GetNextChar
@@TestEnter:
cmp AH,B_Enter ;завершение ввода числа
jne @@AddressError
mov [CommandByte],AH
mov SI,offset AddressString
call HexToBin32
mov [StartAddress],EAX
jmp short @@End
; Отобразить число на экране
mov SI,offset SpaceString
call ShowString
mov SI,offset OutAddress
call ShowString
@@GetNextChar:
; Отобразить курсор в новой позиции ввода
mov [ScreenColumn],47
mov AL,[CharacterCounter]
add [byte ptr ScreenColumn],AL
call SetCursorPosition
; Ожидать ввода следующего символа
call GetChar
cmp AL,0
jne @@Address
; Проанализировать код нажатой клавиши
cmp AH,B_Esc ;отмена ввода адреса
je @@GetAddressOrCommand
@@TestF10:
cmp AH,F10 ;"Выход"
jne @@TestRubout
mov [CommandByte],AH
jmp @@End
@@TestRubout:
cmp AH,B_RUBOUT ;"Забой"
jne @@TestEnter
cmp [CharacterCounter],0
je @@AddressError
; Передвинуть признак конца строки
; на разряд влево
dec DI
dec [CharacterCounter]
mov [byte ptr DS:DI],0
; Отобразить число на экране
mov SI,offset SpaceString
call ShowString
mov SI,offset OutAddress
call ShowString
jmp @@GetNextChar
@@TestEnter:
cmp AH,B_Enter ;завершение ввода числа
jne @@AddressError
mov [CommandByte],AH
mov SI,offset AddressString
call HexToBin32
mov [StartAddress],EAX
jmp short @@End
68
Страницы
- « первая
- ‹ предыдущая
- …
- 66
- 67
- 68
- 69
- 70
- …
- следующая ›
- последняя »
