[a / aa / ad / au / b / bg / bo / c / d / dg / di / ew / f / fa / fd / fg / fi / fl / g / gg / h / ho / hr / ja / k / ls / m / ma / me / mo / mu / n / ne / o / p / pa / ph / pr / r / re / rf / s / sp / t / td / tr / tv / u / vg / w / wh / wm / wp / y] - [Главная]

[Назад]
Ответ
(оставьте это поле пустым)
Имя (оставьте это поле пустым)
E-mail
Тема
Комментарий
Файл
Перейти к
Подтверждение обновить captcha
Пароль (чтобы удалить пост или файл)
  • Разрешённые типы файлов: GIF, JPG, PNG
  • Максимальный размер файла 1536 килобайт и 2048×2048.
  • Изображения размером более 200x200 точек будут уменьшены.

Файл: 1243756541963.jpg -(26кб, 300x317) Показана уменьшенная копия, оригинал по клику.
26 №468  

вач, это снова Ассемблер кун(целых два дня уже как), метод сортировки пузырьком реализовал, но как сделать вывод исходного массива и измененного массива на экран, и так чтоб окно не закрывалось, до нажатия клавиши, какие и куда прерывания пихнуть?

вот код, вставляйте изменения прямо в него

.DATA
array db 2,55,4,3,2,77
n equ $-array
.CODE
start:
mov bx, offset array
mov cx, n

for_i:
dec cx
xor dx, dx

for_j:
cmp dx, cx
jae exit_for_j
jbe no_swap
mov ah, byte ptr bx[di]
mov byte ptr bx[di], al
mov byte ptr bx[si], ah

no_swap:
inc dx
jmp for_j

exit_for_j:
loop for_i

end

>> №469  

Прогромач же

ОП

>> №480  

лол, он же не работает!

2,55,4,3,2,77
преобразует в
14,55,4,3,2,77

вот тебе нормальный вариант (компилируй в fasm)

org 100h

mov ah,9
mov dx,str1
int 21h

mov bx,str1
mov si,-1

@outer:
inc si
cmp si,len
jz @ready
mov di,si
@inner:
inc di
cmp di,len
je @outer
mov al,[bx+si]
cmp al,[bx+di]
jb @no
mov ah,[bx+di]
mov [bx+di],al
mov [bx+si],ah
@no:
jmp @inner
@ready:
mov ah,9
mov dx,str1
int 21h
xor ax,ax
int 16h
int 20h

str1 db 'fucking gay'
len = $-str1
db 13,10,'$'

если пользуешься уёбищным emu8086, вставляй первую строку #fasm# и он скопулирует

>> №483  

>>480
А теперь сдалал массив чисел и int2str

>> №484  

>>483
э ты чо бля такой грубый же? мне найти тебя в реале же и ебадло разбить же?

>> №485  

org 100h

call outme

mov bx,str1
mov si,-1

@outer:
inc si
cmp si,len
jz @ready
mov di,si
@inner:
inc di
cmp di,len
je @outer
mov al,[bx+si]
cmp al,[bx+di]
jb @no
mov ah,[bx+di]
mov [bx+di],al
mov [bx+si],ah
@no:
jmp @inner
@ready:
call outme

xor ax,ax
int 16h
int 20h

outme:pusha
mov si,str1
mov di,buffer
mov cx,10
xor ax,ax
@nowai:
cmp si,str1+len
je @ohshi
mov al,[si]
xor dx,dx
cmp al,100
jb @ne100
inc di
@ne100:
cmp al,10
jb @ne10
inc di
@ne10:
push di

aa:
div cx
add dl,30h
mov [di],dl
xor dx,dx
dec di
test ax,ax
jnz aa

pop di
mov word[di+1],', '
add di,3
inc si
jmp @nowai
@ohshi:
mov word[di-2],0A0Dh
mov word[di],'$'
mov ah,9
mov dx,buffer
int 21h
popa
ret

str1 db 222,12,23,55,4,2,33,125,18,46
len = $-str1
buffer:

алсо, оп хуй

>> №486  
Файл: 1243847620353.jpg -(12кб, 214x186) Показана уменьшенная копия, оригинал по клику.
12

>>483

Не мой пост же!

Остальным, спасибо, сам написат,закрыват долги и получат зачет!

ОП

>> №488  

>>468

.model small, stdcall
.stack 100h
.data
array db 2, 5, 4, 3, 2, 7
len dw $ - OFFSET array - 1
.code
drawArray proc
uses cx
mov cx, len
mov ah, 2h
mov bx, OFFSET array
draw_loop:
mov dl, byte ptr [bx]
add dl, 48
int 21h
mov dl, 32
int 21h
inc bx
loop draw_loop
mov dl, 13
int 21h
mov dl, 10
int 21h
ret
drawArray endp

start:
mov ax, @data
mov ds, ax
call drawArray
mov si, len
external_loop:
cmp si, 1
je sorted
xor di, di
internal_loop:
mov ax, si
dec ax
cmp di, ax
je out_to_external_loop
mov al, byte ptr [di+1]
mov ah, byte ptr [di]
cmp ah, al
jle no_swap
mov byte ptr [di+1], ah
mov byte ptr [di], al
no_swap:
inc di
jmp internal_loop
out_to_external_loop:
dec si
jmp external_loop
sorted:
call drawArray
mov ah, 1h
int 21h
mov ah, 4Ch
int 21h
end start

вывод работает только с одноцифровыми числами, ебал я переводить более 2-х знаков в строку

>> №490  

Чтоб не создавать новый тред

Анон, подскажи, по какой книге лучше всего пробовать выучить это лунный? Ну или хотя бы немного понять? И чтоб за небольшое время.

Мне кагбэ очень нужно разобраться в одном экзешнике. Я его конечно дизассемблировал, а вот дальше - хуй что могу понять. Знаний моих и близко не хватает.

>> №492  
>вывод работает только с одноцифровыми числами, ебал я переводить более 2-х знаков в строку

лох и ебанат

>>490
нее, с этим делом главное - не спешить. умение придет с опытом.
книгу не посоветую, разве что выпуски Калаша, из которых он слепил книгу (http://kalashnikoff.ru/Assembler/). Но я там до 8-го где-то дочитал и бросил - дальше начинается хуйня, имхо.
http://wasm.ru/publist.php?list=22
http://wasm.ru/publist.php?list=11

>> №493  
> где-то дочитал и бросил - дальше начинается хуйня, имхо.

лох и ебанат

>>490
асм до ужаса прост, учится на уровне "дизасемблируем прогу, смотрим хелпак по инструкциям", другое дело - понимать алгоритм, записанный на асме. вот тут, как пиздануло УГ №492

> умение придет с опытом
>> №497  

>>492

Спасибо, анон.

>>493

И тебе, анон, спасибо.

>> №508  

>>490 Для начала почитай bitfry.narod. ru (убери пробел, антиспам народ.ру не пускает)



Удалить пост []
Пароль
[a / aa / ad / au / b / bg / bo / c / d / dg / di / ew / f / fa / fd / fg / fi / fl / g / gg / h / ho / hr / ja / k / ls / m / ma / me / mo / mu / n / ne / o / p / pa / ph / pr / r / re / rf / s / sp / t / td / tr / tv / u / vg / w / wh / wm / wp / y] - [Главная] [Manage]