![]() |
|
![]() ![]() ![]() |
|
Vat63 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 29.10.2013 Репутация: нет Всего: нет |
вопрос в следующем: Составить программу производящую подсчет суммы элементов числового массива из 20 чисел, лежащих в диапазоне -10...+10. Всем кто откликнулся большое спасибо!
|
|||
|
||||
ФедосеевПавел |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 7.2.2009 Репутация: 4 Всего: 10 |
Давай своё спасибо!
Ну а серьёзно, покажи наработки. Прога-то не сложная, а у тебя уже что-то есть. |
|||
|
||||
Vat63 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 29.10.2013 Репутация: нет Всего: нет |
наработки убогие, что довольно прискорбно, с ассемблером особо не знаком, д и преподают у нас его на уровне отредактируй методичку с кодом под свой вариант |
|||
|
||||
ФедосеевПавел |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 7.2.2009 Репутация: 4 Всего: 10 |
Ну и чудесно. Покажи хоть какие. Но только с попыткой решения, а не шаблон DOS EXE или DOS COM.
|
|||
|
||||
Vat63 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 29.10.2013 Репутация: нет Всего: нет |
до попытки решения тут далекоооо
Data SEGMENT MAS DB -10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10 Data ENDS Ourstack Segment Stack DB 100h DUP (?) Ourstack ENDS ASSUME CS:Code, DS:Data, SS:Ourstack Code SEGMENT Start: mov AX, Data mov DS, AX mov SI, offset MAS add mas, mas ;.... mov AX, 4C00h int 21h Code ENDS END Start Это сообщение отредактировал(а) Vat63 - 9.12.2013, 18:53 |
|||
|
||||
ФедосеевПавел |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 291 Регистрация: 7.2.2009 Репутация: 4 Всего: 10 |
Шаблон DOS EXE есть.
Далее, как в бейсике, паскале или с, перебираешь все элементы массива. Можно организовать перемещение так:
обращение к элементу массива mas[si] А ещё глянь уроки калашникова на сайте |
|||
|
||||
Vat63 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 29.10.2013 Репутация: нет Всего: нет |
мы не пользуемся бэйсиком паскалем или ещё чем либо чисто блокнот.asm и компановщики tasm td tlink, спасибо
Это сообщение отредактировал(а) Vat63 - 9.12.2013, 19:24 |
|||
|
||||
Vat63 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 29.10.2013 Репутация: нет Всего: нет |
ФедосеевПавел, помоги пожалуйста с той же программой, не получается правильно вывести сумму массива
;Составить программу производящую подсчет суммы элементов числового массива из 20 чисел, лежащих в диапазоне -10...+10 Data SEGMENT MAS DB -10,-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10 SUM DB 0 m db 'results:', 13, 10, '$' Y_ASCII DB 7 DUP(?) sign DB ? Data ENDS Ourstack Segment Stack DB 100h DUP (?) Ourstack ENDS ASSUME CS:Code, DS:Data, SS:Ourstack Code SEGMENT PREOBR PROC ;начало процедуры MOV AL, SUM ;в АХ исходное число MOV SIGN, ' ' ;пробел (знак +) в переменную знака CMP AX, 0 ;сравнить число с нулем JNS M_1 ;если больше или равно 0, перейти на метку М_1 MOV SIGN, '-' ;иначе знак "-" в переменную знака NEG AL ;преобразовать в прямой код M_1: XOR CX, CX MOV BX, 10 M_2: XOR DX, DX DIV BX PUSH DX INC CX; CMP AX, 0 JNE M_2 XOR SI, SI MOV AL, SIGN MOV Y_ASCII[SI], AL INC SI M_3: POP AX ADD AL, 30h MOV Y_ASCII[SI], AL INC SI LOOP M_3 MOV Y_ASCII[SI], '$' MOV DX, offset Y_ASCII MOV AH, 09h INT 21h RET PREOBR ENDP Start: mov AX, Data mov DS, AX mov SI, offset MAS mov CX, 20 mov AX, 0 L1: add AL, [SI] add SI, 1 loop L1 mov SUM, AL call PREOBR mov AX, 4C00h int 21h Code ENDS END Start Добавлено через 13 минут и 1 секунду все косяк найден тема закрыта!) Спасибо откликнувшемуся! |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Asm для начинающих" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Asm для начинающих | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |