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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2010, 02:27   #1
molan
 
Регистрация: 22.12.2010
Сообщений: 4
По умолчанию вывод имени файла(исполняемого)в cmd

задание было вывести на экран(точнее в командную строку)
название запускаемого файла.
программа всё выполняет,но преподавателю не нравится часть кода.
помогите пожалуйста исправить а то я только начал изуч ассемблер.
Код:
.model small
.stack 100h
.data
 
.code
start:
	mov ax,@data 
	mov ds,ax
 
; получить адрес своего PSP
  mov  ah,62h ;находим адрес PSP и записываем его в bx
  int  21h
 
; получить адрес Environment
  mov  es,bx ;адрес PSP записываем в es
  mov  ax,es:[002Ch] ; записываем в ax адрес сегмента PSP со смещением 002ch
  mov  es,ax
  mov  ds,ax
 
; найти имя
  cld    ;обнуляет признак направления
  xor  ax,ax ;обуляем ax
  mov  di,ax
  mov  cx,7FFFh
metka1:
  repne	scasb    ;повторяем 
  cmp  al,[di] ;сравниваем al и di
  jnz  metka1
  add  di,3
 
; вывести имя
metka2:
  cmp  byte ptr [di],0
  jz   metka3
  mov  dl,[di]
  inc  di ;это значит di-1
  mov  ah,2 ;вывод
  int  21h
  jmp  metka2
 
metka3:
  mov  ax,4C00h
  int  21h
 
end start
преподователю не нравится всё что идёт после метки 2.
говорит что не понимает как это делается. я вообще растерялся помогите пожалуйста.

Последний раз редактировалось molan; 25.12.2010 в 04:21.
molan вне форума Ответить с цитированием
Старый 25.12.2010, 12:50   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
inc di ;это значит di-1
вот на этом он скорее всего тебя и поймал, посмотрев на камент. Там должно быть не - а +
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 25.12.2010, 14:13   #3
molan
 
Регистрация: 22.12.2010
Сообщений: 4
По умолчанию

спасибо большое за ответ
molan вне форума Ответить с цитированием
Старый 24.03.2012, 09:36   #4
lKsushal
Новичок
Джуниор
 
Регистрация: 24.03.2012
Сообщений: 1
По умолчанию Программа на ассемблере

Добрый день. Помогите пожалуйста с программой по ассемблеру. Мы изучаем его всего месяц, преподаватель толком ничего не объяснил, задал задания...

Вывести на печать сообщение, которое должно содержать следующее:
╔══════════════════════════════════ ═╗
║ Работает прoграмма (имя), которая ║
║ выводит данное сообщение ! ║
╚══════════════════════════════════ ═╝
Рамку вывести с помощью псевдографики.
lKsushal вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод результата в cmd Windows Aleksandr_Yanov PHP 3 10.11.2010 15:26
Что еще тащить с IBX, кроме исполняемого файла? AutoHare БД в Delphi 0 21.10.2010 21:22
[WPF]Получить путь к исполняемому файлу включая имя исполняемого файла. Casper-SC Общие вопросы .NET 3 26.07.2010 03:27
Способы уменьшения исполняемого файла в Delphi 2010 STRELOK-2007 Общие вопросы Delphi 3 23.06.2010 12:23
Создание исполняемого EXE-файла Jean-Esther Помощь студентам 5 03.03.2009 21:52