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

775

.pdf
Скачиваний:
1
Добавлен:
07.01.2021
Размер:
678.27 Кб
Скачать

B20:

 

 

MOV

AL,[SI+BX]

; выбрать ASCII-символ

AND

AX,000FH

; очистить зону тройки

MUL

MULT10

; умножить на фактор 10

ADD

BINVAL_w,AX

; прибавить к двоичному

MOV

AX,MULT10

;вычислить следующий

MUL

CX

; фактор умножения

MOV

MULT10,AX

 

DEC

BX

; последний. ASCII-символ?

JNZ

B20

;если нет – продолжить

ret

 

 

ASCII_binw ENDP

;************************************************************************

ascii_bind proc

;процедура перевода из ASCII в bin для двойного слова

mov mult10,1

 

mov word ptr BINVAL_d,0

mov word ptr BINVAL_d[2],0

xor

ax,ax

 

xor

dx,dx

 

mov CX,10

lea si,namefld_d-1 mov bl,faktlen_d mov bh,0

abd20:

mov al,[si+bx] and ax,000fh mul mult10

add word ptr binval_d,ax adc word ptr binval_d+2,dx mov ax,mult10

mul cx

mov mult10,ax dec bx

jnz abd20 ret

ascii_bind endp ;***********************************************************************

clrascval proc

;процедура очистки ASCVAL

mov cx,32

 

mov si,31

 

clr1: and ascval[si],30h

 

dec si

 

loop clr1

 

ret

 

clrascval endp

 

clrscr proc

 

 

131

mov ax,0600h

;\

|al=00 (весь экран), ah=06 (прокрутка)

mov bh,07

; \

|чёрно-белый

mov cx,0000

; очистка экрана

|левая верхняя позиция

mov dx,314fh

; /

|правая нижняя позиция

int 10h

;/

|передача управления в BIOS

mov num_ln,0 clrscr endp

;************************************************************************ bin_bin proc

call clrascval lea si,ascval[31] xor cx,cx

xor bx,bx

mov ax,word ptr rezult mov dx,word ptr rezult+2

metb1: cmp dx,0

 

jne metb5

 

cmp ax,2

 

jb metb2

 

metb5: sub ax,2

 

sbb dx,0

 

add bx,1

 

adc cx,0

 

jmp metb1

 

metb2: or al,30h

 

mov [si],al

 

dec si

 

cmp cx,0

 

je metb3

 

jmp metb4

 

metb3: cmp bx,0

 

jne metb4

 

ret

 

metb4: mov ax,bx

 

mov dx,cx

 

xor bx,bx

 

xor cx,cx

 

jmp metb1

 

bin_bin endp

 

CODESEG ENDS

;конец сегмента данных

END

;конец основной процедуры

132

ЛЕОНИД ЕФИМОВИЧ ОЛЕЙНИК

ЯЗЫКИ ПРОГРАММИРОВАНИЯ

Учебное пособие Для специальности 075500

Часть 2 ЛОГИЧЕСКИЕ ОПЕРАЦИИ. УСЛОВНЫЕ

И БЕЗУСЛОВНЫЕ ПЕРЕХОДЫ, ОРГАНИЗАЦИЯ ЦИКЛОВ, ВЫЗОВ ПРОЦЕДУР, ИСПОЛЬЗОВАНИЕ СТЕКА

Главный редактор М. А. Тихонова Учебное издание

Подписано к печати 27.07.06 Формат 60 x 90 1/16. Бумага писчая Гарнитура Таймс Оперативный способ печати Усл. п. л. 8,5, уч.-изд. л. 8,5

Тираж экз. 145. Заказ 81 Цена договорная

Издательство СибАДИ 644099, Омск, ул. П. Некрасова, 10

Отпечатано в ПЦ издательства СибАДИ 644099, Омск, ул. П. Некрасова, 10

133

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]