矛灬盾 发表于 2012-3-28 22:48:05

【课本P158---P159、问题7.9】上鸡出现问题,求解、、

问题7.9编程,将datasg段中的每个单词的前4个字母改为大写字母。
小甲鱼老师在视频中给出的完整程序为:
assume cs:codesg

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 bx,0
          mov cx,4
s0: push cx
      mov si,0
          mov cx,4
   s: mov al,
      and al,11011111b
      mov ,al
      inc si
   loop s
   add bx,16
   pop cx
   loop s0
   mov ax,4c00h
   int 21h
codesg ends
end start       
这个程序在编译连接时出现错误。。提示如下:
这是什么原因呢。。但在我吧程序改成下面后编译连接就正确了。。。
assume cs:codesg

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 bx,0
          mov cx,4
s0: push cx
      mov si,3
          mov cx,4
   s: mov al,
      and al,11011111b
      mov ,al
      inc si
   loop s
   add bx,16
   pop cx
   loop s0
   mov ax,4c00h
   int 21h
codesg ends
end start       

矛灬盾 发表于 2012-3-28 23:04:55

第一个程序编译连接时错误提示为:error A2270:instruction operands
我在想的是难道在masm中的形式是不可行的吗。。。求解。。:dizzy:

矛灬盾 发表于 2012-3-29 12:37:03

咋就没人回答呢。。。o(︶︿︶)o 唉、、
两个程序里面循环体s和s0里面的内存地址表现形式不一样。。求解。。。:Q:Q

付笑 发表于 2012-3-29 12:56:46

你好,顶贴赚币

矛灬盾 发表于 2012-3-29 16:30:04

付笑 发表于 2012-3-29 12:56 static/image/common/back.gif
你好,顶贴赚币

{:5_98:}不来这样的。。
页: [1]
查看完整版本: 【课本P158---P159、问题7.9】上鸡出现问题,求解、、