这段代码哪里错了
本帖最后由 weixianlang 于 2011-8-1 11:30 编辑assume cs:codesg,ds:datasg,ss:stacksg
datasg segment
db '1. display '
db '2. brows '
db '3. replace '
db '4. modify '
datasg ends
stacksg segment
dw 0,0,0,0,0,0,0,0 ;用来做栈,容量为16字节
stacksg ends
codesg segment
start: mov ax,datasg
mov ds,ax
mov bx,0
mov cx,5
S: push cx
mov bx,0
mov cx,4
S0: mov al,
and al, 11011111b
mov ,al
int si
loop s0
add bx,16
pop cx
loop s
mov ax,4c00h
int 21h
codesg ends
end start
找到了,
inc 写成 int了 本帖最后由 ??? 于 2011-7-26 21:09 编辑
为什么运行后会是这种结果啊,一楼的代码哪里错了啊
而不是这种结果 感觉你第一行已经把ds和datasg挂钩了,后来又加上了mov ax,datasg
mov ds,ax有点多余。。。 我运行下来是正确的
根据你的提示,int=>inc,,,,,
重复定义mov bx,0
第二个我改成了mov si,0 这里是运行后的截图 学基础 发表于 2011-7-27 00:25 static/image/common/back.gif
我运行下来是正确的
根据你的提示,int=>inc,,,,,
重复定义mov bx,0
是的,都给定义成行了,没有定义列,谢谢 哎呀
忙啊
时间 不够学习
看不懂 codesg segment
start: mov ax,datasg
mov ds,ax ;初始化
mov bx,0 ;bx定位行
mov cx,5
S: push cx
mov bx,0 ;这里加个mov si,0重新定位列可好?
mov cx,4
S0: mov al,
and al, 11011111b ;转换
mov ,al
inc si ;增加si
loop s0 ;完成转换
add bx,16 ;索引下一行
pop cx
loop s
mov ax,4c00h
int 21h
codesg ends
end start没有重新索引列吧?
页:
[1]