Перейти к публикации
  • Сейчас на странице   Всего пользователей: 0   (0 пользователей, 0 гостей)

Архивировано

Эта тема находится в архиве и закрыта для публикации сообщений.

McDeath

Ассемблер

Рекомендованные сообщения

Сам еле сдал это говно, ненавижу ассемблер  :ginsgnil:

я ещё не встречал студента который его любит.

мне например нравится.

асм охуенен. На нем можно сделать что угодно. Времени правда дохера просрешь, но зато кайф какой, когда после очередного часа дебага ты находишь какой-нибудь неправильный прыжок в дебрях кода  :trollface:


Торжество разума в том, чтобы уживаться с теми, у кого этого разума нет. Вольтер.
Чтобы хорошо высыпаться, нужно спать 8 часов в день. И еще столько же ночью.

Поделиться сообщением


Ссылка на сообщение

еле сдал курсовик

 

 

всем код ассемблера

 

 

 

CSEG segment

    ASSUME CS: CS:CSEG, DS:CSEG, SS:CSEG, ES:CSEG

    org 100h

    _start:

      mov di, 2

      mov cx, 10

    row_loop:

      push cx

      xor si, si

      mov cx, 10

    col_loop:

      xor dx, dx

      mov ax, di

      div Del

      push bx

      mov bx,si

      inc bx

      sub bx, 7

      neg bx

      add ax,bx

      pop bx

      push si

      add si,si

      mov Matrix[bx+si], ax

      pop si

      inc si

      loop col_loop

      mov ax,2

      mul di

      mov di, ax

      add bx, 20

      pop cx

      loop row_loop

      mov cx, 100

      xor si, si

      mov ah, 9

      mov dx, offset Mess1

      int 21h

    hex2dec:

      push cx

      mov cx,4

      xor bx, bx

    clear:

      mov Hex[bx], 20h

      inc bx

      loop clear

      xor bx, bx

      mov ax, Matrix[bx+si]

      cmp ax, 7fffh

      jc next

      neg ax

      mov cx, 2dh

      push cx

    next:

      cwd

      mov di, 10

      div di

      add dl, 30h

      mov Hex[bx], dl

      inc bx

      cmp ax, 0

      jne next

      cmp cx, 2dh

      jne next2

      pop dx

      mov hex[bx], dl

    next2:

      mov bx, 4

      mov ah, 2

    next3:

      mov dl, Hex[bx-1]

      int 21h

      cmp bx,0

      dec bx

      jne next3

      add si, 2

      mov ax, si

      xor dx, dx

      mov di, 20

      div di

      cmp dx, 0

      jnz continue_loop

      mov ah, 2

      mov dl, 0Dh

      int 21h

      mov dl, 0Ah

      int 21h

    continue_loop:

      pop cx

      loop hex2dec

      mov ah, 10h

      int 16h

      int 20h

    Matrix dw 100 dup (?)

    Hex db 4 dup (?)

    Del dw 2

    Mess1 db ' Matruca 2^i/2+(7-j):', 0Dh, 0Ah,'$'

    CSEG en


В футболе мелочей не бывает!

Стишок:

 

Скажу болельщикам в укор,

Скажу по долгу службы -

Футбол нам нужен не для ссор,

А для хорошей дружбы!

Поделиться сообщением


Ссылка на сообщение

пацаны, срочно помогите, меня эту хуйня уже настолько заебала, я уже не знаю как с ней разобратся.

masm32

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

чтение исходных данных осуществляется с клавиатуры в диалоговом режиме, а вывод результатов выполнения программы происходит на экран монитора.

 

свои попытки реализации приведи, тогда помогу.

.586

.model flat, stdcall

BSIZE equ 15

.data

mas dw 5, 6, -5, -4, 3, -6, 6,-8

len_mas=$-mas

otric dw 0

poloj dw 0

.code

xor eax, eax

xor ecx, ecx

xor esi, esi

mov cx, len_mas

mov poloj, mas[0]

mov otric, mas[0]

cycl: cmp mas[si]

      jnl sum

      jl raznost

sum: mov eax, mas[si]

    mov poloj, ax

    j endcycl

raznost: mov ax, mas[si]     

        mov otric, ax

endcycl: inc si

loop cycl

xor ebx, ebx

xor eax, eax

mov ax, poloj

mov bx, otric

ну далее cmp eax,ebx и работаем, так вот мне нужно ввод с консоли организовать, через функции апи и вывод туда в принципе я знаю что это нужно в цикле вводить только как пользоватся этими процедурами я не знаю

 

судя по тому, как ты выражаешься, ты слабоват в программировании, да?

 

