tangqy 发表于 2012-1-29 11:49:01

汇编语言实验5(5)

本帖最后由 tangqy 于 2012-1-29 11:53 编辑

实验五第(5)题,我写代码如下:
*********************************************************************
assume cs:code
   a segment
   db 1,2,3,4,5,6,7,8
   a ends
   b segment
   db 1,2,3,4,5,6,7,8
   b ends
    d segment
   db 0,0,0,0,0,0,0,0
   d ends
   code segment
    start: mov ax,a
            mov ds,ax         ;定义A段地址
            mov ax,d
            mov es,ax         ;定义c段地址
            mov bx,0            ;BX=0
            mov cx,8            ;循环8次
          s:mov al,ds:
            mov es:,al
            inc bx
            loop s               ;依次将A段数据移入C段
            mov ax,b
            mov ds,ax         ;定义B段地址
            mov ax,d
            mov es,ax         ;定义C段地址
            mov bx,0            ;BX=0
            mov cx,8            ;循环8次
         s0:mov al,ds:
            add es:,al
            inc bx
            loop s0            ;依次将B段数据加入C段
            mov ax,4c00h
            int 21h
   code ends
   end start
******************************************************************************
按上述代码,运行后结果是正确的,可是我有个疑问,就是书上原本三个段分别是A、B、C,而如果我按A,B,C设定,编译时是报C段错误的,我常试将C段改成D段,就OK了,想知道这是为什么??难道第三个段以C开头命名,编译器会把它与CODE混淆???

Seely 发表于 2012-1-29 20:47:05

“c”是MASM的保留字符,不能用

祭~魔鬼洛特巴尔 发表于 2012-1-30 09:15:40

这个当然要支持

tangqy 发表于 2012-1-30 22:54:30

Seely 发表于 2012-1-29 20:47 static/image/common/back.gif
“c”是MASM的保留字符,不能用

但书上用的确实是C,这个小甲鱼没有讲,难道是忘记了?;P

假装青帮人 发表于 2012-7-23 22:39:08

我去,调了几个小时了,还以为是我64位机的问题,坑爹啊!!!!!!!!!!!!!!!!!

lukelqz 发表于 2012-7-24 09:28:51

Seely 发表于 2012-1-29 20:47 static/image/common/back.gif
“c”是MASM的保留字符,不能用

masm 5.0可以编译 6.15不能编译 书上用的是5.0 所以c可以用的

lukelqz 发表于 2012-7-24 09:31:33

6.15masm的c是有特殊用途的,不能用。5.0的masm就可以用了。编译可以通过
页: [1]
查看完整版本: 汇编语言实验5(5)