Adele-_Someone_ 发表于 2013-8-30 13:26:17

帮我看下哪里错了 汇编第二版实验9


assume cs:code,ss:stack
date segment
db'welcome to masm!'
db 02h,24h,71h
date ends
code segment
stack segment
dw 8 dup(0)
stack ends
start:mov ax,date
mov ds,ax
mov ax,stack
mov ss,ax
mov sp,10h
mov ax,0B872H
mov eS,ax
mov bx,0

mov cx,3
s:push cx
push ax

mov di,0
mov si,0
mov cx,10h

s1:mov al,ds:
   mov es:,al
   inc di
   add si,2
   loop s1
   
   mov al,ds:
   mov si,1
   mov cx,10h
s2:mov es:,al
    add si,2
loop s2

pop ax
add ax,0A0h
mov es,ax
inc bx

pop cx
loop s
mov ax,4c00h
int 21h
code ends
end start
为什么我运行后只出现一行绿字呢

小咒 发表于 2013-8-30 14:32:31

换行代码中出错
pop ax
add ax,0A0h
mov es,ax

A0是偏移地址不是段地址,这里计算出的A0应该是偏移地址

怡静 发表于 2013-8-30 19:18:28

小咒 发表于 2013-8-30 14:32 static/image/common/back.gif
换行代码中出错
pop ax
add ax,0A0h


谢谢小咒热情解答。

Adele-_Someone_ 发表于 2013-9-2 09:46:50

小咒 发表于 2013-8-30 14:32 static/image/common/back.gif
换行代码中出错
pop ax
add ax,0A0h


没错吧   我把原来的段地址加上了A0 (add ax,0A0h.)

小咒 发表于 2013-9-2 16:24:18

Adele-_Someone_ 发表于 2013-9-2 09:46 static/image/common/back.gif
没错吧   我把原来的段地址加上了A0 (add ax,0A0h.)

这个A0是偏移地址计算出来的。。。你要把偏移地址和段地址的概念搞清楚

Adele-_Someone_ 发表于 2013-9-3 10:01:44

小咒 发表于 2013-9-2 16:24 static/image/common/back.gif
这个A0是偏移地址计算出来的。。。你要把偏移地址和段地址的概念搞清楚

明白了 谢谢你
页: [1]
查看完整版本: 帮我看下哪里错了 汇编第二版实验9