format PE console

entry start

 

include 'include\win32a.inc'

 

section '.data' data readable writeable

message db 'Hello, world!',0

section '.code' code readable executable

start:

; CINVOKE макрос в составе FASM.

; Позволяет вызывать CDECL-функции.

  cinvoke printf,message

  cinvoke getch

; INVOKE аналогичный макрос для STDCALL-функций.

  invoke ExitProcess,0

section '.idata' import data readable

library kernel,'kernel32.dll',\

        msvcrt,'msvcrt.dll'

 

import kernel,\

      ExitProcess,'ExitProcess'

 

import msvcrt,\

      printf,'printf',\

      getch,'_getch'

 

FASM, нe?

Поделиться сообщением


Ссылка на сообщение

пацаны, срочно помогите, меня эту хуйня уже настолько заебала, я уже не знаю как с ней разобратся.

masm32

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

чтение исходных данных осуществляется с клавиатуры в диалоговом режиме, а вывод результатов выполнения программы происходит на экран монитора.

 

свои попытки реализации приведи, тогда помогу.

.586

.model flat, stdcall

BSIZE equ 15

.data

mas dw 5, 6, -5, -4, 3, -6, 6,-8

len_mas=$-mas

otric dw 0

poloj dw 0

.code

xor eax, eax

xor ecx, ecx

xor esi, esi

mov cx, len_mas

mov poloj, mas[0]

mov otric, mas[0]

cycl: cmp mas[si]

      jnl sum

      jl raznost

sum: mov eax, mas[si]

    mov poloj, ax

    j endcycl

raznost: mov ax, mas[si]     

        mov otric, ax

endcycl: inc si

loop cycl

xor ebx, ebx

xor eax, eax

mov ax, poloj

mov bx, otric

ну далее cmp eax,ebx и работаем, так вот мне нужно ввод с консоли организовать, через функции апи и вывод туда в принципе я знаю что это нужно в цикле вводить только как пользоватся этими процедурами я не знаю

 

судя по тому, как ты выражаешься, ты слабоват в программировании, да?

 

format PE console

entry start

 

include 'include\win32a.inc'

 

section '.data' data readable writeable

message db 'Hello, world!',0

section '.code' code readable executable

start:

; CINVOKE макрос в составе FASM.

; Позволяет вызывать CDECL-функции.

  cinvoke printf,message

  cinvoke getch

; INVOKE аналогичный макрос для STDCALL-функций.

  invoke ExitProcess,0

section '.idata' import data readable

library kernel,'kernel32.dll',\

        msvcrt,'msvcrt.dll'

 

import kernel,\

      ExitProcess,'ExitProcess'

 

import msvcrt,\

      printf,'printf',\

      getch,'_getch'

 

FASM, нe?

ну вообще я в начале написал что масм, щас погоди этот код можешь откомментить?

 

 

.586

.model  flat,stdcall

 

option casemap:none

includelib kernel32.lib

include kernel32.inc

include WINDOWS.inc

includelib user32.lib

include user32.inc

BSIZE  equ 15

.data

lenmas dw 8 

stdout dd ?

stdin dd ?

cRead dd ?

cWritten  dd ?

buffer db BSIZE dup(?)

.code 

start :

invoke GetStdHandle, STD_OUTPUT_HANDLE

mov stdout,eax

invoke GetStdHandle, STD_INPUT_HANDLE

mov stdin,eax

xor esi,esi

xor ecx,ecx

mov ecx, lenmas

cycl: invoke ReadConsole,stdin,ADDR buffer,BSIZE, ADDR cRead,NULL

        cmp cRead, 0

        jnl summa

        jl raznost

summa:  xor ebx, ebx

        mov bx, cRead

        add poloj, bx

        j end cycl

raznost:xor ebx, ebx

        mov bx, cRead

        add otric, bx

end cycl: loop cycl

invoke ExitProcess,0

end start


ну если с этой залупой после взятия проивзодной надо еще чето сделать, то конечно лучше упростить, для простоты дальнейший действий

а если просто просят взять проивзодную, то нахуй упрощения

возьми мою производную

Поделиться сообщением


Ссылка на сообщение

пацаны, срочно помогите, меня эту хуйня уже настолько заебала, я уже не знаю как с ней разобратся.

masm32

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

чтение исходных данных осуществляется с клавиатуры в диалоговом режиме, а вывод результатов выполнения программы происходит на экран монитора.

 

свои попытки реализации приведи, тогда помогу.

.586

.model flat, stdcall

BSIZE equ 15

.data

mas dw 5, 6, -5, -4, 3, -6, 6,-8

