需要用到的指令✨✨
- 查看、修改CPU中寄存器的内容:R命令
- 查看内存中的内容:D命令
- 修改内存中的内容:E命令(可以写入数据、指令,在内存中,它们实际上没有区别)
- 将内存中的内容解释为机器指令和对应的汇编指令:U命令
- 执行CS:IP指向的内存单元处的指令:T命令
- 以汇编指令的形式向内存中写入指令:A命令
- 以下是汇编语言(第三版)实验一答案:
1. 使用Debug,将下面的程序段写入内存,逐条执行,观察每条指令执行后CPU中相关寄存器中内容的变化。
机器码 汇编指令
b8 20 4e mov ax,4e20H
05 16 14 add ax,1416H
bb 00 20 mov bx,2000H
01 d8 add ax,bx
89 c3 mov bx,ax
01 d8 add ax,bx
b8 1a oo mov ax,001AH
bb 26 oo mov bx,0026H
00 d8 add al,bl
o0 dc add ah,bl
oo c7 add bh,al
b4 0o mov ah,0
oo d8 add al,bl
04 9c add al,9CH
- 使用A命令按照习题输入,然后t命令运行
答:ip每次执行之后会加上数据长度
2. 将下面3条指令写入从2000:0开始的内存单元中,利用这3条指令计算2的8次方。
mov ax,1
add ax,ax
jmp 2000:0003
- 使用R命令将CS和IP改成2000和0
- 再用a命令写入
- t命令执行
- 最终结果为100,注意这里是16进制,十进制来说就是256
3. 查看内存中的内容。PC机主板上的 ROM中写有一个生产日期,在内存FFFOOH~FFFFFH 的某几个单元中,请找到这个生产日期并试图改变它。
- d命令查看内存单元
- e命令改变内存单元
- d命令查看被改动后的结果
答:无法改变,因为此区域空间属于ROM不可改写
4. 向内存从B8100H开始的单元中填写数据,如:-e B810:0000 01 01 02 02 03 03 04 04 ,请读者先填写不同的数据,观察产生的现象;再改变填写的地址,观察产生的现象。
- 使用e命令输入即可
答:在输入的过程中屏幕会发生变化(字体颜色,颜色块,各种符号…),因为地址8000H~9FFFH的8KB空间为显存地址空间,改变此段空间就会使屏幕显示发生变化。
完结
创作不易,还请各位小伙伴多多点赞👍关注✨收藏⭐