Форум программистов, компьютерный форум, киберфорум
Наши страницы
Assembler для начинающих
Войти
Регистрация
Восстановить пароль
 
dnt141
0 / 0 / 0
Регистрация: 10.12.2014
Сообщений: 1
1

Прыжок на метку в другой логический сегмент

10.12.2014, 02:02. Просмотров 405. Ответов 1
Метки нет (Все метки)

Доброго времени суток. Посмотрите пожалуйста код. В строке 66 осуществляется прыжок на метку addrs ( begin2 ), вроде бы все написано правильно но програма прыгает не туда куда надо. Не могу понять в чем проблема.
Assembler
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
.386
Data1 Segment use16
    I1 db 0
    I2 db 0
    I3 db 0
    I4 db 0
    A1 dd 6 dup(5 dup(4 dup(3 dup(?))))
    addrs dd begin2
Data1 ends
 
Data2 segment use16
    a2 dd 180 dup(0)
Data2 ends
 
Code1 segment use16
    assume cs : code1, ds : data1
begin:
        mov ax, data1
        mov ds, ax
    
    @cycle: 
        lea ebx, a1
        movzx eax, i1
        add ebx, eax
        
        movzx eax, i2
        mov ecx, 3
        mul ecx
        add ebx, eax
        movzx eax, i3
        mov ecx, 12
        mul ecx
        add ebx, eax
        movzx eax, i4
        mov ecx, 60
        mul ecx
        add ebx, eax
        
        movzx ecx, i1
        shl ecx, 24
        movzx edx, i2
        shl edx, 16
        or ecx, edx
        movzx edx, i3
        shl edx, 8
        or ecx, edx
        movzx edx, i4
        or ecx, edx
        
        mov ds:a1[ebx * 4], ecx
        inc I1
        cmp I1, 3
        jl @cycle
        mov I1, 0
        inc I2
        cmp I2, 4
        jl @cycle
        mov I2, 0
        inc I3
        cmp I3, 5
        jl @cycle
        mov I3, 0
        inc I4
        cmp I4, 6
        jl @cycle
        jmp dword ptr addrs
        
        nop
        nop
        
    @end:
    
        mov ax, 4c00h
        int 21h 
        
Code1 ends
 
Code2 segment use16
    assume cs: code2, ds: data2
begin2:
        mov ax, data1
        mov es, ax
        mov ax, data2
        mov ds, ax
        
        mov edx, 0
        mov cx, 1440
        lea di, a1
        
    @loop:
        mov ax, 2   
        repne scasb 
        
        mov ax, di
        sub ax, 4
        mov bx, 4
        div bx
        mov ebx, dword ptr es:[eax*4 + 4]
        mov ds:a2[edx*4], ebx
        
        inc dx
        cmp dx, 180
        jl @loop
        
        nop 
        nop 
        
        jmp far ptr @end
Code2 ends
    end begin
Заранее спасибо!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.12.2014, 02:02
Ответы с готовыми решениями:

Как перейти в другой сегмент памяти
У нас есть exe и com программа как в ней перейти в другой сегмент памяти. (Например в 3000H) ...

Jmp на другой сегмент (программа из учебника)
Не могу разобраться в одном моменте, а именно со строчкой : jmp dword ptr cs: (строчка 114) Дело в...

Сегмент данных
В сегменте данных последняя занятая ячейка памяти находится по адресу FF01. Сколько слов можно...

сегмент .startup .Com файл
Доброго времени суток. Имеется .com программа, которая выводит на экран .PCX изображение. Хотелось...

Прыжок внутрь процедуры (masm)
В TASM можно без проблем прыгнуть внутрь процедуры jmp lab Hello proc nop lab: nop...

1
Kaisten
5 / 5 / 3
Регистрация: 02.10.2013
Сообщений: 161
10.12.2014, 11:45 2
а метка где?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2014, 11:45

Обращение по адресу в сегмент данных
вообщем решаю такую задачу Последовательность из 5 чисел (байт), размещённых в сегменте данных,...

Запись символа в сегмент данных
Здравствуйте, начал знакомиться с ассемблером, поставили такую задачу: В сегменте данных...

Память компьютера. (Сегмент, смещение и т.д.)
Приветствую! Вот чего-то я совсем заплутал. Разбирался по этому Потыкайте отвёрткой: 1....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru