775
.pdfB20: |
|
|
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