Описание тега emu8086

Редактор исходного кода 8086, ассемблер, дизассемблер и программный эмулятор (виртуальный ПК с интерфейсом MSDOS)
1 ответ

emu8086 добавить два числа, вывод не ниже 10

Вот код, выводимый даже на два числа ниже 10, но мне нужно знать, что вывод на 10 больше.Благодарю. .model small .stack 100h .data msg1 db "The sum of$" msg2 db "and$" msg3 db "is:$" .code main proc mov ax,@data mov ds,ax mov ah,9 lea dx,msg1 int 21…
15 июн '16 в 08:40
1 ответ

Программа сборки 8086 всегда печатает одну и ту же строку

Я написал следующую программу, используя emu8086 с включенным синтаксисом fasm. Как вы можете видеть, программа должна напечатать "Флаг переполнения не установлен" в первый раз, а затем после добавления устанавливает флаг переполнения, затем она дол…
17 мар '18 в 02:05
2 ответа

Как я могу напечатать от 0 до 100 на ассемблере в эму 8086?

Здесь я попытался что-то напечатать 10 до 0 десятичных чисел в emu8086, .MODEL SMALL .STACK 100H .DATA NUM DB 58D .CODE MAIN PROC MOV AX,@DATA MOV DS,AX START: CMP NUM,48D JGE PRINT JMP END_ PRINT: MOV AH,2 MOV DL,NUM INT 21H DEC NUM JMP START END_:…
03 июн '16 в 04:15
1 ответ

Кто-нибудь может сказать мне, что не так с этим кодом в emu8086?

Я не могу запустить мой код в emu8086. Кто-нибудь может взглянуть на мой код и выяснить, что не так? org 100h variable1 db 9h variable2 db 5 variable3 db 1342h ret mov ax, variable1 mov bl, variable2 mov cx, variable3
22 мар '18 в 07:45
1 ответ

Как использовать CLR и JC в сборке?

ORG 0100H INIT: MOV AL,99H OUT 06,AL MOV AL,0 OUT 02,AL MOV TEMP,01DH LOOP: CALL ADC CALL HEX2ASC CLR C SUB AL,TEMP JC TEMPLO CLR AL JMP TEMP1 TEMPLO: MOV AL,20H TEMP1: OUT 02,AL JMP LOOP ADC: IN AL,00 MOV BL,AL IN AL,00 CLR C SUB AL,BL JNZ ADC MOV…
12 дек '17 в 16:47
1 ответ

X86 IDIV знак остатка зависит от знака дивиденда для 8/-3 и -8/3?

Может кто-нибудь объяснить мне, почему знак остатка отличается в этих случаях? Это ошибка эмулятора или реальные процессоры тоже это делают? https://s tackru.com/images/759b6967245180ee232b65304eee471ccb606932.png 8 / -3 : quotient(AL) = -2 remainde…
29 дек '18 в 03:37
1 ответ

Как найти адреса команд?

Я новичок в программировании на ассемблере, и у меня возникли некоторые проблемы с этой проблемой. Таким образом, адреса приведенных ниже команд определяются содержимым CS:IP регистры. Если CS равен 0750h и IP 047Bh найти все адреса команд. Дано, чт…
13 фев '19 в 13:56
2 ответа

Удаление символа на экране

Я делаю игру в сборке, используя EMU8086 для проекта в школе. В этой игре мне нужно разрешить пользователю вводить строку, чтобы прогрессировать. Когда он вводит строку, он может что-то печатать неправильно и использовать клавишу Backspace для ее ис…
31 мар '16 в 18:28
3 ответа

Как проверить, равен ли флаг CF 1 в emu8086?

Я пытаюсь определить, равен ли флаг CARRY единице или нет, но я не знаю, как это проверить. Я написал приведенный ниже код, но мне нужна помощь с вопросительными знаками, которые я вставил. LEA DX, MSG MOV AH, 09H INT 21H MOV AH, 01H INT 21H MOV NUM…
26 дек '16 в 19:46
1 ответ

Как сбросить символ в сборке

