
12 0000 Cseg segment para public 'code'
13 Assume cs:cseg,ds:dseg,ss:stack
14 0000 Our_prog proc far
15 0000 1E push ds
16 0001 2B C0 sub ax,ax
17 0003 50 push ax
18 0004 B8 0000s mov ax,dseg
19 0007 8E D8 mov ds,ax
20 0009 C6 06 0005r 00 mov a,0
21 000E C6 06 0006r 00 mov b,0
22 0013 C6 06 0007r 00 mov c,0
23 0018 C6 06 0008r 00 mov d,0
24 001D C6 06 0009r 00 mov e,0
25 0022 A0 0000r mov al, source
26 0025 A2 0009r mov e,al
27 0028 A0 0001r mov al, source+1
28 002B A2 0008r mov d,al
29 002E A0 0002r mov al, source+2
30 0031 A2 0007r mov c,al
31 0034 A0 0003r mov al, source+3
32 0037 A2 0006r mov b,al
33 003A A0 0004r mov al, source+4
34 003D A2 0005r mov a,al
35 0040 CB ret
36 0041 our_prog endp
37 0041 cseg ends
38 end our_prog
Turbo Assembler Version 3.1 10/04/12 21:08:25 Page 3
Symbol Table
Symbol Name Type Value
??DATE Text "10/04/12"
??FILENAME Text "1 "
??TIME Text "21:08:25"
??VERSION Number 030A
@CPU Text 0101H
@CURSEG Text CSEG
@FILENAME Text 1
@WORDSIZE Text 2
A Byte DSEG:0005
B Byte DSEG:0006
C Byte DSEG:0007
D Byte DSEG:0008
E Byte DSEG:0009
OUR_PROG Far CSEG:0000
SOURCE Byte DSEG:0000
Groups & Segments Bit Size Align Combine Class
CSEG 16 0041 Para Public CODE
DSEG 16 000A Para Public DATA
STACK 16 0140 Para Stack STACK
Рис.4 программа в окне отладчика
3.2) 5 двухбайтовых слов AA, BB, CC, DD, EE:
Рис.5 трансляция, создание листинга, компоновка и создание .exe файла
Листинг программы:
Turbo Assembler Version 3.1 10/04/12 21:47:49 Page 1
2.asm
1 0000 stack segment para stack 'stack'
2 0000 40*(73 74 61 63 6B) db 64 dup('stack')
3 0140 stack ends
4 0000 dseg segment para public 'data'
5 0000 000A 0014 001E 0028 + source dw 10,20,30,40,50
6 0032
7 000A 0001 a dw 01
8 000C 0001 b dw 01
9 000E 0001 c dw 01
10 0010 0001 d dw 01
11 0012 0001 e dw 01
12 0014 dseg ends
Turbo Assembler Version 3.1 10/04/12 21:47:49 Page 2
2.asm
13 0000 cseg segment para public 'code'
14 assume cs:cseg,ds:dseg,ss:stack
15 0000 our_prog proc far
16 0000 1E push ds
17 0001 2B C0 sub ax,ax
18 0003 50 push ax
19 0004 B8 0000s mov ax,dseg
20 0007 8E D8 mov ds,ax
21 0009 C7 06 000Ar 0000 mov a,0
22 000F C7 06 000Cr 0000 mov b,0
23 0015 C7 06 000Er 0000 mov c,0
24 001B C7 06 0010r 0000 mov d,0
25 0021 C7 06 0012r 0000 mov e,0
26 0027 A1 0000r mov ax,source
27 002A A3 0012r mov e,ax
28 002D A1 0001r mov ax,source+1
29 0030 A3 0010r mov d,ax
30 0033 A1 0002r mov ax,source+2
31 0036 A3 000Er mov c,ax
32 0039 A1 0003r mov ax,source+3
33 003C A3 000Cr mov b,ax
34 003F A1 0004r mov ax,source+4
35 0042 A3 000Ar mov a,ax
36 0045 CB ret
37 0046 our_prog endp
38 0046 cseg ends
39 end our_prog
Turbo Assembler Version 3.1 10/04/12 21:47:49 Page 3
Symbol Table
Symbol Name Type Value
??DATE Text "10/04/12"
??FILENAME Text "2 "
??TIME Text "21:47:49"
??VERSION Number 030A
@CPU Text 0101H
@CURSEG Text CSEG
@FILENAME Text 2
@WORDSIZE Text 2
A Word DSEG:000A
B Word DSEG:000C
C Word DSEG:000E
D Word DSEG:0010
E Word DSEG:0012
OUR_PROG Far CSEG:0000
SOURCE Word DSEG:0000
Groups & Segments Bit Size Align Combine Class
CSEG 16 0046 Para Public CODE
DSEG 16 0014 Para Public DATA
STACK 16 0140 Para Stack STACK
Рис.6 программа в окне отладчика
3.3) 5 двойных слов AAAA, BBBB, CCCC, DDDD, EEEE;
В коде где определяется сегмент данных за место db вставляем dd – двойное слово.
Рис.7 трансляция, создание листинга, компоновка и создание .exe файла
Листинг программы:
Turbo Assembler Version 3.1 11/04/12 10:05:17 Page 1
3.asm
1 0000 stack segment para stack 'stack'
2 0000 40*(73 74 61 63 6B) db 64 dup('stack')
3 0140 stack ends
4 0000 dseg SEGMENT para public 'data'
5 0000 41414141 42424242 + source2 dd 41414141h,42424242h,43434343h,44444444h,45454545h
6 43434343 44444444 +
7 45454545
8 0014 dseg ends
Turbo Assembler Version 3.1 11/04/12 10:05:17 Page 2
3.asm
9 0000 cseg segment para public 'code'
10 assume cs:cseg,ds:dseg,ss:stack
11 0000 our_prog proc far
12 0000 1E push ds
13 0001 2B C0 sub ax,ax
14 0003 B8 0000s mov ax,dseg
15 0006 8E D8 mov ds,ax
16 0008 CB ret
17 0009 our_prog endp
18 0009 cseg ends
19 end our_prog
Turbo Assembler Version 3.1 11/04/12 10:05:17 Page 3
Symbol Table
Symbol Name Type Value
??DATE Text "11/04/12"
??FILENAME Text "3 "
??TIME Text "10:05:17"
??VERSION Number 030A
@CPU Text 0101H
@CURSEG Text CSEG
@FILENAME Text 3
@WORDSIZE Text 2
OUR_PROG Far CSEG:0000
SOURCE2 Dword DSEG:0000
Groups & Segments Bit Size Align Combine Class
CSEG 16 0009 Para Public CODE
DSEG 16 0014 Para Public DATA
STACK 16 0140 Para Stack STACK
Рис.8 программа в окне отладчика