Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

_New / for lab2 / PRG00011

.DOC
Скачиваний:
9
Добавлен:
16.04.2013
Размер:
22.53 Кб
Скачать

.model small

.code

.startup

push ds

pop es

lNext: xor ax, ax

int 16h

cmp al, 27 ; check for 'ESC'

je lExit

mov symbol, al

mov bx, 00001111b

sub al, 'a'

jnz lComB

lea bp, com_a

mov cx, com_len

jmp lPrint

lComB: mov al, symbol

cmp al, 'b'

jne lComC

lea bp, com_b

mov cx, com_len

jmp lPrint

lComC: mov al, symbol

xor al, 'c'

jnz lUnh

lea bp, com_c

mov cx, com_len

jmp lPrint

lUnh: lea bp, unh

mov cx, unh_len

xor bx, 00001000b

lPrint: push cx

mov ah, 3

xor bh, bh

int 10h

pop cx

mov ax, 1300h

int 10h

jmp lNext

lExit: .exit 0

.data

unh db 'unhandled symbol',07h,0Ah,0Dh

unh_len dw $-unh

com_a db 'command A executed',0Ah,0Dh

com_b db 'command B executed',0Ah,0Dh

com_c db 'command C executed',0Ah,0Dh

com_len dw $-com_c

symbol db ?

.stack 128

end

Соседние файлы в папке for lab2