.model tiny
.386
.code
org 100h
Start:
;Можно так, если длина строки гарантированно 2 байта
mov ax,word ptr [mess]
mov word ptr [Buff1],ax
;Или так, если длина строки произвольная
lea di,Buff2
lea si,mess
mov cx,Len
rep movsb
int 20h
mess db "hi"
Len equ $-mess
Buff1 db 10 dup (?)
Buff2 db 10 dup (?)
end Start
Другие языки программирования и технологии
ассемблер как записать в память программы, в реальном режиме, например строку mess db "hi"? mov [1234],ex не хочет
Андрей Аксенов
Еще желателен CLD (для сброса флага направления) ;)
думаю те, кто знает ассемблер-здесь не отвисают
На каком хоть диалекте то?
masm/nasm/yasm/fasm/tasm/AT&T?
mov ax, word ptr [mess] (мазм, в фазме без ptr)
mov bx, 3
mov word ptr [mess], bx (мазм, в фазме без ptr)
или
mycode:
mov ax, 3
mov val, ax (прокатит в мазме, но не в фазме)
mov [val], ax (мазм/fasm)
mov word ptr [val], 3 (мазм)
mov word [val], 3 (фазм)
mov [val], 3 - тут надо смотреть, что в диалекте берется по умолчанию - потому обычно и пишут размер
ret
data:
val dw 12
в AT&T все наоборот
movw $3, [mess]
(хотя скажу честно, не особо его и знаю/помню, ибо считаю извратом ;) - т. е по возможности всегда конвертил в интелловский синтаксис (masm).
Так куда строку записывать? Она ведь уже в памяти ;). А вообще строка - просто набор байтов. т. е
mov cx, длина строки
mov si, offset mess (masm, на фазме без оффсета)
mov di, offset destination
cld
rep movsb
masm/nasm/yasm/fasm/tasm/AT&T?
mov ax, word ptr [mess] (мазм, в фазме без ptr)
mov bx, 3
mov word ptr [mess], bx (мазм, в фазме без ptr)
или
mycode:
mov ax, 3
mov val, ax (прокатит в мазме, но не в фазме)
mov [val], ax (мазм/fasm)
mov word ptr [val], 3 (мазм)
mov word [val], 3 (фазм)
mov [val], 3 - тут надо смотреть, что в диалекте берется по умолчанию - потому обычно и пишут размер
ret
data:
val dw 12
в AT&T все наоборот
movw $3, [mess]
(хотя скажу честно, не особо его и знаю/помню, ибо считаю извратом ;) - т. е по возможности всегда конвертил в интелловский синтаксис (masm).
Так куда строку записывать? Она ведь уже в памяти ;). А вообще строка - просто набор байтов. т. е
mov cx, длина строки
mov si, offset mess (masm, на фазме без оффсета)
mov di, offset destination
cld
rep movsb
Похожие вопросы
- Нужно на с++ написать программу по заданию:даны две строки, содержащие не более 100 символов. Строки состоят из слов, р
- Какие есть программы для очистки компьютера? (Например для очистки диска С)
- C++. Как задержать выход из программы в конце выполнения, например, аналогом паскалевского readkey?
- Нужна помощь с программой на ассемблере - комментирование каждой строки
- ассемблер, проверка длины строки
- помогите написать программы в ассемблере
- Приведите пожалуйста пример программы на ассемблере, использующая API функцию GlobalMemoryStatus. Заранее спасибо.
- написать программу на ассемблере: найти (в строке) и вывести слово, у которого код первого символа наибольший
- Помогите написать программу на ассемблере, завтра экзамен а я в нём совсем не шарю.
- Нужно составить программу на ассемблере