-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathLab#07_Task#1.asm
More file actions
47 lines (39 loc) · 848 Bytes
/
Lab#07_Task#1.asm
File metadata and controls
47 lines (39 loc) · 848 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
.MODEL SMALL
.STACK 100H
.DATA
STRING DB 'This is an String', 0
REVERSED DB 100 DUP('$')
.CODE
MAIN PROC
MOV AX, @DATA
MOV DS, AX
MOV ES, AX
LEA SI, STRING
LEA DI, REVERSED
MOV CX, 0
PUSH_LOOP:
LODSB
CMP AL, '$'
JE REVERSE_LOOP
PUSH AX
INC CX
JMP PUSH_LOOP
REVERSE_LOOP:
CMP CX, 0
JE DISPLAY_STRINGS
POP AX
MOV [DI], AL
INC DI
DEC CX
JMP REVERSE_LOOP
DISPLAY_STRINGS:
LEA DX, STRING
MOV AH, 09H
INT 21H
LEA DX, REVERSED
MOV AH, 09H
INT 21H
MOV AH, 4CH
INT 21H
MAIN ENDP
END MAIN