len_mas=$-mas

otric dw 0

poloj dw 0

.code

xor eax, eax

xor ecx, ecx

xor esi, esi

mov cx, len_mas

mov poloj, mas[0]

mov otric, mas[0]

cycl: cmp mas[si]

      jnl sum

      jl raznost

sum: mov eax, mas[si]

    mov poloj, ax

    j endcycl

raznost: mov ax, mas[si]     

        mov otric, ax

endcycl: inc si

loop cycl

xor ebx, ebx

xor eax, eax

mov ax, poloj

mov bx, otric

ну далее cmp eax,ebx и работаем, так вот мне нужно ввод с консоли организовать, через функции апи и вывод туда в принципе я знаю что это нужно в цикле вводить только как пользоватся этими процедурами я не знаю

 

судя по тому, как ты выражаешься, ты слабоват в программировании, да?

 

format PE console

entry start

 

include 'include\win32a.inc'

 

section '.data' data readable writeable

message db 'Hello, world!',0

section '.code' code readable executable

start:

; CINVOKE макрос в составе FASM.

; Позволяет вызывать CDECL-функции.

  cinvoke printf,message

  cinvoke getch

; INVOKE аналогичный макрос для STDCALL-функций.

  invoke ExitProcess,0

section '.idata' import data readable

library kernel,'kernel32.dll',\

        msvcrt,'msvcrt.dll'

 

import kernel,\

      ExitProcess,'ExitProcess'

 

import msvcrt,\

      printf,'printf',\

      getch,'_getch'

 

FASM, нe?

ну вообще я в начале написал что масм, щас погоди этот код можешь откомментить?

 

 

.586

.model  flat,stdcall

 

option casemap:none

includelib kernel32.lib

include kernel32.inc

include WINDOWS.inc

includelib user32.lib

include user32.inc

BSIZE  equ 15

.data

lenmas dw 8 

stdout dd ?

stdin dd ?

cRead dd ?

cWritten  dd ?

buffer db BSIZE dup(?)

.code 

start :

invoke GetStdHandle, STD_OUTPUT_HANDLE

mov stdout,eax

invoke GetStdHandle, STD_INPUT_HANDLE

mov stdin,eax

xor esi,esi

xor ecx,ecx

mov ecx, lenmas

cycl: invoke ReadConsole,stdin,ADDR buffer,BSIZE, ADDR cRead,NULL

        cmp cRead, 0

        jnl summa

        jl raznost

summa:  xor ebx, ebx

        mov bx, cRead

        add poloj, bx

        j end cycl

raznost:xor ebx, ebx

        mov bx, cRead

        add otric, bx

end cycl: loop cycl

invoke ExitProcess,0

end start

 

где ?-ки же, да?

 

а по названию, извини, не доходит ?

Поделиться сообщением


Ссылка на сообщение

Сам еле сдал это говно, ненавижу ассемблер  :ginsgnil:

я ещё не встречал студента который его любит.

мне например нравится.

асм охуенен. На нем можно сделать что угодно. Времени правда дохера просрешь, но зато кайф какой, когда после очередного часа дебага ты находишь какой-нибудь неправильный прыжок в дебрях кода  trollface.gif

Вот дебагать даже довольно интересно, но код писать нереально муторно. :fffuuu:

Я вот 10 минут сижу, чуть не дохну, кое-как некий фрагмент пишу, а потом минут 30-50 дебагать. :snobuedance:


Никто в интернете не требует идеальной грамотности. Но когда ты ошибаешься в тся/ться ХОЧЕТСЯ ЗАСУНУТЬ ТЕБЕ БУРЕЛОМ В ТВОЁ ВАГИНАЛЬНОЕ ЖЕРЛО ХУЯРИТЬ ПО ЕБЛУ АРМАТУРИНОЙ ВЫКАЛЫВАТЬ ГЛАЗА ПИЛИТЬ РУКИ БЛЯТЬ БОЛГАРКОЙ НАЛИТЬ НА РЫЛО АДЖИКИ СПИРТА И БЕНЗИНА И БРОСИТЬ В КОСТЁР А ПОТОМ ПЕТЬ ПИОНЕРСКИЕ ПЕСНИ И ПОДКИДЫВАТЬ ТАКИХ ЖЕ УЁБКОВ КАК ТЫ ЕБАНОЕ ХУЙЛО КАЖДЫЙ ДЕНЬ НАТЫКАЕШЬСЯ НА НАДПИСЬ "МНЕ НРАВИТСЯ" А ПИШЕШЬ СВОИМ ЧЕТЫРЁХТОННЫМ ПОДРУЖКАМ ВАХ МНЕ НРАВИТЬСЯ ТВОЯ ФОТКА БЛЯТЬ УМРИТЕ ВЫ ВСЕ РАЗОМ ВЫ ЛИШЬ ЕБАНОЕ ТОПЛИВО ЩЕПКИ НИЗШЕЙ СТУПЕНЬКИ ЦИВИЛИЗАЦИИ ПОНОС СОЦИУМА ДЛЯ ЗЕМЛИ ПЛАНЕТА НЕ МОЖЕТ ДЕРЖАТЬ СТОЛЬКО ГОВНОЕДОВ В СЕБЕ

