Форум программистов, компьютерный форум, киберфорум
Assembler, MASM, TASM
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
2 / 2 / 1
Регистрация: 09.11.2010
Сообщений: 65
1

Есть код ,проверьте пожайлуйста

13.01.2011, 12:15. Показов 1739. Ответов 28
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Проверьте код.... На ввод-вывод данных

Добавлено через 17 секунд
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
data segment para public 'data' ;
a1 db 10 dup ('?') ;
w dw 12;
ddwo dd '?' ;
;
data ends ;
;
;
stk segment stack ;
db 256 dup ('?') ;
stk ends ;
;
;
code segment para public 'code' ;
assume cs:code,ds:data,ss:stk ;
 
go:
 
mov ah,1;
int 21h;
cmp al,1bh;
je quit;
 
jmp go;
 
quit:
mov ah, 4ch;
int 21h;
 
code ends ;
end go;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.01.2011, 12:15
Ответы с готовыми решениями:

проверьте код-есть ошибки
структура должна быть именно такая-хоть она местами и громозкая-но есть пару ошибок unit Unit1; ...

Написать код для игры НИМ. проверьте пожалуйста тот ли это код
#include <string> using namespace std; int compChoose(int markers); int userChoose(int...

Не выходит сделать, подскажите пожайлуйста
Ребят, прощу помощи.. не получается один момент сделать в программе.. как не пытался.. В общем,...

Проверьте, есть ли в слове буква "а", и если есть, найдите номер последней из них
проверьте, есть ли в слове Х буква "а". если есть, найдите номер последней из них.

28
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
13.01.2011, 12:24 2
Alexandr93, нормальный код, только в своих сообщениях используй теги [аsм] [/аsм]
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
data segment para public 'data' ;
a1 db 10 dup ('?') ;
w dw 12;
ddwo dd '?' ;
;
data ends ;
;
;
stk segment stack ;
db 256 dup ('?') ;
stk ends ;
;
;
code segment para public 'code' ;
assume cs:code,ds:data,ss:stk ;
 
go:
 
mov ah,1; получаем очередной символ с клавиатуры
int 16h; <-- вот здесь ошибка не 21h а 16h
cmp al,1bh;нажали на клавишу Esc?
jne go;если да то на выход из программы иначе продолжаем ввод
quit: mov ah, 4ch;выход в DOS
int 21h;
code ends ;
end go;
1
2 / 2 / 1
Регистрация: 09.11.2010
Сообщений: 65
13.01.2011, 12:26  [ТС] 3
В смысле используй теги [аsм] [/аsм]???
0
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
13.01.2011, 12:30 4
В смысле код в сообщениях обрамляется тэгами AS ASM BASH BASIC C C++ C# CSS DELPHI FORT HTML JAVA JS LISP и т.д. Это в правилах форума написано, если код очень длинный появится бегунок для прокрутки кода -- посмотри внимательно на форму "быстрый ответ"
2. Рекомендации участникам форума при создании тем.
......
8.Используйте тэги форматирования текста для удобства восприятия ваших сообщений другими пользователями.
.......
1
2 / 2 / 1
Регистрация: 09.11.2010
Сообщений: 65
13.01.2011, 12:56  [ТС] 5
Почему надо использовать 21 прерывание а не 16??
0
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
13.01.2011, 13:06 6
Alexandr93, найди справочник прерываний или смотри учебник -- 21h прерывания в основном для работы с файлами, 9 и 16h прерывания для клавиатуры, 10h прерывания для работы с графикой и т.д. ты же не будешь вилкой ремонтировать часы? Так и здесь -- каждое прерывание используется для определенных целей
1
2 / 2 / 1
Регистрация: 09.11.2010
Сообщений: 65
13.01.2011, 13:09  [ТС] 7
Спасибо)) Больше хоть нет ошибок?
0
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
13.01.2011, 13:11 8
Alexandr93, 6 строчек кода и одна ошибка -- по-моему норму уже выполнил
0
2 / 2 / 1
Регистрация: 09.11.2010
Сообщений: 65
13.01.2011, 13:14  [ТС] 9
Я ведь старался) кусок кода до этих строк это как я понимаю стандартное?
0
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
13.01.2011, 13:20 10
Alexandr93, есть упрощенное оформление сегментов, например вместо
data segment para public 'data' ;
a1 db 10 dup ('?') ;
w dw 12;
ddwo dd '?'
data ends

пишется просто
.data
a1 db 10 dup ('?') ;
w dw 12;
ddwo dd '?'

вместо
stk segment stack ;
db 256 dup ('?') ;
stk ends

просто
.stack 256
вместо
code segment para public 'code' ;
assume cs:code,ds:data,ss:stk
...
code ends

