ВУЗ:
Составители:
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
- …
- следующая ›
- последняя »