Поделиться сообщением


Ссылка на сообщение
Гость JugoBugo

пишу сразу в машинном коде

сорри, ассемблер для лохов

Поделиться сообщением


Ссылка на сообщение
Гость JugoBugo

кстати всегда считал людей, называющий функции, переменные в транслите, типа "SUMMA", "SKOROST", "RAZNOST", долбоебами

Поделиться сообщением


Ссылка на сообщение

всегда бесили такие дебильные задачи

НУ КОМУ НАХУЙ НАДО КАКОЕ-ТО ГОВНО ВЫСЧИТЫВАТЬ В ДВУМЕРНОМ МАССИВЕ

ассемблер - это блеать push push push call test eax, eax jz loop

я понимаю там простенький цикл набросать, ввод-вывод через API сделать

чисто чтоб посмотреть что к чему

 

НО НЕТ

ЕБАНЫЕ ПРЕПОДЫ ХОТЯТ ДВУМЕРНЫЕ МАССИВЫ

от которых нормальных людей блевать тянет и потом человек в жизни не будет на ассемблере писать

тупо потому что привили ненависть на этапе обучения

 


http://ru.iccup.com/dota/details/1295953.html

 

ИДИТЕ НАХУЙ С ТАКМИ ГОНДАРАМИ

СВЕН ТП

СВЕН ПУШИТ

СВЕН ХЕКС

СВЕН ДАБЛКИЛЛ

СВЕН 7ОО КРИПОВ

Поделиться сообщением


Ссылка на сообщение

кстати всегда считал людей, называющий функции, переменные в транслите, типа "SUMMA", "SKOROST", "RAZNOST", долбоебами

 

да уж.у нас по ПНП препод за это баллы снижал даже

Поделиться сообщением


Ссылка на сообщение

кстати всегда считал людей, называющий функции, переменные в транслите, типа "SUMMA", "SKOROST", "RAZNOST", долбоебами

 

А на кирилице ? Вижуал студия хавает  :buba:

Поделиться сообщением


Ссылка на сообщение

пацаны, срочно помогите, меня эту хуйня уже настолько заебала, я уже не знаю как с ней разобратся.

masm32

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

чтение исходных данных осуществляется с клавиатуры в диалоговом режиме, а вывод результатов выполнения программы происходит на экран монитора.

 

свои попытки реализации приведи, тогда помогу.

.586

.model flat, stdcall

BSIZE equ 15

.data

mas dw 5, 6, -5, -4, 3, -6, 6,-8

len_mas=$-mas

otric dw 0

poloj dw 0

.code

xor eax, eax

xor ecx, ecx

xor esi, esi

mov cx, len_mas

mov poloj, mas[0]

mov otric, mas[0]

cycl: cmp mas[si]

      jnl sum

      jl raznost

sum: mov eax, mas[si]

    mov poloj, ax

    j endcycl

raznost: mov ax, mas[si]     

        mov otric, ax

endcycl: inc si

loop cycl

xor ebx, ebx

xor eax, eax

mov ax, poloj

mov bx, otric

ну далее cmp eax,ebx и работаем, так вот мне нужно ввод с консоли организовать, через функции апи и вывод туда в принципе я знаю что это нужно в цикле вводить только как пользоватся этими процедурами я не знаю

 

судя по тому, как ты выражаешься, ты слабоват в программировании, да?

 

format PE console

entry start

 

include 'include\win32a.inc'

 

section '.data' data readable writeable

message db 'Hello, world!',0

section '.code' code readable executable

start:

; CINVOKE макрос в составе FASM.

; Позволяет вызывать CDECL-функции.

  cinvoke printf,message

  cinvoke getch

; INVOKE аналогичный макрос для STDCALL-функций.

  invoke ExitProcess,0

section '.idata' import data readable

library kernel,'kernel32.dll',\

        msvcrt,'msvcrt.dll'

 

import kernel,\

      ExitProcess,'ExitProcess'

 

import msvcrt,\

      printf,'printf',\

      getch,'_getch'

 

