Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

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


Ответ
 
Опции темы
Старый 18.11.2020, 06:38   #1
Veles221
Новичок
Джуниор
 
Регистрация: 18.11.2020
Сообщений: 1
По умолчанию Надо нарисовать "треугольную " спираль TASM

Добрый день! Надо реализовать данный рисунок в TASM. Не представляю как это сделать. Еле как сделал спираль Архимеда, а теперь вот это.. Помоги пожалуйста.
Изображения
Тип файла: png 11.png (67.7 Кб, 16 просмотров)
Veles221 вне форума Ответить с цитированием
Старый 18.11.2020, 20:37   #2
JEHuH
Новичок
Джуниор
 
Регистрация: 18.11.2020
Сообщений: 4
По умолчанию

Код:
%TITLE "Triang1.asm"
;
;tasm /ml /m2 Triang1
;tlink /x Triang1
;
; Debug
;tasm /ml /m2 /zi Triang1
;tlink /v Triang1
;td Triang1

	IDEAL

	P386
	SMART
	JUMPS
	LOCALS	@@

	MODEL	small
	STACK	256

VGA320	equ 0
VGA640	equ 1	; Set the appropriate resolution to 1.
SVGA800	equ 0

if SVGA800	; VESA SVGA 800x600x16
VID_MODE	equ 6Ah
SCR_WIDTH	equ 800
SCR_HEIGHT	equ 600
elseif VGA640	; VGA 640x480x16
VID_MODE	equ 12h
SCR_WIDTH	equ 640
SCR_HEIGHT	equ 480
elseif VGA320	; VGA 320x200x256
VID_MODE	equ 13h
SCR_WIDTH	equ 320
SCR_HEIGHT	equ 200
endif

VGA_SEGMENT	equ 0A000h

	DATASEG

exCode	db 0
VGASeg	dw VGA_SEGMENT	; Vga Segment in High Memmory

	CODESEG
;
; Entry point
;
Start:
	mov	ax, @data	; Set DS to point to data segment
	mov	ds, ax
	mov	es, [VGASeg]	; Set ES to point to video segment

	mov	ax, VID_MODE
	int	10h

	mov	di, 3

@@AGAIN:
	mov	dx, 9421
	mul	dx
	inc	ax
	push	ax
	sub	dx, dx
	div	di
	dec	dx
	jz	@@20
	jns	@@10
	add	si, SCR_HEIGHT
	sub	cx, SCR_WIDTH/2
@@10:
	add	cx, SCR_WIDTH    
@@20:
	shr	cx, 1
	shr	si, 1

	mov	ah, 0Ch
	mov	dx, si 
	int	10h

	mov	ah, 1
	int	16h
	pop	ax
	jz	@@AGAIN

Exit:
	mov	ax, 3		; Set 80x25x16 char mode
	int	10h

	mov	ah, 4Ch		; Return to DOS
	mov	al, [exCode]
	int	21h
; -------------------------------------------------------

	END	Start

; -------------------------------------------------------
; <<eof>> Triang1.asm
; -------------------------------------------------------
JEHuH вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме от 7000 рублей в месяц



Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Убрать папки "Pictures", "Music", "Видео", "Downloads" из "МОЙ КОМПЬЮТЕР" Бахтиёр1916 Windows 1 05.04.2017 12:53
VBA Excel - : Лекарства "Метокард" (строка 5) и "Карвидил" (строка 6) при нажатии появляются 2 раз. Что надо делать? omonulla1986 Microsoft Office Excel 7 04.12.2016 16:49
Нужно пояснить/прокомментировать код программы, или коды функций "Добавить" "Удалить" "Обновить(редактировать" "Поиск" "Период") ZIRASS PHP 4 15.06.2016 14:23
Помогите с задачей "Спираль" SirArthur Общие вопросы C/C++ 1 02.12.2013 14:45


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS