Size: a a a

2020 January 13

R

Rabu in pro.asm
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in pro.asm
Anton
Мне надо посчитать сколько символов f стоит перед -
КТо нибудь может сказать в чем ошибка?

masm
model small
.data
mes db 'String ff-or search.',0ah,0dh,'$'
nom db ? ;количество повторений символа 'f'
.stack
db 256 dup(0)
.code
assume ds:@data,es:@data
main proc near
mov ax,@data
mov ds,ax
mov es,ax ;настройка es на ds

lea si, mes
mov al, '-' ; символ для поиска
mov cx, 20
@L:
repne scasb
jz @done   ; проверить на 0 ; вроде флаг должен устанвливаться при cx = 0
cmp si, 'f'
jne @next
inc cl ;увеличим число вхождений
@next:
jmp @L ; продолжать цикл пока не конец строки
@done:

mov ax,4c00h ;завершение программы
int 21h
main endp
end main
вечерком мож алгоритм нарисую, что то в нем не так
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in pro.asm
Anton
Мне надо посчитать сколько символов f стоит перед -
КТо нибудь может сказать в чем ошибка?

masm
model small
.data
mes db 'String ff-or search.',0ah,0dh,'$'
nom db ? ;количество повторений символа 'f'
.stack
db 256 dup(0)
.code
assume ds:@data,es:@data
main proc near
mov ax,@data
mov ds,ax
mov es,ax ;настройка es на ds

lea si, mes
mov al, '-' ; символ для поиска
mov cx, 20
@L:
repne scasb
jz @done   ; проверить на 0 ; вроде флаг должен устанвливаться при cx = 0
cmp si, 'f'
jne @next
inc cl ;увеличим число вхождений
@next:
jmp @L ; продолжать цикл пока не конец строки
@done:

mov ax,4c00h ;завершение программы
int 21h
main endp
end main
у тя вроде бесконечный цикл
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in pro.asm
доведи ip до конца программы (mov ax, 4C00h) и скрин дай без окна dump, чтоб все регистры было видно
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in pro.asm
Anton
Мне надо посчитать сколько символов f стоит перед -
КТо нибудь может сказать в чем ошибка?

masm
model small
.data
mes db 'String ff-or search.',0ah,0dh,'$'
nom db ? ;количество повторений символа 'f'
.stack
db 256 dup(0)
.code
assume ds:@data,es:@data
main proc near
mov ax,@data
mov ds,ax
mov es,ax ;настройка es на ds

lea si, mes
mov al, '-' ; символ для поиска
mov cx, 20
@L:
repne scasb
jz @done   ; проверить на 0 ; вроде флаг должен устанвливаться при cx = 0
cmp si, 'f'
jne @next
inc cl ;увеличим число вхождений
@next:
jmp @L ; продолжать цикл пока не конец строки
@done:

mov ax,4c00h ;завершение программы
int 21h
main endp
end main
scas работает с di
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in pro.asm
Anton
Мне надо посчитать сколько символов f стоит перед -
КТо нибудь может сказать в чем ошибка?

masm
model small
.data
mes db 'String ff-or search.',0ah,0dh,'$'
nom db ? ;количество повторений символа 'f'
.stack
db 256 dup(0)
.code
assume ds:@data,es:@data
main proc near
mov ax,@data
mov ds,ax
mov es,ax ;настройка es на ds

lea si, mes
mov al, '-' ; символ для поиска
mov cx, 20
@L:
repne scasb
jz @done   ; проверить на 0 ; вроде флаг должен устанвливаться при cx = 0
cmp si, 'f'
jne @next
inc cl ;увеличим число вхождений
@next:
jmp @L ; продолжать цикл пока не конец строки
@done:

mov ax,4c00h ;завершение программы
int 21h
main endp
end main
repne выполнять пока не эквивалент (то есть если байты совпадают, то ZF будет ноль и произойдёт выход из цикла. далее, если ZF ноль, то сразу же выполнит я прыжок jz @done, а далее выход из программы
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in pro.asm
Anton
Мне надо посчитать сколько символов f стоит перед -
КТо нибудь может сказать в чем ошибка?

masm
model small
.data
mes db 'String ff-or search.',0ah,0dh,'$'
nom db ? ;количество повторений символа 'f'
.stack
db 256 dup(0)
.code
assume ds:@data,es:@data
main proc near
mov ax,@data
mov ds,ax
mov es,ax ;настройка es на ds

lea si, mes
mov al, '-' ; символ для поиска
mov cx, 20
@L:
repne scasb
jz @done   ; проверить на 0 ; вроде флаг должен устанвливаться при cx = 0
cmp si, 'f'
jne @next
inc cl ;увеличим число вхождений
@next:
jmp @L ; продолжать цикл пока не конец строки
@done:

mov ax,4c00h ;завершение программы
int 21h
main endp
end main
неправильно используешь счётчик cx/cl, у тя получается 2 счётчика, а регистр по сути один
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in pro.asm
источник

A

Anton in pro.asm
Aiwan ╭∩╮ (òÓ,) ╭∩╮
неправильно используешь счётчик cx/cl, у тя получается 2 счётчика, а регистр по сути один
Ок, спс, попробую потом переделать
источник
2020 January 14

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in pro.asm
Aiwan ╭∩╮ (òÓ,) ╭∩╮
вечерком мож алгоритм нарисую, что то в нем не так
источник

A

Anton in pro.asm
а где взять адрес строки? И зачем в коде нужна repne scasb?
Тот код я нашел и модифицировал прост
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in pro.asm
Anton
а где взять адрес строки? И зачем в коде нужна repne scasb?
Тот код я нашел и модифицировал прост
найти адрес(место) искомого символа, это про scasb
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in pro.asm
Aiwan ╭∩╮ (òÓ,) ╭∩╮
найти адрес(место) искомого символа, это про scasb
это про scasb
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in pro.asm
Anton
а где взять адрес строки? И зачем в коде нужна repne scasb?
Тот код я нашел и модифицировал прост
твоя модификация без знания асма и алгоритма - ниочем
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in pro.asm
алгоритм дал, дело за малым
источник

A

Anton in pro.asm
Aiwan ╭∩╮ (òÓ,) ╭∩╮
алгоритм дал, дело за малым
так где взять адрес строки?
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in pro.asm
адрес метки строки это и есть адрес строки
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮ in pro.asm
если по другому сказать, то метка это и есть адрес
источник

G(

GNU/😈👾Scriptod👾😈 ( λ ) in pro.asm
аа сука
источник

G(

GNU/😈👾Scriptod👾😈 ( λ ) in pro.asm
ок
источник