Microsoft (R) Macro Assembler Version 6.11 04/15/13 22:56:42 u:\program4.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 0004 [ z db 4 dup(0),'$' 00 ] 24 002C 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 BB 0010 mov bx,16 0035 B9 0005 mov cx,5 0038 BF 0004 mov di,4 inint ax 003B 9A ---- 0000 E 1 call procinint 0040 83 F8 00 cmp ax,0 0043 7D 08 jge L3 0045 BA FFFF mov dx,65535 0048 03 D0 add dx,ax 004A 8B C2 mov ax,dx 004C 40 inc ax 004D L3: 004D 33 D2 xor dx,dx 004F F7 F3 div bx 0051 4F dec di 0052 88 95 0027 R mov z[di],dl 0056 83 F8 00 cmp ax,0 0059 74 02 je exit 005B E2 F0 loop L3 005D exit: 005D B9 0004 mov cx,4 0060 BF 0000 mov di,0 0063 8A 85 0027 R L5: mov al, z[di] 0067 3C 0A cmp al,10 0069 73 04 jae L6 006B 04 30 add al,'0' 006D EB 04 jmp short L7 006F 04 41 L6: add al,'A' 0071 2C 0A sub al,10 0073 L7: outch al 0073 52 1 push dx 0074 50 1 push ax 0075 8A D0 1 mov dl,al 0077 B4 02 1 mov ah,2 0079 CD 21 1 int 21h 007B 58 1 pop ax 007C 5A 1 pop dx 007D 47 inc DI 007E E2 E3 loop L5 0080 B4 08 mov ah,8 0082 CD 21 int 21h finish 0084 B4 4C 1 mov ah,4Ch 0086 CD 21 1 int 21h 0088 code ends end start Microsoft (R) Macro Assembler Version 6.11 04/15/13 22:56:42 u:\program4.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 0088 Para Private 'CODE' data . . . . . . . . . . . . . . 16 Bit 002C Para Private stack . . . . . . . . . . . . . 16 Bit 0100 Para Stack Symbols: N a m e Type Value Attr ??0000 . . . . . . . . . . . . . Number 0001h L3 . . . . . . . . . . . . . . . L Near 004D code L5 . . . . . . . . . . . . . . . L Near 0063 code L6 . . . . . . . . . . . . . . . L Near 006F code L7 . . . . . . . . . . . . . . . L Near 0073 code exit . . . . . . . . . . . . . . L Near 005D 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