戏++ 发表于 2013-11-21 10:39:25

两个Loop的情况该怎么写

两个Loop的情况该怎么写

assume cs:code
code segment
;start: mov ax,0ffffh
; mov ds,ax
start: mov bx,0
mov ax,1
mov cx,100
s: mov ,ax
inc bx
inc ax
loop s
mov bx,0
mov ax,1
mov cs,100
s1:
mov bx,
add ax,bx
inc bx
loop s1
mov ax,4c00h
int 21h
code ends
end start

c:\try>ml 7.asm
Microsoft (R) Macro Assembler Version 6.15.8803
      Patched for you by promethee in the year 2001 - enjoy
Copyright (C) Microsoft Corp 1981-2000.All rights reserved.
Assembling: 7.asm
7.asm(15) : error A2070: invalid instruction operands

flhy 发表于 2013-11-21 12:46:55

是不是不能写mov bx,啊?

LinuxDeepin 发表于 2013-11-21 20:26:38

本帖最后由 LinuxDeepin 于 2013-11-21 20:28 编辑

flhy 发表于 2013-11-21 12:46 static/image/common/back.gif
是不是不能写mov bx,啊?
cx 写成了 cs
cs 是不能直接赋值的,必须间接通过寄存器才能赋值


vitamin 发表于 2013-11-22 20:25:04

flhy 发表于 2013-11-21 12:46 static/image/common/back.gif
是不是不能写mov bx,啊?

可以的。意思是 段地址在ds偏移地址在bx中的内存单元中的数据赋给bx
页: [1]
查看完整版本: 两个Loop的情况该怎么写