汇编问题7.9
源代码: 原题是把datasg段中前4个变成大写assume cs:codesg,ss:stacksg,ds:datasg
stacksg segment
dw 0,0,0,0,0,0,0,0
stacksg ends
datasg segment
db '1. display '
db '2. brows '
db '3. replace '
db '4. modify '
datasg ends
codesg segment
start: mov ax,stacksg
mov ss,ax
mov sp,16
mov ax,datasg
mov ds,ax
mov cx,4
mov bx,0
s0: push cx
mov si,0
mov cx,3
s: mov al,
and al, 10111111
inc si
loop s
add bx,16
pop cx
loop s0
mov ax,4c00h
int 21h
codesg ends
end start
帮我看看哪有问题 编译总是通不过
mov al, 你这句是把数据取出,
and al, 10111111 ,这里有两个错误 1是二进制数据,要加B 2 是字节第5位,不是第六位
还有 你只是取出了数据 ,取出来的数据进行了小写变大写,你并没有把整理好的数据放回原来的位置去
那我要是查看结果 怎么看呀 用 -d ds:0? 谢谢 科学发展观 发表于 2012-1-14 16:17 static/image/common/back.gif
用 -d ds:0?
一边T运行程序 一边D 命令查看内存
页:
[1]