просто
.code
а как у тебя -- код лет 30 назад оформлялся
1
2 / 2 / 1
Регистрация: 09.11.2010
Сообщений: 65
13.01.2011, 13:24  [ТС] 11
У нас препод просто не объяснял ничеги всё ,какой то файл только кинул всем и всё( Можешь подробней объяснить что эти стандартные штуки делают?
0
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
13.01.2011, 13:27 12
Alexandr93, я то могу, но вот мой приятель Гугл обижается, купи книжку по ассемблеру, почитай, не понятно будет объясним
1
2 / 2 / 1
Регистрация: 09.11.2010
Сообщений: 65
13.01.2011, 13:29  [ТС] 13
Ладно ,спасибо))

Добавлено через 36 секунд
В конечном итоге так должно выглядеть?
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
.data
a1 db 10 dup ('?') ;
w dw 12;
ddwo dd '?'
;
;
.stack 256
;
;
.code
 
go:
 
mov ah,1; получаем очередной символ с клавиатуры
int 16h; <-- вот здесь ошибка не 21h а 16h
cmp al,1bh;нажали на клавишу Esc?
jne go;если да то на выход из программы иначе продолжаем ввод
quit: mov ah, 4ch;выход в DOS
int 21h;
code ends ;
end go;
0
Ушел с форума
Автор FAQ
16279 / 7604 / 1065
Регистрация: 11.11.2010
Сообщений: 13,617
13.01.2011, 13:30 14
Alexandr93, Да почти верно
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
.286
.model small
.data
a1 db 10 dup ('?') ;
w dw 12;
ddwo dd '?'
.stack 256
.code
start: mov ax,@data ;<-- для работы с сегментом данных пригодится
mov ds,ax 
go:
 
mov ah,1; получаем очередной символ с клавиатуры
int 16h
cmp al,1bh;нажали на клавишу Esc?
jne go;если да то на выход из программы иначе продолжаем ввод
quit: mov ah, 4ch;выход в DOS
int 21h
end start
1
4164 / 1816 / 216
Регистрация: 06.10.2010
Сообщений: 4,070
13.01.2011, 16:15 15
Mikl___
Изначально всё было верно
Assembler
1
2
mov ah,1
int 21h
Это вызов функции чтения символа с клавиатуры

А то что ты предложил
Assembler
1
2
mov ah,1
int 16h
Это чтение из буффера клавиатуры

Конечно тоже верно, но всё же не надо путать людей.
0
2 / 2 / 1
Регистрация: 09.11.2010
Сообщений: 65
13.01.2011, 20:39  [ТС] 16
То есть
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
.286
.model small
.data
a1 db 10 dup ('?') ;
w dw 12;
ddwo dd '?'
.stack 256
.code
start: mov ax,@data ;<-- для работы с сегментом данных пригодится
mov ds,ax 
go:
 
mov ah,1; получаем очередной символ с клавиатуры
int 21h
cmp al,1bh;нажали на клавишу Esc?
jne go;если да то на выход из программы иначе продолжаем ввод
quit: mov ah, 4ch;выход в DOS
int 21h
end start
так надо? точно правильно?
0
4164 / 1816 / 216
Регистрация: 06.10.2010
Сообщений: 4,070
13.01.2011, 21:04 17
Зачем спрашиваешь? Скомпилируй и посмотри, что получилось.
0
2 / 2 / 1
Регистрация: 09.11.2010
Сообщений: 65
13.01.2011, 21:20  [ТС] 18
Дак в том и проблема что не получается с отладчиком разобраться
0
4164 / 1816 / 216
Регистрация: 06.10.2010
Сообщений: 4,070
13.01.2011, 22:03 19
Assembler
1
2
tasm.exe <имя asm файла>
tlink.exe <имя получившегося obj файла>
0
2 / 2 / 1
Регистрация: 09.11.2010
Сообщений: 65
13.01.2011, 22:17  [ТС] 20
Это что вообще??
0
13.01.2011, 22:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.01.2011, 22:17
Помогаю со студенческими работами здесь

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

Проверьте есть ли ошибки?
Програма: program ZZ; var x,a,b: real; i:integer; begin a:=1.5; b:=2.5; x:=3.1; for i:=1...

Проверьте, есть ли в слове Х буква "б". Если есть, замените последнюю из них на букву "а"
Проверьте, есть ли в слове Х буква &quot;б&quot;. Если есть, замените последнюю из них на букву &quot;а&quot;.

Проверьте, есть ли в массиве элементы равные 0
10. Дан целочисленный вектор А(n). Проверьте, есть ли в нем элементы равные 0. Если есть, найдите...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru