программисты доброй воли

картинка из курскаДальние родственники попросили помочь, а я соответственно нашу песочницу.
Студенческий зачёт не могут решить, а профиль не рядом, может кто поможет?
Мне кажется это не тяжело знающему человеку

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

58. Создать исполняемый файл на языке Ассемблер,,вычисляющую
формулу R=(K+L)-V. Результаты работы и вычисления посмотреть через
отладчик.



59. Создать исполняемый файл на языке Ассемблер, вычисляющую

формулу R=(K-L)+(V+1). Результаты работы и вычисления посмотреть через
отладчик.

60. Создать исполняемый файл на языке Ассемблер, вычисляющую

формулу R=(K+L)-(V-1). Результаты работы и вычисления посмотреть через
отладчик.

61. Создать исполняемый файл на языке Ассемблер, вычисляющую

формулу R=(K+L-1)-(V+1). Результаты работы и вычисления посмотреть
через отладчик.

62. Создать исполняемый файл на языке Ассемблер, вычисляющую

формулу R=(K-1+L)+(V-1). Результаты работы и вычисления посмотреть
через отладчик.

63. Создать исполняемый файл на языке Ассемблер, вычисляющую

формулу R=(K-1+L+1)-V. Результаты работы и вычисления посмотреть через
отладчик.

64. Создать исполняемый файл на языке Ассемблер, вычисляющую

формулу R=(K+L)-(V+K). Результаты работы и вычисления посмотреть через
отладчик.


ну там гранатовый сок или кефир с меня

33 комментария

О, где же вы люди, с золотыми руками!
картинка из курска
  • аватар vit
  • 0
используй языки высокого уровня, %usernam%!
  • аватар vit
  • 0
e*
Грузите апельсины бочками!
При севе кукурузы используйте широкозахватные агрегаты!
  • аватар ololo
  • 0
Я не кодер, курских программерских институтов не кончал, но эта фраза озадачила:
Создать исполняемый файл на языке Ассемблер

