Microsoft (R) Macro Assembler Version 6.11 04/02/13 06:57:07 u:\program3.asm Page 1 - 1 include io.asm ;подключение операций ввода-вывода C C .nolist ;запрет записи этого файла в листинг C .list C 0000 stack segment stack 0000 0080 [ dw 128 dup (?) 0000 ] 0100 stack ends 0000 data segment ; место для переменных и констант 0000 8D A5 AA E0 A0 E1 s db 'Некрасов Алексей','$' AE A2 20 80 AB A5 AA E1 A5 A9 24 0011 31 31 30 20 A3 E0 s1 db '110 группа, задание 3','$' E3 AF AF A0 2C 20 A7 A0 A4 A0 AD A8 A5 20 33 24 0027 0005 [ z db 5 dup(0),'$' 00 ] 24 002D data ends 0000 code segment 'code' assume ss:stack, ds:data, cs:code ; место для описания процедур 0000 start: 0000 B8 ---- R mov ax,data 0003 8E D8 mov ds,ax ; команды программы должны располагаться здесь 0005 8D 16 0000 R lea dx,s outstr 0009 50 1 push ax 000A B4 09 1 mov ah,9 000C CD 21 1 int 21h 000E 58 1 pop ax newline 000F 9A ---- 0000 E 1 call procnl 0014 8D 16 0011 R lea dx,s1 outstr 0018 50 1 push ax 0019 B4 09 1 mov ah,9 001B CD 21 1 int 21h 001D 58 1 pop ax newline 001E 9A ---- 0000 E 1 call procnl newline 0023 9A ---- 0000 E 1 call procnl outch '>' 0028 52 1 push dx 0029 50 1 push ax 002A B2 3E 1 mov dl,'>' 002C B4 02 1 mov ah,2 002E CD 21 1 int 21h 0030 58 1 pop ax 0031 5A 1 pop dx 0032 B9 0005 mov cx,5 0035 BB 000A mov bx,10 inint ax 0038 9A ---- 0000 E 1 call procinint 003D 83 F8 00 cmp ax,0 0040 7D 0A jge L3 outch '-' 0042 52 1 push dx 0043 50 1 push ax 0044 B2 2D 1 mov dl,'-' 0046 B4 02 1 mov ah,2 0048 CD 21 1 int 21h 004A 58 1 pop ax 004B 5A 1 pop dx 004C 99 L3: cwd 004D F7 FB idiv bx 004F 8B F9 mov di,cx 0051 4F dec di 0052 83 FA 00 cmp dx,0 0055 7D 09 jge L4 0057 92 xchg ax,dx 0058 B3 FF mov bl,-1 005A F6 EB imul bl 005C BB 000A mov bx,10 005F 92 xchg ax,dx 0060 88 95 0027 R L4: mov z[di],dl 0064 83 F8 00 cmp ax,0 0067 74 02 je exit 0069 E2 E1 loop L3 006B exit: 006B 8B F9 mov di,cx 006D 8A E9 mov ch,cl 006F B1 05 mov cl,5 0071 2A CD sub cl,ch 0073 32 ED xor ch,ch 0075 41 inc cx 0076 4F dec di 0077 8A 85 0027 R L5: mov al, z[di] 007B 04 30 add al,'0' outch al 007D 52 1 push dx 007E 50 1 push ax 007F 8A D0 1 mov dl,al 0081 B4 02 1 mov ah,2 0083 CD 21 1 int 21h 0085 58 1 pop ax 0086 5A 1 pop dx 0087 47 inc DI 0088 E2 ED loop L5 008A B4 08 mov ah,8 008C CD 21 int 21h finish 008E B4 4C 1 mov ah,4Ch 0090 CD 21 1 int 21h 0092 code ends end start Microsoft (R) Macro Assembler Version 6.11 04/02/13 06:57:07 u:\program3.asm Symbols 2 - 1 Macros: N a m e Type finish . . . . . . . . . . . . . Proc flush . . . . . . . . . . . . . Proc inch . . . . . . . . . . . . . . Proc inint . . . . . . . . . . . . . Proc newline . . . . . . . . . . . . Proc outch . . . . . . . . . . . . . Proc outint . . . . . . . . . . . . . Proc outnum . . . . . . . . . . . . . Proc outstr . . . . . . . . . . . . . Proc outword . . . . . . . . . . . . Proc same . . . . . . . . . . . . . . Proc Segments and Groups: N a m e Size Length Align Combine Class code . . . . . . . . . . . . . . 16 Bit 0092 Para Private 'CODE' data . . . . . . . . . . . . . . 16 Bit 002D Para Private stack . . . . . . . . . . . . . 16 Bit 0100 Para Stack Symbols: N a m e Type Value Attr ??0000 . . . . . . . . . . . . . Number 0001h L3 . . . . . . . . . . . . . . . L Near 004C code L4 . . . . . . . . . . . . . . . L Near 0060 code L5 . . . . . . . . . . . . . . . L Near 0077 code exit . . . . . . . . . . . . . . L Near 006B code procflush . . . . . . . . . . . L Far 0000 External procinch . . . . . . . . . . . . L Far 0000 External procinint . . . . . . . . . . . L Far 0000 External procnl . . . . . . . . . . . . . L Far 0000 External procoutnum . . . . . . . . . . . L Far 0000 External s1 . . . . . . . . . . . . . . . Byte 0011 data start . . . . . . . . . . . . . L Near 0000 code s . . . . . . . . . . . . . . . Byte 0000 data z . . . . . . . . . . . . . . . Byte 0027 data 0 Warnings 0 Errors