王爽汇编语言答案(本答案是自己做的 所有题目已在deubg中调试;但难免有差错,发现的提醒我 email:maokaijiang1211@163.com 谢谢)
(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