根据王爽汇编实验五第六题改的题目,求解答!

assumecs:codeasegmentdb1,2,3,4,5,6,7,8,0ah,0bh,0ch,0dh,0eh,0fh,0ffhaendsbsegmentdb0,0... assume cs:code
a segment

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

a ends

b segment

db 0,0,0,0,0,0,0,0

b ends

code segment

start:mov ax,a
mov ds,ax
mov ax,b
mov ss,ax
mov sp,8
mov bx,0
mov cx,8
s:mov dl,ds:[bx]
push dl
inc bx
loop s
mov ax,4c00h
int 21h
//这是我自己写的代码,可是有错误,需要怎么改哦?

code ends
end start
展开
 我来答
283802332
2012-09-23 · TA获得超过3309个赞
知道小有建树答主
回答量:367
采纳率:0%
帮助的人:170万
展开全部

  首先,纠正楼主你的错误

  • 8006CPU的入栈和出栈操作都是以字为单位进行的(主要)

  • p136 (6) 编写code段中的代码,用push指令将a段中的前8个字型数据,逆序存储到b段中(亲,你看错题目了吧,8个字型数据哦)

 

  • 所以程序应该是这样的

 

  assume cs:code

       a segment 

          dw 1,2,3,4,5,6,7,8,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:mov ax,a 

          mov ds,ax

          mov ax,b

          mov ss,ax

          mov sp,10H          ;改了这里

          mov bx,0

          mov cx,8

          s:mov dx,ds:[bx]         ;改了这里

          push dx          ;改了这里

          add bx,2         ;改了这里

          loop s

          mov ax,4c00h

          int 21h

  code ends

       end start 

 

        PS:若有不明白的地方,可以追问

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式