ВУЗ:
Составители:
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
- …
- следующая ›
- последняя »