萝卜白菜 发表于 2011-10-21 20:08:31

masm不识立即数

关于平p146我照抄小甲鱼老师的程序是这样的
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,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,1101111b
   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,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,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,1101111b
   mov ,al
   inc si
   loop s
   add bx,16
   pop cx
   loop s0
   
   mov ax,4c00h
   int 21h
codesg ends
end start
请各位大虾帮忙指点指点哈

萝卜白菜 发表于 2011-10-21 20:10:04

哦不好意思第二个程序打错啦是这样的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,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,1101111b
          mov ,al
          inc si
          loop s
          add bx,16
          pop cx
          loop s0
          
          mov ax,4c00h
          int 21h
codesg ends
end start

萝卜白菜 发表于 2011-10-21 20:11:20

还有一个程序无法编译求助找不到错误
assume cs:codesg ds:detasg

datasg segment
db 'ibm             '
db 'dec             '
db 'dos             '
db 'vax             '
datasg ends
codesg segment
start:mov ax,codesg
      mov cs,ax
          mov ax,datasg
       mov ds,ax
       mov bx,0
           mov cx,4
s0:           mov dx,cx
       mov si,0
       mov cx,3
s:   mov al,
       and al,11011111b
       mov ,al
       inc si
       loop s
           add bx,16
           mov cx,dx
           loop s0
codesg ends
end start

cyht33 发表于 2011-10-22 13:50:53

能不能把你报错截图来看一下哇,我用你上面的代码编译没有发现错误哇

萝卜白菜 发表于 2011-10-22 20:02:23

页: [1]
查看完整版本: masm不识立即数