任务2
不能修改,只读存储器只能够读,不能够改写。
任务3
任务4
-a
mov ax, 20
mov ds, ax
mov ss, ax
mov sp, 30
push [0] ; 执行后,寄存器(sp) = 002E
push [2] ; 执行后,寄存器(sp) = 002C
push [4] ; 执行后,寄存器(sp) = 002A
push [6] ; 执行后,寄存器(sp) = 0028
pop [6] ; 执行后,寄存器(sp) = 002A
pop [4] ; 执行后,寄存器(sp) = 002C
pop [2] ; 执行后,寄存器(sp) = 002E
pop [0] ; 执行后,寄存器(sp) = 0030
问题1:逻辑地址和物理地址分别是0020:0030,00230H
问题2:
问题3:
问题4:
任务5:
问题1:没有暂停,mov sp,30 在mov ss,ax后跟着执行了。
问题2:进栈时遵守后进先出原则且低位在前。
任务6
assume cs:code code segment start: mov cx, 10 mov dl, '0' s: mov ah, 2 int 21h add dl, 1 loop s mov ah,4ch int 21h code ends end start
任务7
assume cs:code code segment mov ax,cs mov ds,ax mov ax,20h mov es,ax mov bx,0 mov cx,23 s: mov al,[bx] mov es:[bx],al inc bx loop s mov ax,4c00h int 21h code ends end
第一空填cs,将程序段首地址信息送入段寄存器ds中。第二空的数字即复制字节的循环次数,使用debug调试程序知被复制代码的长度为23字节,因此填23。