, , - . . SEGMENT :
< > SEGMENT
:
.
< > ENDS
, . ENDS .
data:
data SEGMENT
A dB 35h, 44, 0FAh
AB dW 3145h, 4456h, 1F4Ah
A3 dB " "
data ENDS
, -. : , DB , DW .
:
[] DN <>
, , . :
MOV AX, AB; (. ) .
3145h. . 3, .. . 0. ( 35h). 44 0FAh, , 0+3 =3.
MOV AL, A+2 L FA, MOV AX, AB+2 4456h.
DN (1) :
DB (), DW (), DD ( ), DQ ( ), DT (10 ).
, :
FL DB 25; : FL1 DB 11,12,25,84,91,..., .
. FL1 - 11, FL1+1, - , 12.
:
FL2 DW?
. :
[] Dn < > DUP(<>)
:
DW 10 DUP(?);
DB 5 DUP(14); 0Eh
DB 3 DUP(4 DUP(8)); .
. , , , , . . ASCII. DB:
KSP DB ''
"", :
|
|
mov KSP+8, ''
- , , :
mov AL, A; AL.
:
mov A, AL; AL , .
, , . ,
mov AL, [DI]
DI; , DI . SI, DI, BX, BP.
offset:
mov BX, offset AB
offset BX AB.
mov AX, [BX]
AX () 3145h. (.. ) 4456h:
INC BX
INC BX
MOV AX, [BX]; 4456h.
, . . 27FC, - 573.
dat SEGMENT;
A dW 2 dup (?)
dat ENDS;
ASSUME CS: cod, ds: dat
cod SEGMENT;
START: mov AX, dat;
mov DS, AX;
mov A, 27FCh;
mov A+2, 573Ah;
RET
cod ENDS;
END START
ASSUME
ASSUME . . ASSUME , , cod ( ), dat DS.
, :
1 | 2 | 3 | 4 | 5 | |
1 | 5 (. DUP) | " " | 1 | 1 | 2 (.DUP) |
T2 | " " | 6 (.DUP) | . 4 : 82h,137,5h, 1100111B | 4 E48Ah (.DUP) | 4 : A83h, F47h, 892, 101110111B |
T3 | 3 . A584h (.DUP) | . 6 89h, 10010010B, 254, AAh, -112, 7Fh | 5 EF3Ah (.DUP) | " " | " " |
4 | 4 4Ah, F7h, -54, 111101B | . 2 : 7777h, 8888h | " " | . 3 : 84h, -111, CEh | 5 . 55h (.DUP) |
6 | 7 | 8 | 9 | 10 | |
T5 | 6 (.DUP) | " " | 1 | 1 | 2 (.DUP) |
T6 | " | 3 (.DUP) | 4 : 82h,137,5h, 1100111B | 4 E48Ah (.DUP) | 4 : A83h, F47h,892, 101110111B |
T7 | 2 F4E8h (.DUP) | 5 AEh,1011011B, 135, F4h, -96 | 4 E73Ah (.DUP) | " " | " " |
T8 | 6 7Eh, B5h, -103, 1110100B, 250 | 3 : EEF7h, 12A8h, CA34h | " " | 3 -35h, -107, FAh | 6 F4h (.DUP) |
|
|
MOV.
1. DS, ES
2.
1 | 2 | 3 | 4 | 5 |
3+2 3333h | 2+2 4444h | 3+4 7777h | T1 FAh | T4+1 FAh |
6 | 7 | 8 | 9 | 10 |
5+4 BCCBh | 6+4 FAFAh | 7+6 AA56h | T5 7Ah | T8+3 FAh |
3. , "OFFSET":
1 | 2 | 3 | 4 | 5 |
BX, T1+4 | SI, T2 | DI, T1+2 | BX, T2+6 | SI, T3+1 |
6 | 7 | 8 | 9 | 10 |
BX, T7+2 | SI, T6 | DI, T7+4 | BX, T8+2 | SI, T5+3 |
4. AX
1 | 2 | 3 | 4 | 5 |
DS | SS | ES | CS | DS |
6 | 7 | 8 | 9 | 10 |
ES | CS | DS | SS | ES |
5. (),
1 | 2 | 3 | 4 | 5 |
BX | SI | DI | BX | SI |
6 | 7 | 8 | 9 | 10 |
BX | SI | DI | BX | SI |
6. , . . INC reg.
7. 5.
8. MOV "W".
.
assume cs:code, ds:dat | ||
dat segment | ||
t1 db ' ' | ||
t2 dw 7 dup(?) | ||
t3 dw 1f47h,1222h,10011011b,1345h,6789 | ||
t4 dw? | ||
t5 dw 0a45h | ||
dat ends | ||
code segment | ||
start: | ||
mov ax, dat | ||
mov ds, ax | ||
mov t4, 2222h | ||
mov ax, ds | ||
mov cx, offset t3 | ||
mov bx, cx | ||
mov dx, [bx] | ||
mov t3+6, 1111 | ; 3+6 (..30); 1111 | |
mov si, offset t2 | ; 2, ; 16 | |
mov ax, 1112h | ||
mov [si], ax | ; , SI, | |
inc si | ; ; SI ( SI 1) | |
inc si | ||
inc ax | ||
mov ax, cs | ||
mov [si], ax | ||
ret | ||
code ends | ||
end start |
.3