Форум: "Потрепаться";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];
ВнизПростой вопрос по ASM Найти похожие ветки
← →
Новичоккк (2005-05-31 19:56) [0]Такой код:
SSEG segment stack
db 256 dup (?)
SSEG ends
CSEG segment
assume CS:CSEG,DS:CSEG,SS:SSEG
start:
lea dx,sl
mov ah,9
int 21h
int 20h
sl db "text",10,13,"$"
CSEG ends
end start
Почему неправильно работает? Уже около часа сижу и не могу понять =( Текст вроде выводится, но перед ним вылезает куча мусора.
← →
raidan © (2005-05-31 20:15) [1]Когда я был молодой, то писал так:
; Turbo Assembler Copyright (c) 1988, 1991 By Borland International, Inc.
; HELLO.ASM - Display the message "Hello World"
; From the Turbo Assembler Users Guide - Getting started
.MODEL small
.STACK 100h
.DATA
HelloMessage DB "Hello, world",13,10,"$"
.CODE
mov ax,@data
mov ds,ax ;set DS to point to the data segment
mov ah,9 ;DOS print string function
mov dx,OFFSET HelloMessage ;point to "Hello, world"
int 21h ;display "Hello, world"
mov ah,4ch ;DOS terminate program function
int 21h ;terminate the program
END
← →
begin...end © (2005-05-31 20:17) [2]> Новичоккк (31.05.05 19:56)
Дык этта... ASSUME -- оно, конечно, кульно и рульно. Но это только половина дела. Надо ведь ещё и DS инициализировать. 9h int 21h ищет строку в паре DS:DX.
← →
Anatoly Podgoretsky © (2005-05-31 20:33) [3]Возможно он расчитывает на некоторую неявную инициализацию.
← →
Новичокк (2005-05-31 21:52) [4]2Anatoly Podgoretsky
Да, рассчитывал. Понял что был не прав =)
2begin...end
Спасибо за ответ. Исправил. Добавил:
...
mov ax,CSEG
mov ds,ax
...
И вот еще возник вопрос:
У меня WinXP SP2. Почему то не хотят удаляться некоторые откомпилированные EXE-файлы: "объект используется другим пользователем или программой", хотя программа закрыта (на пример из первого поста такая же реакция). Единственный вариант удалить файл - перезагрузить компьютер и удалить через командную строку (или аналогичным способом), не открывая при этом папку с файлом Explorer"ом. Если открыть папку, а потом закрыть, то через командную строку файл уже не удаляется. Кто-нибудь сталкивался с подобным? Как это можно исправить?
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2005.06.29;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.047 c