概述
检测点2.1
1)写出每条指令执行后相关寄存器中的值(用实验来检测)
mov ax,62627 AX = (F4A3H)
mov ah,31H AX = (31A3H)
注:将31H转入到ax的高位,而不是进行加减乘除,也不能进位
mov al,23H AX = (3123H)
add ax,ax AX = (6246H)
mov bx,826CH BX = (826CH)
mov cx,ax CX = (6246H)
mov ax,bx AX = (826CH)
add ax,bx AX = (04D8H)
mov al,bh AX = (0482H)
mov ah,bl AX = (6C82H)
add ah,ah AX = (D882H)
add al,6 AX = (D888H)
add al,al AX = (D810H)
mov ax,cx AX = (6246H)
2)只能使用目前学过的汇编指令,最多使用4条指令,编程计算2的4次方。
mov ax,2 AX = 2
add ax,ax AX = 4
add ax,ax AX = 8
add ax,ax AX = 16
检测点2.2
1)给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为(00010H)到(1000FH)。
2)有一数据存放在内存20000H单元中,现给定段地址为SA,若想用偏移地址寻到此单元。则AS应满足的条件是:最小为(1001H),最大为(2000H)。
如果段地址给定为最小值以下,最大值以上,则CPU无论怎么变化偏移地址都无法寻到2000H单元。
知识点:若想同时修改CS:IP的内容,可用形同jum 段地址:偏移地址的指令完成;若想修改IP的内容,可用形如jmp 某一合法寄存器。
检测点2.3
下面的3条指令执行后,CPU几次修改IP?都是在什么时候?最后IP中的值是多少?
mov ax,bx
sub ax,ax
jmp ax
CPU4次修改IP,第一次在读取mov ax,bx后,第二次在读取sub ax,ax后,第三次在读取jum ax后,第四次在执行jum ax后,最后IP的值是0000H
PS
8086CPU有4个寄存器,分别为AX,BX,CX,DX(16位寄存器),因为有高低位,所以又可以分为8个寄存器来使用
操作命令
执行CS:IP指向的内存单元处的指令:T
查看寄存器:R
查看内存:D
修改内存内容:E
以汇编的形式写入内存:A
课后题:
1.往10000H处写指令
执行ax等于3,bx是ax的2倍,cx是bx的2倍。
遇到的问题:
(听大神说00这段空间不稳定,稳定区间00200到002FF,然后我换了一个区间就好了)
最后
以上就是坚定犀牛为你收集整理的汇编语言第二章检测题的全部内容,希望文章能够帮你解决汇编语言第二章检测题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复