注册 登录
编程论坛 汇编论坛

汇编语言第6章检测点

admin_xyz 发布于 2012-07-01 14:43, 559 次点击
程序代码:
assume cs:code,ds:a,ss:b

a segment

    dw 1,2,3,4,5,6,7,8,9,0ah,0bh,0ch,0dh,0eh,0fh,0ffh

a ends

b segment

    dw 0,0,0,0,0,0,0,0

b ends

code segment

start:

;程序实现用push指令将a段的前八个字型数据逆序存储到b段

    mov ax,a
    mov ds,a

    mov ax,b
    mov ss,b
    mov sp, 16   


    mov bx, 0
    mov cx, 8
   

s:
;-----------------------------------------------------------
    mov al, [bx]
    mov ah, [bx+1]

    push ax
    inc bx

;这段出错了,我找不出原因...

;-------------------------------------------------------------
loop s

    mov ax,4c00h
    int 21h

code ends

end start
4 回复
#2
zklhp2012-07-01 15:07
报的什么错你为啥不一块说了呢

你懒我更懒
#3
admin_xyz2012-07-01 18:16
  *.asm(22):error A2056 Immediate mode illegal
            *.asm(25):error A2056 Immediate mode illegal
            

2 severe Errors
#4
admin_xyz2012-07-01 18:19
额.版主.....找到毛病了...   
    mov ax,a
    mov ds,a        写成a了...
    mov ax,b
    mov ss,b

大意了...下次不能听歌写程序了...
#5
wenbin1682012-07-06 14:23
mov ss,b应该是mov ss,ax;
还有inc bx应该改成add bx,2才对吧
1