Всегда был уверен, что исполняемые файлы для того и компилируются, чтобы работать без интерпретатора языка, на котором они написаны. Соответственно, и исполняемого файла на каком-либо языке быть не может, это всего лишь байт-код. Если заблуждаюсь, поправьте меня.
видимо имелось ввиду «создать на языке асемблер исполняемый файл»
с другой стороны по суте асемблер это не более чем мнемоническое представление машинного кода
эх лет 5 назад помог бы, пока помнил асм. сейчас освежать в памяти эту радость может заставить только стимул (%
хотя появица мож сёдня полчасика. если к этому времени интерес проснёца, ебану (%
формулу R=(K-L)+(V+1). Результаты работы и вычисления посмотреть через
отладчик.


Ну что то типа

LD A,K
SUB A,L
PUSH A
LD A,V
INC A
POP B
ADD A,B
PUSH A

и смотрим отладчиком стек. на вершине значение. Это смешанный алгоритм Z80 и i8080 но примерно так
K,L,V — это значение. Иначе придется запихивать часть в регистры, а остальную часть в стэк для хранения, или по адресу оперативной памяти
Кстати в i8080 вместо LD (LOAD) используется MOV и там больше регистров чем в Zilog.
Я тут скачал книжку по ассемблеру. Задачи на сложение и вычитание в скобках решаются просто. Через занесение переменных в регистры и применения над регистрами сложения и вычитания. Конечно тут намного проще чем скажем задача о делении числа на степень двойки, которая как бы сложная, а для умных решалась сдвигом регистра на шаг вправо ( было 01100000, а стало 00110000), но это из разряда задач «с подвохом». Если человек что-то знал, решит, ежели нет и ему это не надо, проще кинуть клич на форумах или поискать подобное поисковике.
  • аватар a022
  • 0
Внезапно так удивил.
  • аватар 4002
  • +1
я ничего не понял, поэтому и перепостил то что мне прислали, в таком виде дали задание в нашем курском ликбезе, так кто нибудь поможет это сделать?
Когда это нужно? Каюсь, сам прогер по образованию, но asm не помню напрочь. Если времени найду немного — попробую помочь, вопрос в сроках.
  • аватар 4002
  • +1
надо вчера, как всегда((

буду благодарен, мне казалось, что все наши крутые программеры и веберы всё разрулят быстро, ну да парсер такой парсер
Да уж, на ресурсе, где полно ИТ-шников ответ на вопрос по ассемблеру смог дать только дизайнер. Браво, Алексей.
Господин Натрикс, я инженер-системотехник. Специальность 2206. Вычислительные машины, комплексы системы и сети. Я писал под Z80 очень продуктивно в 1995-1998 году. Сейчас я так же алгоритмически мыслю, но суть разбираться в командах ассемблера влом. Но не вопрос — если дать мне в руки инструкцию))) Ща гляну )
о, коллега (%
  • аватар a022
  • 0
Вот и пригодился тебе ассемблер, не зря учил.
  • аватар dropp
  • +5
Собрались программисты языком:D
По существу — непонятна постановка задачи — целевая платформа, организация ввода-вывода итд. Но, ориентируясь на
профиль не рядом
рискну предположить, что решения должны быть вида:


;Задача 58
org 100h
use16

    mov al,[k]      ;Загружаем значение K в AL
    add al,[l]      ; (K + L)
    sub al,[v]      ; (K + L) - V
    mov [r],al      ; результат помещаем в R


k db 5
l db 7
v db 3
r db ?
 

Компилятор Fasm, на выходе ком-файл — самое оно для поиграться с отладчиком.
  • аватар dropp
  • +2
59:

;R=(K-L)+(V+1)
org 100h
use16

    mov al,[k]      ;Загружаем значение K в AL
    sub al,[l]
    mov bl,[v]
    inc bl
    add al,bl
    mov [r],al      ;результат помещаем в R


k db 5
l db 7
v db 3
r db ?
 
  • аватар dropp
  • +3
60.

;R=(K+L)-(V-1)
org 100h
use16

    mov al,[k]      ;Загружаем значение K в AL
    add al,[l]
    mov bl,[v]
    dec bl
    sub al,bl
    mov [r],al      ;результат помещаем в R


k db 5
l db 7
v db 3
r db ?  
 
  • аватар dropp
  • +3
61.

;R=(K+L-1)-(V+1)
org 100h
use16

    mov al,[k]      ;Загружаем значение K в AL
    add al,[l]
    dec al
    mov bl,[v]
    inc bl
    sub al,bl
    mov [r],al      ;результат помещаем в R


k db 5
l db 7
v db 3
r db ?
 
  • аватар dropp
  • +2
62.

;R=(K-1+L)+(V-1)
org 100h
use16

    mov al,[k]      ;Загружаем значение K в AL
    dec al
    add al,[l]
    mov bl,[v]
    dec bl
    add al,bl
    mov [r],al      ;результат помещаем в R


k db 5
l db 7
v db 3
r db ?    
 
  • аватар dropp
  • +2
63.

;R=(K-1+L+1)-V
org 100h
use16

    mov al,[k]      ;Загружаем значение K в AL
    dec al
    add al,[l]
    inc al
    mov bl,[v]
    add al,bl
    mov [r],al      ;результат помещаем в R


k db 5
l db 7
v db 3
r db ?
 
  • аватар dropp
  • +3
Ой, строчку add al, bl надо заменить на sub al, bl
  • аватар dropp
  • +3
64.

;R=(K+L)-(V+K)
org 100h
use16

    mov al,[k]      ;Загружаем значение K в AL
    add al,[l]
    mov bl,[v]
    add bl,[k]
    sub al,bl
    mov [r],al      ;результат помещаем в R


k db 5
l db 7
v db 3
r db ?
 
  • аватар dropp
  • +4
Ну а сделать вашего родственничка посмотреть отладчиком я, извините, не смогу.
  • аватар 4002
  • +3
Спасибо!
  • аватар mihon
  • 0
Вы, батенька, маньяк.
  • аватар dropp
  • +2
Это вам, батенька, не рубью по рельсам.
  • аватар jah
  • +1
они взорвали мне моск…
упсъ а зачем я сёдня в 7 утра MASM устанавливал, вспоминал как собирать програмулины. хыхы. опаздал! но радует что получилось то же самое. значит я ещё не идиот ((((%

Чтобы оставлять комментарии, нужно или зарегистрироваться.