第一题
运行截图如下
答案如下
第二题
运行截图如下
答案如下
第三题
运行截图如下
答案如下
第四题
第一二两题中的代码不能运行,出现如下情况
但第三题可以正常执行,没有区别
第五题
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
c1 segment ; 在集成软件环境中,请将此处的段名称由c→改为c1或其它名称
db 8 dup(0)
c1 ends ; 改的时候要成对一起修改
code segment
start:
;?
mov ax,a
mov ds,ax
mov ax,b
mov ss,ax
mov ax,c1
mov es,ax
mov bx,0
mov cx,8
s: mov ax,ds:[bx]
add ax,ss:[bx]
mov es:[bx],ax
add bx,1
loop s
mov ax,4c00h
int 21h
code ends
end start
相加前的c:
相加后的c:
第六题
额,这个栈逆序容我再研究研究,masm编译有错,先贴个半成品,把思路摆出来
最后是注意点
dosbox里面用masm和link的时候,都可以像 “ masm t1; ” 这样把文件后缀名省掉,不过在debug的时候,像 “ debug t1 ” 就会出错(如下图,提示什么“ extend error 2 ”),必须把“ .exe ”的后缀名带上才行