鱼C论坛

 找回密码
 立即注册
查看: 2973|回复: 5

汇编问题7.9

[复制链接]
发表于 2012-1-14 15:51:12 | 显示全部楼层 |阅读模式
5鱼币
源代码:                                                    原题是把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,[bx+3+si]
       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位,不是第六位 还有 你只是取出了数据 ,取出来的数据进行了小写变大写,你并没有把整理好的数据放回原来的位置去
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-14 15:51:13 | 显示全部楼层
    mov al,[bx+3+si]   你这句是把数据取出,
       and al, 10111111 ,这里有两个错误 1是二进制数据,要加B 2 是字节第5位,不是第六位
还有 你只是取出了数据 ,取出来的数据进行了小写变大写,你并没有把整理好的数据放回原来的位置去
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-1-14 16:17:18 | 显示全部楼层
那我要是查看结果 怎么看呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-1-14 16:17:45 | 显示全部楼层
用 -d ds:0?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-1-14 16:27:26 | 显示全部楼层
谢谢                        
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-1-14 16:29:15 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-8 18:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表