Im a beginner, I was a higher level language programmer, this is a beginner ques

This is the code.............

dosseg
.model small
.stack 200h
.data
.code

start:
mov ax, 0a000h
mov es, ax

mov ax, 100
mov bx, 100
mov cx, 200

sub cx, ax
mov di, ax
mov dx, bx
shl bx, 8h
shl dx, 6h
add dx, bx
add di, dx

mov al, 1
rep stosb
end start

The assembler is masm32, the file name is simple.asm, and here is my problem............

Assembling: simple.asm
simple.asm(19) : error A2070: invalid instruction operands
simple.asm(20) : error A2070: invalid instruction operands


Please help, it's easy right? Thanks.
[784 byte] By [Fatboy] at [2007-11-19 3:59:25]
# 1 Re: Im a beginner, I was a higher level language programmer, this is a beginner ques
Line 19 and 20 are these:

add dx, bx
add di, dx

But those instruction seems alright though; Is this the correct code?
NoHero at 2007-11-10 3:55:59 >
# 2 Re: Im a beginner, I was a higher level language programmer, this is a beginner ques
Sorry, I think the assembler meant these lines:

shl bx, 8h
shl dx, 6h
Fatboy at 2007-11-10 3:56:59 >
# 3 Re: Im a beginner, I was a higher level language programmer, this is a beginner ques
My assembler does not complain about your code. Have you posted the right one, because I think this code is fine.
NoHero at 2007-11-10 3:57:55 >
# 4 Re: Im a beginner, I was a higher level language programmer, this is a beginner ques
hmmmmmm.............wait...............

Hey NoHero, I feel like I owe you something now.
Fatboy at 2007-11-10 3:59:00 >
# 5 Re: Im a beginner, I was a higher level language programmer, this is a beginner ques
Hey NoHero, I feel like I owe you something now.

a good reputation? ;) :D

/ kidding
NoHero at 2007-11-10 3:59:59 >
# 6 Re: Im a beginner, I was a higher level language programmer, this is a beginner ques
Hello.

incorrects instructions are :

shl bx, 8h
shl dx, 6h

You cannot use immediate operands non equal to 1 with shl for 8086!
Just introduce a .186 or .286 after the dosseg directive!

I think that it would work for Turbo Assembler and maybe MASM !
SuperKoko at 2007-11-10 4:01:05 >