输出保存好的数据
代码如下,希望实现输出定义在a中的字符串,分成2行输出第一行gg 123,第二行kk 456。但好像全是错误,求大神指正。assume cs:code,ds:data
data segment
a db 'gg 123$kk 456$';定义数据
data ends
code segment
mov ax,data
mov ds,ax
mov si,0
mov cx,2
s:mov ds,offset a :9号功能显示
add si,7
mov ah,9
int 21h
mov dl,0ah ;换行
mov ah,2
int 21h
mov dl,0dh
mov ah,2
int 21h
loop s
code ends
end
assume cs:code,ds:data
data segment
a db 'gg 123$kk 456
;定义数据
data ends
code segment
start:
mov ax,data
mov ds,ax
mov cx,2
mov bx,0
;第一行
s: mov dx,offset a
add dx,bx
mov ah,9
int 21h
;换行
mov ah,02h
mov dl,0ah
int 21h
;定位到一个单词
add bx,7
loop s
mov ax,4c00h
int 21h
code ends
end start
支持楼上的回答!我想你的问题应该解决了吧!:lol: xiaosawanjava 发表于 2014-5-11 18:51
谢谢你的解答,还有一些问题。
Add ds,bx加的是什么?偏移地址不是要加si吗? xiaosawanjava 发表于 2014-5-11 18:51
谢谢你的解答,还有一些问题。
add ds,bx加的是什么?偏移地址不是要加si吗?直接加7能指向7个字节之后吗? 青玄 发表于 2014-5-11 19:36
支持楼上的回答!我想你的问题应该解决了吧!
大神,也请教你一个问题。我这个定义的a的空间是多大?还能往a里面插入第三组数据吗? 四象轮回 发表于 2014-5-12 09:29 static/image/common/back.gif
大神,也请教你一个问题。我这个定义的a的空间是多大?还能往a里面插入第三组数据吗?
你的空间的大小应该是12个字节的大小,可以往a里面插入第三组数据,不过代码也要相应的修改一下就行了! 青玄 发表于 2014-5-12 09:39
你的空间的大小应该是12个字节的大小,可以往a里面插入第三组数据,不过代码也要相应的修改一下就行了!
只是添加插入的代码,不用修改定义吗?如果我定义的这个字符串的空间只有12个字节大小,那就应该没有空间插入第三组数据啊。求修改定义。 四象轮回 发表于 2014-5-12 10:20 static/image/common/back.gif
只是添加插入的代码,不用修改定义吗?如果我定义的这个字符串的空间只有12个字节大小,那就应该没有空间 ...
恩恩,如果你想在a里面加入数据的话,那么就直接加是可以的,不过在代码索引的时候,要注意一下,如果想再开辟空间用代码插入的话,那也是可以的!比如开辟一个里面有数据的b,把b的数据放到a里面就实现了一个插入的操作! 青玄 发表于 2014-5-12 10:33
恩恩,如果你想在a里面加入数据的话,那么就直接加是可以的,不过在代码索引的时候,要注意一下,如果想再 ...
我再回去试一下,谢谢你!
页:
[1]