Форум программистов, компьютерный форум, киберфорум
Низкоуровневое программирование
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
Программирование Трансляторы ЯП на Assembler Транслятор/интерпретатор ЯП на TASM Интерпретатор Brainfuck на TASM. Для начала напишем интерпретатор на высокоуровневом языке, например, на Паскале. Массив data_arr будет представлять память данных, строка str_arr будет содержать команды. Напишем программу, выводящую символ, ascii-код которого соответствует количеству + (поэтому нам нужны будут только команды + и .) https://www.cyberforum.ru/ low-level/ thread2329970.html Вывод информации из файла Программирование
Как вывести через командную строку Windows из тестового файла информацию построчно с добавлением текста ? Пример : "Я" , 1-ая строка из файла " , "делаю" , 2-ая строка из файла
Программирование Помог бы вам чем-то дизассемблер, который умеет строить блок схемы? https://www.cyberforum.ru/ low-level/ thread2324765.html
Ещё один вопрос того же сорта: А дизассемблеры, они код разгадывают линейно или проходят по всем ветвлениям?
Программирование Как открыть bios setup утилиты средствами ассемблера https://www.cyberforum.ru/ low-level/ thread2312799.html
как открыть bios setup utility средствами ассемблера ?
Программирование Почему в ассемблере intel x86 нет логических команд xnor, nand, nor?
Хотя микросхемы такой логики используются довольно часто. А если скажем можно и без них обойтись, то и NOT не нужна, ведь есть XOR.
Программирование Связать физические диски с разделами Приветствую! Есть \\.\PhysicalDriveX, его можно открыть через CreateFile и получить GUID (IOCTL_DISK_GET_DRIVE_GEOMETRY_EX... или можно как-то ещё проще получить GUID?). Можно получить список (GUID) всех томов через FindFirstVolume/FindNextVolume. Можно получить GUID раздела и GUID его типа (IOCTL_DISK_GET_PARTITION_INFO_EX). Можно ли его открыть как-то иначе, чем через \\.\Volume{GUID}... https://www.cyberforum.ru/ low-level/ thread2272576.html
Программирование Disk, volume, partition https://www.cyberforum.ru/ low-level/ thread2272571.html
Всем привет. Хочу прояснить для себя разницу некоторых терминов. Возьмём к примеру IOCTL_DISK_GET_LENGTH_INFO: Retrieves the length of the specified disk, volume, or partition.Под диском в данном случае подразумевается, как я подозреваю, PhysicalDrive... или C: ? А в чём разница между partition и volume? Если она, конечно, есть... И как открыть partition или volume? Использую...
Декомпиляция ехе-файла Программирование
Есть небольшой (около 50кБайт), исполняемый ехе-файл. Насколько реально понять алгоритм работы этой программы, после её декомпиляции? Какие для этого нужны декомпиляторы и какой уровень профессионализма хакера?
Программирование Хорошая литература по ассемблеру https://www.cyberforum.ru/ low-level/ thread2255061.html
Какая есть литература и источники, где хорошо объясняется работа процессора.
Программирование Узнать поддерживаемые режимы дисплея в защищённом режиме https://www.cyberforum.ru/ low-level/ thread2254545.html
Есть ли способ узнать поддерживаемые режимы дисплея на ассемблере в защищённом режиме. Хочется достать инфу типа (Символов:Строк*(битность цвет))
Обсуждение статьи "Память компьютера" Программирование
Обсуждение статьи https://www.cyberforum.ru/low-level/thread2107770.html Вот про флаговые биты элементов таблицы страниц PTE (Page Table Entries) чуть более подробно: P (Present - присутствие). Если 0, то страница не отображена на физическую память. Это значит, что она либо не определена, либо её содержимое было записано на диск операционной системой в процессе свопинга. Если происходит...
Программирование Есть ли какие нибудь компиляторы, которые форматируют код под асемблер? Когда изучали неймана, в программе была функция перевести программу паскаля на неймана. Назрел вопрос: Есть ли какие нибудь компиляторы, которые форматируют код под асемблер? https://www.cyberforum.ru/ low-level/ thread2251542.html
Модератор
Эксперт по электронике
8476 / 4335 / 1642
Регистрация: 01.02.2015
Сообщений: 13,461
Записей в блоге: 8
13.10.2018, 09:21 0

