实验五: 编写、调试具有多个段的程序

王爽汇编语言答案(本答案是自己做的 所有题目已在deubg中调试;但难免有差错,发现的提醒我 email:[email protected]  谢谢)

 

 

 

(1)

① 1931(一直保持不变,由于pc不同 答案有可能不一样)

②cs=1943       ss=1941    ds=1931   (由于pc不同,所以答案也可能不同,这只是机子上的数据)

第一空:X—2

  第二空:X—1 

(2) 

1.一直不变

2.答案不一样,就不写了

3.X-2,X-1

4.(N/16+1)*16  

(3)

1.一直不变

2.答案不一样

3.X+3,X+4

 

(4)

答:可能执行,如果不指明标号,cpu顺序执行指令,所有可能正确执行!!!!

(5)

;******************************************

;将a段和b段指的数据依次相加,将结果保存到c段中

;*******************************************

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 8 dup(0)

d ends

;*********************************

;代码段

;*********************************

code segment

start:

   mov ax,d

   mov es,ax

   mov ax,a

   mov ds,ax

   mov cx,8

   mov ax,0

   mov bx,0

again1:

   mov dx,ds:[bx]

   mov es:[ax],dx

   inc bx

   inc ax

loop again1

   mov ax,b

   mov ds,ax

   mov ax,0

   mov bx,0

   mov cx,8

   mov dx,0

again2:

   add dx,ds:[bx]

   mov es:[ax],dx

   inc ax

   inc bx

loop again2

   mov ax,4c00h

   int 21h

code ends

end start

(6)

;*****************************************************

;编写程序,用push指令将a段中的word数据,逆序存储到b段中

;******************************************************

assume cs:code 

a segment

  dw 1,2,3,4,5,6,7,8

a ends

b segment

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

b ends

code segment

start:

     mov ax,b

     mov ss,ax

     mov sp,10h

     mov ax,a

     mov ds,ax

     mov bx,0

     mov cx,8

s:   push [bx]

     add bx,2

     loop s

     mov ax,4c00h

     int 21h

code ends

end start

你可能感兴趣的:(王爽的汇编语言答案,汇编,email,语言,存储,c)