Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.03.2020, 10:17   #1
Nikkoray
Новичок
Джуниор
 
Регистрация: 09.03.2020
Сообщений: 1
По умолчанию Как правильно писать программы на asm8086

Здравствуйте!
Учусь на первом курсе (первый семестр, обучения с марта) института.
Идет информатика и задание по лабораторной написать программу, при которой пользователь будет вводить трехзначные числа и по нажатию ентер, введенные числа будут сортировать по возрастанию, а так же переводится в 16-ти код.
Я в ассемблере полный ноль (сейчас пытаюсь что-то сделать, но попытки мои неуспешны), написать нужно под процессор i8086
Мои потуги:
Код:
; Hello World Sample!

; Standard header:
	#make_COM#
	
	; Псевдо оператор, дает понять, что в указанном сегменте (паракрафе) нужно сделать смещение на 100h
        ORG  100H  
   
   
    

; Прыгаем на метку START :)
	JMP START

; Масссив данных, содержащий информацию для пользователя.
Welcome DB 'Здравствуй пользователь!', 13, 10
    DB 'Твоя задача:', 13, 10
    DB 'Ввести несколько трехзначных чисел', 13, 10
    DB '>', '$'


; Загружаем в регистр DX адрес начала массива с привествием.
START:  LEA DX, Welcome

; Печатаем сообщение:
        MOV AH, 9H
        INT 21h
        
        MOV CX, 0
; Вводим цифлы...:)      
 enter:
 	mov ah, 01h
 	int 21h
 	cmp al, 0Dh
 	jle quit
 	push ax
 	INC CX
        loop enter
 
 
 
 
 quit:

;Выходим из программы, начинаем выполнять уже другую.
        MOV AH, 4Ch
        INT 21h

INT 20h
Да, я научился только выходить по нажатию на ентер и вносить входные данные в стек.
Пытался реализовать следующую комбинацию:
Код:
 MOV AX, '1'
  PUSH AX
  MOV AX, '2'
  PUSH AX
  MOV AX, '3'
  PUSH AX
  
  MOV AX, 0
  MOV CX, 3
  
  lest:
  	POP AX
  	CMP AX, '0'
  	JE sum0
  	
  	
  	CMP AX, '1'
  	JE sum1
  	
  	
  	CMP AX, '2'
  	JE sum2
  	
  	
  	CMP AX, '3'
  	JE sum3
  	
  	
  	CMP AX, '4'
  	JE sum4
  	
  	
  	CMP AX, '5'
  	JE sum5
  	
  	
  	CMP AX, '6'
  	JE sum6
  	
  	
  	CMP AX, '7'
  	JE sum7
  	
  	
  	CMP AX, '8'
  	JE sum8
  	
  	
  	CMP AX, '9'
  	JE sum9
  	
  	
	
	sum0:
	MOV AX, 0
	jmp capacity
	
	sum1:
	MOV AX, 1
	jmp capacity
	
	sum2:
	MOV AX, 2 
	jmp capacity
	
	sum3:
	MOV AX, 3
	jmp capacity
	
	sum4:
	MOV AX, 4
	jmp capacity
	
	sum5:
	MOV AX, 5
	jmp capacity
	
	sum6:
	MOV AX, 6
	jmp capacity
	
	sum7:
	MOV AX, 7
	jmp capacity
	
	sum8:
	MOV AX, 8
	jmp capacity
	
	sum9:
	MOV AX, 9
	jmp capacity
	
	
	
	capacity:
	CMP CX, 3
	JE CX3
	CMP CX, 2
	JE CX2
	CMP CX, 1
	JE CX1
	
	
	CX3:
	MOV DX, AX
	jmp endloop
	
	CX2:
	MOV BX, AX,
	MUL BX, 10
	ADD DX, BX
	jmp endloop
	
	CX1:
	MOV BX, AX
	MUL BX, 100
	ADD DX, BX
	jmp endloop
	
  	
  	
  	endloop:	
  	dec cx
  	jmp lest

  
  HLT
Но даже она не работает!
Помогите плиз
Nikkoray вне форума Ответить с цитированием
Старый 10.03.2020, 06:53   #2
R71MT
Участник клуба
 
Аватар для R71MT
 
Регистрация: 16.06.2011
Сообщений: 1,428
По умолчанию

Цитата:
Сообщение от Nikkoray Посмотреть сообщение
Я в ассемблере полный ноль
тогда почитайте хотя-бы закреплённый FAQ
там есть и ввод-вывод чисел, и сортировки
Нашедшего выход - затаптывают первым..
R71MT вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно писать библиотеки для микроконтроллеров osandr Микроконтроллеры, робототехника, схемотехника, 3D принтеры 3 19.07.2018 12:16
Как правильно писать? _Mikhail_ PHP 6 28.10.2012 02:22
Ребята как правильно на писать блок-схему по данному листингу программы(просто очень надо, а у меня не получается) denl9 Общие вопросы Delphi 1 08.05.2012 22:05
Какие программы нужно установить чтобы писать программы для телефонов nokia Кристинка89 Общие вопросы по Java, Java SE, Kotlin 2 17.02.2011 15:15
как правильно писать модули для билдера CodeNOT Общие вопросы C/C++ 2 27.12.2010 19:12