ー殇ヘ゛主演 发表于 2012-4-13 22:06:25

zenm hui shi

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

int 4c00h
codesg ends
end start
用cmd翻译出现错误error A4910:cannot open file:D:\try\ml.err
1.asm<26>:error A2024

千里婵娟 发表于 2012-4-13 22:06:26

    没弄懂你这程序的意思,不过知道你代码倒数第三行是错的,int后面接的中断类型码的范围是0~127,你这里的意思应该是要返回到dos中,正确的代码为 mov ax,4c00h   int 21h.这样编译没错误,不过运行似乎没结果。。

Zero_One 发表于 2012-4-14 15:43:57

assume cs:codesg,ds:datasg
   datasg segment
    db'1bm             '
    db'dec             '
    db'dos             '
    db'vax             '
    datasg ends
    codesg segment
    start:mov ax,datasg
          mov ds,ax
    mov bx,0
    mov cx,4
    s0:mov si,0   这个后面的CX覆盖了上一级的循环,加上一句MOV DX,CX暂存
       mov cx,3
   s:mov al,
       and al,11011111b
       mov ,al
   
       inc si
   
       loop s
   
      add bx,16(这里在把dx,的值返给cx
      loop s0
   
   int 4c00h(这里 mov ax,4c00h   int21h
   codesg ends
   end start
就这么个吧

ー殇ヘ゛主演 发表于 2012-4-16 23:08:04

Zero_One 发表于 2012-4-14 15:43 static/image/common/back.gif
就这么个吧

我说嘛怎么回事原来是我自己马虎了。。。。。

ー殇ヘ゛主演 发表于 2012-4-16 23:09:04

千里婵娟 发表于 2012-4-14 00:47 static/image/common/back.gif
没弄懂你这程序的意思,不过知道你代码倒数第三行是错的,int后面接的中断类型码的范围是0~127,你这里 ...

我说嘛怎么回事原来是我自己马虎了。。。。。
页: [1]
查看完整版本: zenm hui shi