Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Assembler. Не работает цикл / 11 сообщений из 11, страница 1 из 1
15.05.2009, 02:16
    #35987030
Азиз
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler. Не работает цикл
Код: plaintext
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.
STACKSG SEGMENT PARA STACK 'PARA'
  DW  32  DUP(?)
STACKSG ENDS
DATASG SEGMENT
  A1 DW  12 
  A2 DW  28 
  B1 DW  31 
  B2 DW  36 
  C1 DW  20 
  C2 DW  18 
DATASG ENDS
CODESG SEGMENT
BEGIN PROC FAR
  ASSUME CS:CODESG, DS:DATASG, SS:STACKSG, ES:DATASG  
    PUSH DS
    SUB AX, AX
    PUSH AX
    MOV AX, DATASG
    MOV DS,AX
	MOV AX, A1
    ADD AX, A2
    SUB AX, B2
    MOV BX, B1
    ADD BX, B2
    MOV CX, C1
    ADD CX, C2
M1: MOV DX, CX
    AND DX,  1 
    JE M2
    SUB AX, BX
    JMP M3
M2: ADD AX, CX 
M3: AND DX,  0 
    LOOP M1
    RET
  BEGIN ENDP
  CODESG ENDS
END BEGIN 

Сильно не материтесь, я не силен в Ассемблере.

M1: MOV DX, CX
AND DX, 1
JE M2
SUB AX, BX
JMP M3
M2: ADD AX, CX
M3: AND DX, 0
LOOP M1
всегда проходит только один раз


Модератор:
кнопку SRC для кого сделали?
...
Рейтинг: 0 / 0
15.05.2009, 09:01
    #35987176
ksanderrrrr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler. Не работает цикл
убери loop и поставь jmp m1, а выход организуй по проверке регистра(какого надо :-))
...
Рейтинг: 0 / 0
15.05.2009, 12:09
    #35987786
vino
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler. Не работает цикл
АзизСильно не материтесь, я не силен в Ассемблере.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
M1: MOV DX, CX
    AND DX,  1 
    JE M2
    SUB AX, BX
    JMP M3
M2: ADD AX, CX 
M3: AND DX,  0 
    LOOP M1
всегда проходит только один раз
это как Вы узнали, что только один раз, а не 38?
...
Рейтинг: 0 / 0
15.05.2009, 13:40
    #35988064
Азиз
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler. Не работает цикл
Turbo Debagger-ом прохожу пошагово. Всегда заканчивает выполения после первой интерации.
...
Рейтинг: 0 / 0
15.05.2009, 15:01
    #35988351
clihlt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler. Не работает цикл
Азиз,

А ты по F7 проходишь или по F8 ? Точно уже не помню но помоему турбодебагер по F8 если через LOOP Проходить сразу весь цикл прогонял и выходил за LOOP. Ходи по F7
...
Рейтинг: 0 / 0
15.05.2009, 23:50
    #35989193
Азиз
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler. Не работает цикл
clihlt,

ТОЧНО!!!!))))
Спасибо)
...
Рейтинг: 0 / 0
16.05.2009, 04:04
    #35989258
Master4
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler. Не работает цикл
Какой код красивый )) на чистый ассемблерный код можно смотреть долго
...
Рейтинг: 0 / 0
26.05.2009, 19:25
    #36008953
Master4
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler. Не работает цикл
А вот у меня ассемблерный код отказывается работать во всех компиляторах насм, масмы, тасмы... только из-за этого я часто бросал изучение ассемблера. еще какието линковщики нужны, в инете на первой ссылке не валяются как 99% крякнотого софта...
Не судьба видимо. А я вообще бы хотел на ассемблере писать. Моя система поддерживает и позволяет мне ассемблер.
На любую строку ругаются все компиляторы. начинал со всяких, и копировал с учебников, толку нет. Как буду снова готов, скачаю много учебников, может там описывается как делать чтоб не ругалось.
...
Рейтинг: 0 / 0
26.05.2009, 20:50
    #36009086
Vowk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler. Не работает цикл
Master4,
необходимо сосредоточиться на каком-то одном компиляторе. Я начинал c MASM, поэтому могу его посоветовать для начала. Самый оптимальный - это MASM 6.11 - MASM 6.14.
Литература наиболее оптимальная для начала - это серия книг Магда.
Важно еще понять, что прогр. на ассемблере включает в себя несколько по сути дела разных вещей:
1) создание программ для DOS16 (в принципе еще есть для DOS32)
2) создание программ для Win32 (в принципе еще есть для Win16)
3) создание п/п на ассемблере для ЯП высокого уровня (MS Visual С, Delphi, CLIPPER).
Вообще это довольно увлекательная часть программирования. Для начала рекомендую разобрать программу, которая выясняет видеорежим и печатает содержимое регистра (AX), в котором указывается количество колонок (80 в десят. = 50 в 16-ричном), и номер текстового режима (3).
Всё еще зависит от того, как готовить EXE-файл. Обычно приводят всякие там MAKE, NMAKE, что скрывает процесс создания программы. Я же сторонник BAT-файлов. Для создания программы необходимо разместить bat-файл в одном из каталогов, который входит в системный PATH, и запускать as16 <имя asm-файла>. Предполагается, что в каталоге D:\MASM611 находится установленный MASM.
Прога работает под WinNT, W2K, WinXP. Если получится - можно тогда двигаться дальше.
Далее рекомендую освоить MultiEdit, побывать на wasm.ru
...
Рейтинг: 0 / 0
27.05.2009, 00:48
    #36009347
Master4
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler. Не работает цикл
Vowk,

Спасибо.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
22.11.2015, 05:44
    #39110009
Анон88005553535
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Assembler. Не работает цикл
clihlt, столкнулся с аналогичной проблемой. Спасибо, помогло)
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Assembler. Не работает цикл / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]