实验1 8086汇编指令编码和调试

实验任务2

C:\>debug
-d fff0:0 ff

 

-e ffff:0 00
-d fff0:0 ff

 

 

 结论:无法更改,C0000-FFFFF空间为各类rom地址空间,为只读。

 

 

实验任务3

 

-e b800:0 03 04 03 04 03 04 03 04 03 04

 

 

 

 

-f b800:0f00 0f9f 03 04

 

 

 

 

实验任务4

填空:2e 2c 2a 28 2a 2c 2e 30

问题1:逻辑地址0020:30   物理地址00230

问题2:

 

 

 问题3:

 

 

 问题4:数据有变化,存储顺序改变

 

 

 

 

实验任务5

问题1:未暂停;mov sp,30指令在mov ss,ax之后立刻执行。

问题2:IPCS寄存器初始地址为0020:002a 002b0020:002c 002d;随着数据存入该内存空间后,IP和CS寄存器的地址逐渐减小。

 

 

实验任务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, 0020h
    mov es, ax
    mov bx, 0
    mov cx, 17
s: mov al, [bx]
    mov es:[bx], al
    inc bx
    loop s

    mov ax,4c00H
    int 21H
code ends
end

第一空:根据程序第九行的mov al, [bx]判断除ds应该存储程序的起始位置的段地址,即cs;故将cs赋值给ax。

第二空:cx为循环次数,循环次数应为代码总长度减去mov ax,4c00H以后的代码长度;即cx-5; 代码总长度为001c, 故cx-5应为17

 

 

 

实验总结

1.8086CPU中,栈顶位于高地址,出栈后栈顶值-2。

2.不同指令在内存中占据不同字节数。

 

posted @ 2021-10-28 22:15  逢魔大伟  阅读(83)  评论(3编辑  收藏  举报