鱼C论坛

 找回密码
 立即注册
查看: 2753|回复: 4

实验6 实践课程中的程序

[复制链接]
发表于 2012-12-18 22:14:53 | 显示全部楼层 |阅读模式
1鱼币
实验6 实践课程中的程序
(2)编程,完成问题7.9中的程序。
(编程,将datasg段中每个单词的前4个字母改为大写字母。)
assume cs:codesg,ds:datasg,ss:stacksg
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,datasg
       mov ds,ax
       mov bx,0
       mov ax,stacksg
       mov ss,ax
       mov sp,16
       mov cx,4
   gg: push cx
       mov si,3   ;在这我直接每次将SI定在"第四列",便于以后在下面就不用[bx+si+iDATA]  把这个常量直接去掉
       mov cx,4
    g: mov al,[bx+si]
       and al,11011111b
       mov [bx+si],al
       inc si
       loop g
       add bx,16
       pop cx
       loop gg
       mov ax,4c00h
       int 21h
codesg ends
end start
  这个程序我用DEBUG调试,中间有点问题,只过了两个外循环,就显示调试出错,我感觉这样子写也可以,想请大虾帮我看一下这样写可以不.
还有就是在写循环的时候比如:
a1:?????
   ????
a2:????
   ????
   ???
   loop a2
   
   ???
   loop a1
这样写的循环为啥不行,难道是标识名不能加数字嘛?请教高手????为什么标识不能加数字进去?  谢谢

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-12-19 22:06:28 | 显示全部楼层
用你的代码调试了一下是正确的啊,标识名第一个 必须是字母,不能是数字,也不能是特殊符号单独作为标识名。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-4-24 18:09:01 | 显示全部楼层
来看看呵呵
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-8-29 10:23:38 | 显示全部楼层
看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2016-1-12 10:54:17 | 显示全部楼层
改成mov al, byte ptr [bx+si],说明是字节,不懂为什么要在说明是字节,感觉al不是已经说明传进去是字节么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-27 01:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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