ВУЗ:
Составители:
31
Продолжение прил.
Turbo Assembler Version 2.5 05/15/95 11:18:15 Page 1
ascbin.ASM
1 extrn des:word
2 public ascbin
3 ;-------------------------------------------------------------;
4 0000 cseg segment para public 'code' ;
5 0000 ascbin proc far ; с ;
6 assume cs:cseg ; ;
7 0000 53 push bx ; Сохранение содержимого ; е ;
8 0001 51 push cx ; рабочих регистров ; ;
9 0002 56 push si ; ; г ;
10 0003 B8 0000 mov ax,0 ; ; ;
11 0006 BB 0000 mov bx,0 ; Подготовка цикла ; м ;
12 0009 B9 0003 mov cx,3 ; ; ;
13 000C povt1: ; е ;
14 000C F7 2E 0000e imul des ; ax:=ax*10 ; ;
15 0010 46 inc si ; Формирование в bl ; н ;
16 0011 8A 1C mov bl,[si] ; двоичного эквивалента ; ;
17 0013 80 E3 0F and bl,0fh ; i-го разряда числа ; т ;
18 0016 03 C3 add ax,bx ; ax:=ax+bl(bh содерж.0) ; ;
19 0018 E2 F2 loop povt1 ; ; ;
20 001A 5E pop si ; Восстановление si ; ;
21 001B 80 3C 2B cmp byte ptr [si],'+' ; формирование ; ;
22 001E 74 02 je pos ; знака двоичного ; к ;
23 0020 F7 D8 neg ax ; эквивалента числа ; ;
24 0022 pos: ; о ;
25 0022 59 pop cx ; Восстановление содержимого ; ;
26 0023 5B pop bx ; рабочих регистров ; д ;
27 0024 CB ret ; Возврат
в вызывающую программу ; ;
28 0025 ascbin endp ; а ;
29 ;------------------------------------------------------- ;
30 0025 cseg ends ;
31 ;-------------------------------------------------------------;
32 en
d
Продолжение прил.
Turbo Assembler Version 2.5 05/15/95 11:18:15 Page 1
ascbin.ASM
1 extrn des:word
2 public ascbin
3 ;-------------------------------------------------------------;
4 0000 cseg segment para public 'code' ;
5 0000 ascbin proc far ; с ;
6 assume cs:cseg ; ;
7 0000 53 push bx ; Сохранение содержимого ; е ;
8 0001 51 push cx ; рабочих регистров ; ;
9 0002 56 push si ; ; г ;
10 0003 B8 0000 mov ax,0 ; ; ;
11 0006 BB 0000 mov bx,0 ; Подготовка цикла ; м ;
12 0009 B9 0003 mov cx,3 ; ; ;
13 000C povt1: ; е ;
14 000C F7 2E 0000e imul des ; ax:=ax*10 ; ;
15 0010 46 inc si ; Формирование в bl ; н ;
16 0011 8A 1C mov bl,[si] ; двоичного эквивалента ; ;
17 0013 80 E3 0F and bl,0fh ; i-го разряда числа ; т ;
18 0016 03 C3 add ax,bx ; ax:=ax+bl(bh содерж.0) ; ;
19 0018 E2 F2 loop povt1 ; ; ;
20 001A 5E pop si ; Восстановление si ; ;
21 001B 80 3C 2B cmp byte ptr [si],'+' ; формирование ; ;
22 001E 74 02 je pos ; знака двоичного ; к ;
23 0020 F7 D8 neg ax ; эквивалента числа ; ;
24 0022 pos: ; о ;
25 0022 59 pop cx ; Восстановление содержимого ; ;
26 0023 5B pop bx ; рабочих регистров ; д ;
27 0024 CB ret ; Возврат в вызывающую программу ; ;
28 0025 ascbin endp ; а ;
29 ;------------------------------------------------------- ;
30 0025 cseg ends ;
31 ;-------------------------------------------------------------;
32 end
31
Страницы
- « первая
- ‹ предыдущая
- …
- 30
- 31
- 32
- 33
- 34
- …
- следующая ›
- последняя »
