3552
Интерпретатор введенного кадра или УП
Лабораторная работа
Информатика, кибернетика и программирование
Программа интерпретатор Блок – схема алгоритма Kadr: ClearScreen белый фон PrintXY 0,0,WW Locate 0,2 CursorOn ввод кадра mov di, OFFSET BuferData mov...
Русский
2012-11-03
67 KB
2 чел.
12.5 Программа интерпретатор
Блок схема алгоритма
Kadr: ClearScreen ;белый фон
PrintXY 0,0,WW
Locate 0,2
CursorOn ;ввод кадра
mov di,OFFSET BuferData
mov cx,0 ;cчетчик удалений символов
ww: mov ah,01 ;ввод символа с эхом
int 21h ;по INT 21h
cmp al,0
jz ww ;не принимать функц клавиши
zzz: cmp al,08h ;это Backspace?
jnz @@2
cmp cx,0 ;да,обрабатывем удаление, все удалено?
jz ww ;да, за новым символом
Tout 20h ;нет, надо удалить, пробел на зкран
Tout 8 ;и шаг назад
dec cx ;уменьшить число введенных символов из
;за удаления
dec di ;и счетчик текущего адреса в буфере УП
mov [byte ptr di],20h ;код пробела в буфер(косвенно)
jmp ww ;за новым символом
@@2: cmp al,13 ;это enter ?
jnz @@4
mov [di],al ;да, символ в буфер
inc cx ;позиция на экране
jmp short prover ;да,на завершение
@@4: mov [di],al ;нет, символ в буфер
inc cx ;позиция на экране
inc di ;позиция в буфере
jmp ww ;за символом
prover: mov [Leng],cx
PrintXY 0,4, Proverka
Locate 0,5
mov ah,40h ;вывести на зкран из буфера символов
mov bx,01 ;в количестве, заданного в сх
mov dx,OFFSET BuferData ;из буфера
int 21h ;с помощью INT 21H(40)
KeyWait
; ПРОГРАММА ИНТЕРПРЕТАТОР
Locate 10,6
CursorOn
mov di,OFFSET BuferData
dec di
mov dx,0
intern:
mov [znak],0 ;проверка по знаку
inc di
inc dx
mov bl,[byte ptr di] ;содержимое буфера в bl
cmp bl,'A' ;если в буфере А,
jz AL1 ;то вводим следующий символ
jmp DD1 ;вводим следующую команду через пробел
AL1: inc di ;сдвиг в буфере
inc dx ;на одну позицию для следующего символа
mov bl,[byte ptr di] ;содержимое буфера в bl
cmp bl,'L' ;если в буфере L
jz zna ;то на метку zna
jmp AH1 ;в противном случае на метку AH1
zna: CharToDec
Tout 'A' ;вывод на экран символа А
BinToDec ax ;в регистр ах записываем
AP ax ;количество дискрет
jmp probel ;переход на метку probel
AH1: cmp bl,'H' ;если в буфере Н
jz znah ;то на метку znah
jmp A01 ;в противном случае на А01
znah: CharToDec
Tout 'A' ;вывод на экран символа А
BinToDec ax ;в регистр ах записываем
APB ax ;количество дискрет
jmp probel ;переход на метку probel
A01: cmp bl,'0' ;если в буфере 0
jz A011 ;то на метку А011
jmp exiter ;в противном случае ошибка
A011: Tout 'A' ;вывод на экран А0
Tout '0' ;после отработки перемещения
Tout ' ' ;через пробел с другими командами
A0 ;выполнение команды
jmp probel ;переход на метку probel
DD1: cmp bl,'D'
jz DL1
jmp CC1
DL1: inc di
inc dx
mov bl,[byte ptr di]
cmp bl,'L'
jz znd
jmp DH1
znd: CharToDec
Tout 'D'
BinToDec ax
DP ax
jmp probel
DH1: cmp bl,'H'
jz zndh
jmp D01
zndh: CharToDec
Tout 'D'
BinToDec ax
DPB ax
jmp probel
D01: cmp bl,'0'
jz D011
jmp exiter
D011: Tout 'D'
Tout '0'
Tout ' '
D0
jmp probel
CC1: cmp bl,'C'
jz CL1
jmp WRZV
CL1: inc di
inc dx
mov bl,[byte ptr di]
cmp bl,'L'
jz znc
jmp CH1
znc: CharToDec
Tout 'C'
BinToDec ax
CP ax
jmp probel
CH1: cmp bl,'H'
jz znch
jmp C01
znch: CharToDec
Tout 'C'
BinToDec ax
CPB ax
jmp probel
C01: cmp bl,'0'
jz C011
jmp exiter
C011: Tout 'C'
Tout '0'
Tout ' '
C0
jmp probel
WRZV: cmp bl,'W'
jz WR1
jmp BRZV
WR1: inc di
inc dx
mov bl,[byte ptr di]
cmp bl,'R'
jz WR2
jmp WZ1
WR2: Tout 'W'
Tout 'R'
Tout ' '
Delay 30000
RedWer
Delay 30000
jmp probel
WZ1: cmp bl,'Z'
jz WZ2
jmp WV1
WZ2: Tout 'W'
Tout 'Z'
Tout ' '
Delay 20000
RedZ
Delay 30000
jmp probel
WV1: cmp bl,'V'
jz WV2
jmp exiter
WV2: Tout 'W'
Tout 'V'
Tout ' '
Delay 30000
RedR
Delay 30000
jmp probel
BRZV: cmp bl,'B'
jz BR1
jmp BZ1
BR1: inc di
inc dx
mov bl,[byte ptr di]
cmp bl,'R'
jz BR2
jmp BZ1
BR2: Tout 'B'
Tout 'R'
Tout ' '
Delay 30000
BlackWer
Delay 30000
jmp probel
BZ1: cmp bl,'Z'
jz BZ2
jmp BV1
BZ2: Tout 'B'
Tout 'Z'
Tout ' '
Delay 30000
BlackZ
Delay 30000
jmp probel
BV1: cmp bl,'V'
jz BV2
jmp exiter
BV2: Tout 'B'
Tout 'R'
Tout ' '
Delay 30000
BlackR
Delay 30000
jmp probel
probel:
inc di ;считываем количество символов
inc dx ;введенных нами
cmp dx,[Leng] ;если все отработано
jz exitn ;то на метку exitn
mov bl,[byte ptr di] ;содержимое буфера в bl
cmp bl,' ' ;если не пробел
jnz exiter ;то вывод сообщения об ошибке
jmp intern ;если да то на ввод символов
exiter: PrintXY 10,10,F_error ;сообщение об ошибке
KeyWait ;ожидание нажатия клавиши
exitn:PrintXY 20,20,Kon1 ;вывод сообщения Кon1
PrintXY 20,21,Kon2 ;вывод сообщения Kon2
keyn: KeyRead ;если клавиша нажата
jz provd ;то на метку provd
jmp keyn
provd:KeyWait ;ожидание нажатия клавиши
cmp ah,1 ;если клавиша Esc
jz exitn1 ;выход из покадрового режима
jmp Kadr ;если нет то метку Kadr
exitn1: jmp menu_reserv ;выход из покадрового режима
DATASEG ;сегмент данных
;Включим файл с содержимым меню.
INCLUDE "rob_menu.dat"
Proverka db 'vash $'
F_error db 'Ошибка $'
Kon1 DB 'Введите следующий кадр $'
Kon2 DB 'Нажмите любую клавишу Esc - выход $'
WW db 'Vvedite kadr $'
Znak DB '+' ;знак числа.
znak DW 0
ENDS
STACK 200h ;начало или продолжение сегмента стека размером 200h
END Start ;конец программы
А также другие работы, которые могут Вас заинтересовать | |||
72505. | ПУТИ ОПТИМИЗАЦИИ ЛОГИСТИЧЕСКИХ ИЗДЕРЖЕК В ЦЕПОЧКАХ ЦЕННОСТИ | 1.57 MB | |
В рамках фирмы обычно реализуется только часть этапов в системе формирования ценностей. Цепочка ценностей стоимостей для каждой фирмы уникальна. Организации связанные одной и той же цепочкой ценностей постоянно взаимодействуют между собой. | |||
72506. | УЧЕТ ЛОГИСТИЧЕСКИХ ИЗДЕРЖЕК | 1.17 MB | |
Вопросы учета и анализа логистических издержек с целью их минимизации представляют наибольшую сложность по сравнению с другими видами затрат. Взаимосвязь цен объема продаж и рентабельности Управление затратами служит средством достижения предприятием высоких экономических результатов... | |||
72507. | ТРАНСАКЦИОННЫЕ ИЗДЕРЖКИ В ЛС | 431 KB | |
В ЛС Процесс производства всегда требует определенных затрат но в ЛС где действуют несколько организаций-участников помимо внутренних издержек возникают и трансакционные издержки к которым относятся все затраты на взаимосвязи в цепи поставок помимо собственных издержек производства торговли и сферы услуг. | |||
72508. | Логистические затраты | 238.5 KB | |
Для управления конкретными логистическими процессами в том числе транспортировкой закупкой запасами необходимо знать факторы учитываемые при оптимизации определенных решений. Например: при расчете оптимального объема поставляемой партии необходимо знать: затраты на формирование запасов и или затраты на заказ... | |||
72509. | ВИДЫ И ИСТОЧНИКИ ВОЗНИКНОВЕНИЯ ЛОГИСТИЧЕСКИХ ИЗДЕРЖЕК | 99 KB | |
Логистические процессы охватывающие как материальные и информационные процессы так и отдельные элементы финансовых процессов приводят к возникновению определенных затрат которые в хозяйственной практике не всегда отождествляются с затратами в строгом понимании этого термина. | |||
72510. | СПОСОБЫ МОДИФИКАЦИИ ЦЕН В ЛС | 648.5 KB | |
Назначение цены на один продукт или услугу может оказать большое влияние на цены и имидж других продуктов или услуг товарного ассортимента фирмы. Это приведет к тому что ценовая спираль начнет раскручиваться вниз и через некоторое время предприятие окажется в ситуации когда соотношение... | |||
72511. | МЕТОДЫ УСТАНОВЛЕНИЯ ЦЕН НА ПРОДУКТЫ И УСЛУГИ | 237 KB | |
Практическое ценообразование на товары и услуги в условиях рынка означает не только точный расчет производителем своих преимуществ и недостатков, но и в определенном смысле искусство, которым нужно овладеть для учета постоянных изменений спроса и предложения. | |||
72512. | ОСНОВЫ ЦЕНООБРАЗОВАНИЯ В ЛОГИСТИЧЕСКИХ СИСТЕМАХ | 282.5 KB | |
Экономическая природа цены проявляется в двойственной роли которую она играет на рынке. В качестве регулятора цены позволяют ограничивать потребление ресурсов они являются мотивацией производства. В процессе ценообразования учитывается действие различных факторов: текущий спрос ценовая... | |||
72513. | ЭКОНОМИЧЕСКИЕ ОСОБЕННОСТИ ЛОГИСТИЧЕСКИХ СИСТЕМ | 149.5 KB | |
Возникновение и развитие рынка, в рамках которого осуществляется кругооборот ресурсов, доходов и продуктов, происходит при выполнении нескольких обязательных условий. Среди них: общественное разделение труда, которое неизбежно приводит к обмену продуктами и услугами; экономическая обособленность... | |||