任务2:
-e 无法修改该内存单元的内容 原因:这是ROM的地址空间,内容不会被改变
任务3:
-f b800:0030 0f10 03 04
任务4:
填空:
-a mov ax, 20 mov ds, ax mov ss, ax mov sp, 30 push [0] ; 执行后,寄存器(sp) = _2E_ push [2] ; 执行后,寄存器(sp) = _2C_ push [4] ; 执行后,寄存器(sp) = _2A_ push [6] ; 执行后,寄存器(sp) = _28_ pop [6] ; 执行后,寄存器(sp) = _2A_ pop [4] ; 执行后,寄存器(sp) = _2C_ pop [2] ; 执行后,寄存器(sp) = _2E_ pop [0] ; 执行后,寄存器(sp) = _30_
问题1:
逻辑地址:ss: sp 物理地址: 0020: 0030
问题2:
问题3:
无变化
问题4:
有变化
任务5:
问题1:是,下一次t命令执行
问题2:该值的变化是因为中断保护现场留下的指令寄存器的信息
任务6:
1.
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
2.
3.是CD 20
任务7:
1.补全代码
1 assume cs:code 2 code segment 3 start: 4 mov ax, 076Ah//程序的CS:IP初始值为076A: 0 所以让ds也从076A开始 5 mov ds, ax 6 mov ax, 0020h 7 mov es, ax 8 mov bx, 0 9 mov cx, 24//mov ax, 4c00h之前的代码为有18h即24个字节 10 s: mov al, [bx] 11 mov es:[bx], al 12 inc bx 13 loop s 14 15 mov ax, 4c00h 16 int 21h 17 code ends 18 end start
2.