汇编语言第二章检测题

检测点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,然后我换了一个区间就好了)

 

转载于:https://www.cnblogs.com/KogetsuChida/p/10399784.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值