FASM, нe?

ну вообще я в начале написал что масм, щас погоди этот код можешь откомментить?

 

 

.586

.model  flat,stdcall

 

option casemap:none

includelib kernel32.lib

include kernel32.inc

include WINDOWS.inc

includelib user32.lib

include user32.inc

BSIZE  equ 15

.data

lenmas dw 8 

stdout dd ?

stdin dd ?

cRead dd ?

cWritten  dd ?

buffer db BSIZE dup(?)

.code 

start :

invoke GetStdHandle, STD_OUTPUT_HANDLE

mov stdout,eax

invoke GetStdHandle, STD_INPUT_HANDLE

mov stdin,eax

xor esi,esi

xor ecx,ecx

mov ecx, lenmas

cycl: invoke ReadConsole,stdin,ADDR buffer,BSIZE, ADDR cRead,NULL

        cmp cRead, 0

        jnl summa

        jl raznost

summa:  xor ebx, ebx

        mov bx, cRead

        add poloj, bx

        j end cycl

raznost:xor ebx, ebx

        mov bx, cRead

        add otric, bx

end cycl: loop cycl

invoke ExitProcess,0

end start

есть две кардинальные ошибки

Поделиться сообщением


Ссылка на сообщение

вот я использую invoke ReadConsole

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


ну если с этой залупой после взятия проивзодной надо еще чето сделать, то конечно лучше упростить, для простоты дальнейший действий

а если просто просят взять проивзодную, то нахуй упрощения

возьми мою производную

Поделиться сообщением


Ссылка на сообщение

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

 

И да, если финка -- что-то, связанное с финансами, то зачем там ассемблер?!!

Поделиться сообщением


Ссылка на сообщение

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

 

И да, если финка -- что-то, связанное с финансами, то зачем там ассемблер?!!

я на мат методах учусь.


ну если с этой залупой после взятия проивзодной надо еще чето сделать, то конечно лучше упростить, для простоты дальнейший действий

а если просто просят взять проивзодную, то нахуй упрощения

возьми мою производную

Поделиться сообщением


Ссылка на сообщение

 

не ебу что за ассемблер, наверное какой то новейший ЯП, в билоруси такому не учили, но задачка пиздец ахахаха

r=s=0

{for int i=0 <n i++

{for int j=0 <k j++

 

if mas[j]>0

s=s+mas[j]

else

r=r+mas[j]

}

}

if s>abs®

cout << s

else

cout << r

 

даже проверку на равенство сумм не буду писать, один хуй не занимался это поеботой уже полтора года, все забыл

один хуй это мой недоси, один хуй никто даже смотреть не будет  :petro:

 

если это не тролль, то я угорел  :lol: :lol: :lol:

 

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

 

И да, если финка -- что-то, связанное с финансами, то зачем там ассемблер?!!

Ты это вот преподавателю на экзамене скажи, когда у тебя эта ебота в программе, даже если ты не хотел, а специальность в целом нравится  :avtorklif:

Поделиться сообщением


Ссылка на сообщение

Что то ты зачастил


=- Ουρaνός -=

` `

Поделиться сообщением


Ссылка на сообщение

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

 

И да, если финка -- что-то, связанное с финансами, то зачем там ассемблер?!!

я на мат методах учусь.

и что, предполагается матметоды для финансов на ассемблере писать?  :xd:

Поделиться сообщением


Ссылка на сообщение

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

 

И да, если финка -- что-то, связанное с финансами, то зачем там ассемблер?!!

я на мат методах учусь.

и что, предполагается матметоды для финансов на ассемблере писать?  :xd:

это типа для ознакомления блядь, мне эту одну задачу сдать получить зачет и попрощатся с ним на всю жизнь блядь ебал я в рот эту хуйню ненавижу.


ну если с этой залупой после взятия проивзодной надо еще чето сделать, то конечно лучше упростить, для простоты дальнейший действий

а если просто просят взять проивзодную, то нахуй упрощения

возьми мою производную

Поделиться сообщением


Ссылка на сообщение
Гость JugoBugo

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

 

И да, если финка -- что-то, связанное с финансами, то зачем там ассемблер?!!

я на мат методах учусь.

и что, предполагается матметоды для финансов на ассемблере писать?  :xd:

это типа для ознакомления блядь, мне эту одну задачу сдать получить зачет и попрощатся с ним на всю жизнь блядь ебал я в рот эту хуйню ненавижу.

какой факультет то хоть? небось менеджмент какой-нибудь  :lol:

Поделиться сообщением


Ссылка на сообщение

×
×
  • Создать...