Мне нужна была помощь, чтобы отразить персонажа на экране с помощью emu8086. Размер экрана (80x25 символов). Мне удалось переместить его по диагонали, но он не отскакивает назад. Вместо этого он просто идет по осям х после достижения границы (то ест…
24 апр '17 в 17:12
2 ответа

Проблема с массивом и цветным текстом

Я хочу раскрасить некоторые буквы, используя этот процесс: markText proc mov ax,data mov ds,ax mov es,ax mov cx, M mov dx, 1 push dx mov Counter, 0 mov si, 0 colorText: mov ah,13h ;SERVICE TO DISPLAY STRING WITH COLOR. push ax mov al,[CharMas+si] cb…
22 июн '17 в 14:51
1 ответ

Программа для поиска подстроки на 8086 ассемблере не работает

Вот мой код до сих пор. По какой-то причине я всегда получаю сообщение NOT FOUND при запуске.Я должен проверить, присутствует ли определенная подстрока (HELL) в основной строке (HELLO). Как мне исправить мой код? .model small COMPARE MACRO LEA DI,SU…
10 мар '17 в 11:56
1 ответ

Ошибка умножения не дает должного результата?

Что я пытаюсь сделать? Я беру у пользователя два целых числа и пытаюсь их умножить, используя mul инструкция. В чем проблема? Каждый раз, когда я пытаюсь умножить 2 целых числа и пытаться отобразить результат, я получаю алфавит T в качестве вывода. …
24 дек '17 в 14:45
1 ответ

Сборка 8086 - умножить две матрицы

Этот кусок кода должен умножить две матрицы, сохраняя знак соответствующих элементов N EQU 3 M EQU 4 P EQU 2 .MODEL small .STACK .DATA matA DB 4,-3,5,1,3,-5,0,11,-5,12,4,-5 matB DB -2,3,5,-1,4,3,9,-7 matC DW N*P DUP(?) .CODE .STARTUP XOR AX,AX XOR B…
01 ноя '18 в 18:08
2 ответа

Ошибка "Переместить неверные параметры"

Я начинаю изучать ассемблер (ASM x86). Я использую эмулятор emu8086. Я написал следующую инструкцию: mov eax,3 Когда я пытаюсь эмулировать инструкцию, emu8086 пишет: wrong parameters MOV eax,3. probably it's an undefined var: eax Кроме того, когда я…
23 янв '14 в 18:47
1 ответ

Как я могу ввести 2-значный номер в сборке emu8086

mov ah,01h int 21h Я знаю, что это то, как вы вводите однозначное число или символ, но как я могу ввести, например, число 38. Спасибо
15 окт '16 в 14:13
1 ответ

8086, копирование данных из одного списка в другой

;program starts TABLE DB 0, 2, 0, 2, 0, 0, 4, 0, 0, 1, 0, 0, 3, 0, 1, 0 TABLE1 DB ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? MOV SI, OFFSET TABLE MOV DI, OFFSET TABLE1 MOV AL, [SI] MOV [DI], AL MOV AL, [SI+1] MOV [DI+4], AL MOV AL, [SI+2] MOV [D…
14 ноя '16 в 16:08
0 ответов

Сборка emu8086: два шестнадцатеричных и двоичных числа добавить суб мул

Я получаю hex как первое число. Я получаю двоичное как второе число. программа не работает, когда я пытаюсь ввести значение за ее пределами. Причина в том, что когда я вношу двоичный код, он преобразуется в шестнадцатеричный формат. Когда я вводю зд…
15 апр '18 в 17:24
2 ответа

Сборка вывода (я не понял)

Я хочу напечатать одну строку computer на экране Но мой вывод отображает строку дважды так: computercomputer Мой код: data segment mesaj db "computer$" ends stack segment dw 128 dup(0) ends code segment start: mov ax,@data mov ds,ax call ekransil le…
17 дек '17 в 16:26
1 ответ

Сборка: ввод значения от пользователя (более одного ввода)

Это функция в сборке для получения ввода от пользователя в 2 строки "размер" и "в",но это займет всего 1 вход, а затем начинает падать. Мне нужна помощь. Заранее спасибо. input: mov si,0 lb : mov ah,0 int 16h cmp al,0x0d je 2nd mov [size + si],al in…
27 янв '18 в 16:01