Microsoft (R) Macro Assembler Version 6.11 03/29/13 18:14:18 u:\program2.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 группа, задание 2','$' E3 AF AF A0 2C 20 A7 A0 A4 A0 AD A8 A5 20 32 24 0027 AD A5 E3 A4 24 s2 db 'неуд','$' 002C E3 A4 AE A2 AB 24 s3 db 'удовл','$' 0032 E5 AE E0 AE E8 AE s4 db 'хорошо','$' 24 0039 AE E2 AB A8 E7 AD s5 db 'отлично','$' AE 24 0041 0027 R 002C R 0032 R adr dw s2,s3,s4,s5 0039 R 0049 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 inint bx 0032 50 1 push ax 0033 9A ---- 0000 E 1 call procinint 0038 8B D8 1 mov bx,ax 003A 58 1 pop ax 003B 83 EB 02 sub bx,2 003E 03 DB add bx,bx 0040 8B 97 0041 R mov dx,adr[bx] outstr 0044 50 1 push ax 0045 B4 09 1 mov ah,9 0047 CD 21 1 int 21h 0049 58 1 pop ax 004A B4 08 mov ah,8 004C CD 21 int 21h finish 004E B4 4C 1 mov ah,4Ch 0050 CD 21 1 int 21h 0052 code ends end start Microsoft (R) Macro Assembler Version 6.11 03/29/13 18:14:18 u:\program2.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 0052 Para Private 'CODE' data . . . . . . . . . . . . . . 16 Bit 0049 Para Private stack . . . . . . . . . . . . . 16 Bit 0100 Para Stack Symbols: N a m e Type Value Attr ??0000 . . . . . . . . . . . . . Number 0000h adr . . . . . . . . . . . . . . Word 0041 data 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 s2 . . . . . . . . . . . . . . . Byte 0027 data s3 . . . . . . . . . . . . . . . Byte 002C data s4 . . . . . . . . . . . . . . . Byte 0032 data s5 . . . . . . . . . . . . . . . Byte 0039 data start . . . . . . . . . . . . . L Near 0000 code s . . . . . . . . . . . . . . . Byte 0000 data 0 Warnings 0 Errors