Обсуждение статьи "Трансляторы ЯП на Assembler" - Программирование - Ответ 12967363

13.10.2018, 09:21. Показов 1340. Ответов 11
Метки (Все метки)

Ответ

1. Уясните разницу между моделями памяти tiny, small и т.д. Каждая модель памяти имеет особенности. Модель tiny не имеет отдельных сегмента стек и данных, модель small должна иметь сегмент стека.

2. Удалил из вашей программы всё лишнее, оставил только вывод массива, сам массив заполнил значениями. Всё выводит корректно.
Assembler
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
.model tiny
jumps
.data
 str_arr DB 256h DUP('$')   ; буфер на 256 символов
 data_arr DB 12,0,17,0,71,0,0,95,0,44,'$'  ; данные
 i DB 0,'$'                              ;индекс элемента массива команд
 j DB 0,'$'                            ;индекс элемента массива данных
 i_stor DB 0,'$'
 
.code
ORG    100h
start:
;Подготовим все необходимое
  mov AX, @data          ; настраиваем сегмент данных
  mov DS,AX
 
 
; вывод массива data_arr
mov CX, 0Ah             ; 10 тактов
sub AL,AL
mov i, AL
_prev:
;;выводим число
; mov BL,i
 sub AH, AH             ; обнуляем AH
 mov AL, data_arr[BX]    ; делимое
 mov BL, 10             ; делитель
 div BL                 ; теперь в AL=десятки, в AH=единицы
 mov BX,AX
 add BX,3030h
 mov AH,2            ; функция вывода символа прерывания 21h
 mov DL,BL           ; выводим старший разряд
 int 21h
 mov DL, BH          ; выводим младший разряд
 int 21h
; выводим пустой символ
sub DL, DL
int 21h
;;;
sub BX,BX
inc i                ; увеличиваем счётчик
mov BL, i
loop _prev
;;;;;;;;;;
 MOV    AH,2       ; переходим на новую строку
 MOV    DL,0Ah
 INT    21h
 
 mov AX, 4c00h      ; завершение программы
 int 21h
end start
Ищите ошибку в другом.

Вернуться к обсуждению:
Обсуждение статьи "Трансляторы ЯП на Assembler" Программирование
1
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.10.2018, 09:21
Готовые ответы и решения:

Трансляторы ЯП на Assembler
Транслятор/интерпретатор ЯП на TASM Интерпретатор Brainfuck на TASM. Для начала напишем...

ОБСУЖДЕНИЕ СТАТЬИ
Ссылка Удалена. Никакого отношения к PHP не имеет. Тема закрыта. ЦВЕТОВЫЕ И ТОНАЛЬНЫЕ ОТНОШЕНИЯ В...

Обсуждение статьи Совместная работа MS Access и сервера MySQL
Обсуждение статьи Совместная работа MS Access и сервера MySQL Not Found The requested URL...

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

11
13.10.2018, 09:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.10.2018, 09:21
Помогаю со студенческими работами здесь

Обсуждение статьи "WinDBG - отладчик ядерного уровня"
R71MT, предлагаю вам: 1. обратиться к администраторам за разрешением редактирования. 2. самым...

Обсуждение статьи "Совместная работа MS Access и сервера MySQL" (Сергей 1980)
Вы пропустили еще некую процедурку при связи таблиц по указанному полю(для обеспечения целостности...

Обсуждение статьи "Как зарегистрировать свой пользовательский ActiveX DLL из клиента"
Хочу обсудить статью из интернета: http://support.microsoft.com/kb/173407/ru Я так понимаю, что...

Обсуждение статьи "Пишем DLL на FASM'e"
R71MT, на сам знаешь каком сайте в разделе ARTICLES моя статья "Import x64", посмотри, может...

Обсуждение статьи "Память компьютера"
Обсуждение статьи https://www.cyberforum.ru/low-level/thread2107770.html Вот про флаговые биты...

Обсуждение "Мануал по flat assembler"
Mikl___, не могу скачать файл FASM.PDF из вложений, пишет "Просмотр вложений разрешен только со...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru