|
Постоянный
Регистрация: 04.12.2007
Сообщений: 424
С нами:
9702986
Репутация:
479
|
|
mov dx,stroka+100h ;fasm не знает что такое lea/offset
xor bx,bx
mov ah,09h
int 21h ;нормально выводит строку
xor ax,ax
mov cx,5 ;первые 5 букв
mov si,stroka+100h
@cy:lodsb ;буква из stroka -> аккумулятор
mov [string+100h],al ; тут он пытается записать букву из stroka в string
loop @cy
xor ax,ax
mov dx,string+100h
mov ah,09h
int 21h ;тут он выводит бред
int 20h
stroka db 'aldaskjfahslkdjahlsjdh',13,10,'$',0
string db 80 DUP(?)
Программа должна вывести сначал переменную stroka, она ее выводит, а затем должна перегнать ее в переменную string и вывести, но похоже прогша ее тупо не записывает в string.
Возможно ли через stosb?
//fasm
получилось так:
mov cx,5
mov si,stroka+100h
mov di,string+100h
@cy:lodsb
stosb
loop @cy
...................
string db '0000000000000000000000',13,10,'$',0
вопрос: как правильно будет через string dup (?)
Последний раз редактировалось ntldr; 15.06.2008 в 19:36..
|